Being a career long engineer, I'm not unaccustomed to breaking down huge projects into smaller things that can be parallelized, plotted in time, etc. We have to do it and get better at it.
But honestly, I think what holds most of us back is a better ability to just don't do that. Take that thing you want to make, and instead of planning out all the pieces, just make the tiniest possible thing that could possibly be of value. Using this example, just start with "Today" and the 4 buttons. Make a thing that shows your 4 buttons of exercise you will click on each day. You can probably make that today. No streaks or freezes or calendar view. Those are all great ideas, and you'll get to them. But you need momentum. And you'll probably decide you don't even like that calendar view in a few days. I think more projects need a kick in the pants of just do something small. Get it done today. See what the next task is from that point because it's probably not what you thought it ought to be during the planning phase.
This also isn't exactly easy either. It requires some thought and discipline and find the smallest thing and commit to shipping it without distraction. But it's also something good to practice at.
OMG, I love that you put Frozen 2 and princess Anna and a song onto this. Thank you for this coinage. I will absolutely be using this now. Please write a blog post on your coinage of this so that we all here can link to that and give you some credit. I'm serious. I looked up The Anna Principle and I wanted to see your blog on this.
"Do the next right thing" was a phrased used by Alcoholics Anonymous long before that 2019 movie came out, so I don't think calling it "The Anna Principle" is appropriate.
I didn't know this! That just makes me appreciate this more, and thank you for making me aware of it.
But thinking of it as "The Anna Principle", named after a character from a children's movie, remains way more fun. It was already a tongue-in-cheek-ism to ascribe what I really do believe is a strong foundational idea (not just in project planning, but in life) to a character in a children's movie.
By the way, I tracked this back to at least one earlier use of a similar construction (which maybe is implied to be the basis of its use in AA) by Carl Jung:
> But if you do with conviction the next and most necessary thing, you are always doing something meaningful and intended by fate.
One thing that works for parallelization in these unsecure situations are things that you know you'll surely need. This even might just involve testing things. E.g. on member developes a comparison method for testing, another member goes for one approach, another for the other and a third for yet another. And after a set period you try to evaluate everything. Of course this approach only makes sense when there isn't already a favoured or clearly superior approach.
Similarily during actual development modularization can be a way to parallelize development. So one component per person or per team.
For my own stuff I also like to interleave the human-facing parts of my products with the technological guts, especially if I am still figuring things out — developing the technology without knowing how it is being used will force the way you can use it into a certain direction — designing the interface without knowing the technology has it's own traps as well.
Yes, definitely thought of that way most of the time. But I also think that might actually trivialize this concept some. Because one might say "ok, here's the crappy MVP version, and now that we're out of that one month phase everything after requires very rigorous and careful planning and meetings". I think most projects actually need to just stay in MVP mode. The entire project or product will be forever in a place of high uncertainty. Every feature should feel like it was the minimum we could do.
I'm actually not saying every project needs this of course, but I think maybe most might? Obviously there's huge things I've been apart of, and we needed to be thorough planning step by step months out. But that experience should probably be the exception and not the rule. Minimums the rule.
Absolutely. I mean, yes, there's those moments where you need to plan your retirement and you better think 40-50-60 years out. But most of the time, just do the next 5 minute thing and see what happens. I've been getting a lot better recently about just coming up with 3 "quests" I'm going to do today that probably take 5 minutes. And that little progress has kept building and building into something I didn't really see months ago when I started that first 5 minute step.
But honestly, I think what holds most of us back is a better ability to just don't do that. Take that thing you want to make, and instead of planning out all the pieces, just make the tiniest possible thing that could possibly be of value. Using this example, just start with "Today" and the 4 buttons. Make a thing that shows your 4 buttons of exercise you will click on each day. You can probably make that today. No streaks or freezes or calendar view. Those are all great ideas, and you'll get to them. But you need momentum. And you'll probably decide you don't even like that calendar view in a few days. I think more projects need a kick in the pants of just do something small. Get it done today. See what the next task is from that point because it's probably not what you thought it ought to be during the planning phase.
This also isn't exactly easy either. It requires some thought and discipline and find the smallest thing and commit to shipping it without distraction. But it's also something good to practice at.