I'm tired. I'm tired of hearing "Waterfall" lobbed around like a grenade that causes perma-death to any project that uses it. Waterfall isn't the opposite of Agile folks. Waterfall is:
I can think of plenty of high risk, low complexity projects that benefit from using a Waterfall lifecycle. It just happens that software development is typically high risks, high complexity, and high unknowns at project initiation.
The reaction to the extreme of making a plan at the beginning and following it strictly usually tilts to another extreme; giving no time for up-front anything.
"Some observers describe this approach as, “walking down the road in the fog.” We plan in detail what we can see clearly: the next several weeks. As we execute this plan, more of the road becomes visible. Now we can do more planning. Everything is done with a plan, but this is not a plan created in one large batch at the beginning of the project. It is plan created in small batches, with fresh information, and benefiting from knowledge acquired along the way." (Donald G Reinertsen, The Principles of Product Development Flow)
The benefit of doing some planning before a project starts is when replanning there is a baseline to compare against. I like to replan anywhere between weekly and monthly depending on scope and risk.
I only update my plan as far as I can see down the road. If a major blocker or problem happens, there will be ripple effects through the entire project. By having an initial baseline I can try to find opportunities to make up time in a schedule.
When I advocate for up front planning I'm not trying to convince you to break down all the work up front into each specific work task. I'm suggesting starting with some broad known milestones:
Once work gets rolling it'll be easy to adjust the broad strokes, and fill the details in between.
"Plans fail because of what we have called tunneling, the neglect of sources of uncertainty outside the plan itself." (Nassim Nicholas Taleb, The Black Swan)
As work progresses, risks identified up front will either become problems, or go away. There will also be new risks. Don't forget to keep an eye out for what else is going on and adjust to clear the path for the team.
Setting some milestones, identifying risks, figuring out a basic schedule. This isn't "Waterfall" it's good project management. If my job includes telling stakeholders when something will be Done; I'll feel better with some planning.
"In preparing for battle I have always found that plans are useless, but planning is indispensable. -- Dwight D. Eisenhower" (Dave Gray;Sunni Brown;James Macanufo, Gamestorming)