No plan of operations extends with certainty beyond the first encounter with the enemy’s main strength
Which means that you should construct a thorough and high-quality plan, but that plan must be immediately and constantly adjusted.
Software projects can be really painful it the project plan is never altered. People don’t like doing it. I suspect it’s because making project plans is difficult and time-consuming. Updating and changing it is admitting initial plan was somehow wrong.
Or maybe managers are terrified by the thought of constantly changing how we’re working.
Or maybe we feel like it’s a waste of time. We’ve got a plan, let’s follow the damn thing and finish up.
Or maybe it’s panic. The more time we spend planning, the less time we have to finish the work.
Updating the project plan isn’t wasteful, nor is it an admission of failure. It’s reality. With something as hard to predict as software, we should expect that our initial plan won’t line up with what’s happening.
Don’t get me wrong. It’s critical to have a plan. Just remember that it should change. Constantly.