The mistake of overgeneralizing “just do it”
"Don't think about it; just do it!"
People who say that usually encourage their audience to start implementing their raw idea immediately, without spending time on upfront planning and instead adapt along the way. Some people even promote this idea for projects, especially those run in startups.
This advice may be correct in some cases, but not always. Generalizing it is incorrect and can end up causing disasters.
When should we "just do it" and when should we take our time to plan and design before starting something?
The balance
The superficial trends may picture it as whether or not you need to plan and design upfront, but the reality is different: we must ALWAYS plan and design upfront; the real question is how much.
Here are a few criteria we should consider when deciding how much to plan and design upfront:
- How much adaptation is possible in the future? Can we cancel and go back to the starting point if needed?
- How difficult, expensive, time-consuming, and risky is it to change course midway?
- Are there any types of information we can only collect along the way, or is it possible to know and consider those things now?
- How sensitive are our actions in this context? Are we endangering lives or vast amounts of money?
- Etc.
The method
Usually, the "just do it" concept comes up in the context of a program rather than a project, although many programs are mislabeled as projects.
So, this is how a program should work according to P4.express:
- You're not allowed to start the program until you have at least one viable scenario for it.
- Preferably, you want to have more than one scenario so that you can switch among them when needed.
- A P4.express scenario is a combination of the following two:
- An end-to-end solution: It's a solution that includes everything that impacts the ultimate outcome and we can reasonably control. It should include both the enabling and sustaining of the outcome.
- The imaginary reactions of the environment: The way the solution performs completely depends on its environment. The reaction is not obvious and not easy to predict, so we must make it explicit and manage it alongside the solution.
- We don't design scenarios in P4.express, but only ideate them. This high-level contemplation is enough at the beginning, and then the projects that will be run underneath the program will design different aspects of the solution in detail.
Where does the idea come from?
The "just do it" idea in this context comes from the extremists in the Agile community who believe that all types of upfront planning and design are evil, and such heresy should be punished by death!
That idea is not correct, as all Agile methods have upfront planning. They just don't have "detailed" upfront planning. As DSDM, which is one of the oldest Agile methods, puts it, having "too much planning upfront" and "no planning upfront" are both dangerous, and we should have "enough planning upfront".
In reality, it was the cult-like context of Scrum, which relied on creating the illusion of an external enemy, that considered all best practices of established project management as evil. That's the case, even though Scrum itself has upfront planning!
Anyway... Agile was getting too old, and now we have the next toy, AI, so everyone who loves hypes has jumped ship, causing the death of the Agile hype. However, the sensation before that death was that everything in the Agile world is cool, and everything from the established project management world is boring. So, many people repeated the "just do it" concept (in one form or another) because it still seems cool to them, not because they strongly believed in it. After all, we all have examples of when we would recommend someone "just do it" and times when we would recommend someone not to take their time, be careful, and contemplate more.
So, please don't repeat claims like this in a general sense because it can be very harmful.
— the end —