Estimating software projects honestly
Why a single number is never enough, and how we talk about budget with clients.
Giving one number for work that is not yet defined is a lie in both directions. The supplier knows the figure is unlikely to hold; the client hears a final price.
What we do instead is separate the parts that are already clear from the parts that are not. The first can be fixed-price. The second is a range, with the factors that move it named explicitly.
The most common cause of overrun is not technical difficulty. It is waiting for approvals, waiting for data from another department, and scope changing mid-flight. All three belong in the proposal, not in a retrospective.
We break delivery into stages with agreed acceptance checkpoints, so both sides see real progress and can change direction before it is expensive to do so.
When scope does change, we issue a separate quote stating the schedule impact rather than quietly absorbing it and delivering late.
This makes our proposals look more complicated than a competitor quoting a single figure. Clients who have lived through an overrun tend to understand why immediately.
