Why do we need project planning?
If our goal as engineering managers is to deliver working software, not plans, we may question why we should bother with plans at all. Fundamentally, the purpose of planning is to reduce risk during project delivery. Without plans, we face significant risks of misalignment, miscommunication, and rework. Plans help us to avoid situations where team members have differing understandings of goals, constraints, and expectations. They help us to avoid wasted effort from misunderstanding what to deliver in what sequence.
Plans allow us to think through objectives beforehand in the hope of being prepared for delivery. Plans are useful when they preempt conflict, direct efforts in harmony, and align expectations. Plans are not useful when they waste valuable build time or provide a false sense of security, for example, by missing unknown unknowns.
Given the understanding that plans have useful features but are not foolproof, we can judge that they are...