“Planning is everything. Plans are nothing.”
—Field Marshal Helmuth Graf von Moltke
Estimating and planning are critical to the success of any software development project of any size or consequence. Plans guide our investment decisions: We might initiate a specific project if we estimate it to take six months and ¤1 million but would reject the same project if we thought it would take two years and ¤4 million. Plans help us know who needs to be available to work on a project during a given period. Plans help us know if a project is on track to deliver the functionality that users need and expect. Without plans we open our projects to any number of problems.
Yet planning is difficult, and plans are often ...