Esther Schindler writes: Software project management is full of “Let’s pretend.” Let’s pretend we can write a full schedule before we know the requirements; let’s pretend we can estimate how long it will take to solve this unsolved problem; let’s pretend we can predict schedules to the hour or half day, two years in advance

...In any case, people come out of the planning meeting with their initial enthusiasm quenched in the certainty that what was just a stake in the ground on Friday afternoon will be The Plan of Record on Monday morning. And they foresee a significant part of their future will include heroics to meet a schedule date, and endless negotiations to change The Plan as reality impinges upon it. The Plan of Record, the development team is sure, will run into the Two Ineluctable Facts of Project Planning:

1. If you don’t know what you’re going to build, you can’t know how long it will take to build it.

2. You only really know what you’re going to build when you finish it.