Chronological Estimation Flow for an Entire Project

16.3 Chronological Estimation Flow for an Entire Project

Because of the Cone of Uncertainty, most projects will benefit from being reestimated several times. Estimates created in the later days of a project can be more accurate than estimates created earlier. Project plans and controls can then be tightened up when the project is reestimated with better accuracy.

Tip #71 


Reestimation does not consist of simply doing the same estimation work again. It consists of converting to more accurate approaches as the project progresses. Figure summarizes the most useful kinds of techniques for estimating at various points in a project for common kinds of projects.

Image from book
Figure: Summary of applicability of different estimation techniques by kind of project and project phase.

Estimation Flow for Large Projects

Very early in a large project, counting won't be available, so you'll be using algorithms, software tools, and other macro techniques. You can still improve those early estimates with group reviews and by using multiple approaches.

As you move into later stages of a large project, you can move to more accurate, historical-data—based counting approaches and more toward micro techniques such as bottom-up task estimation, which will produce more accurate estimates (Symons 1991).

Tip #72 

Change from less accurate to more accurate estimation approaches as you work your way through a project.

Estimation Flow for Small Projects

Small projects estimate from the beginning the same ways that larger projects estimate at the end. As soon as you know the specific people who will be working on your project and can start handing out specific task assignments (or work packages), it's time to switch from large-grain algorithmic approaches to bottom-up approaches based on individuals estimating their own assignments. On a small project, that might be on Day 1. On a large project, that can be several months into the project.

Tip #73 

When you are ready to hand out specific development task assignments, switch to bottom-up estimation.

 Python   SQL   Java   php   Perl 
 game development   web development   internet   *nix   graphics   hardware 
 telecommunications   C++ 
 Flash   Active Directory   Windows