The following sanity check indicates how useful your current project estimate is likely to be in managing your project. For each Yes answer, give the estimate one point.
1. Was a standardized procedure used to create the estimate?
2. Was the estimation process free from pressure that would bias the results?
3. If the estimate was negotiated, were only the inputs to the estimate negotiated, not the outputs or the estimation process itself?
4. Is the estimate expressed with precision that matches its accuracy? (For example, is the estimate expressed as a range or coarse number if it’s early in the project?)
5. Was the estimate created using multiple techniques that converged to similar results?
6. Is the productivity assumption underlying the estimate comparable to productivity actually experienced on past projects of similar sizes?
7. Is the estimated schedule at least 2.0 x StaffMonths1/3? (That is, is the estimate outside of the Impossible Zone?)
8. Were the people who are going to do the work involved in creating the estimate?
9. Has the estimate been reviewed by an expert estimator?
10. Does the estimate include a nonzero allowance for the impact that project risks will have on effort and schedule?
11. Is the estimate part of a series of estimates that will become more accurate as the project moves into the narrow part of the cone of uncertainty?
12. Are all elements of the project included in the estimate, including creation of setup program, creation of data conversion utilities, cutover from old system to new system, etc.?
This Estimate Sanity Check is from Software Estimation by Steve McConnell (Microsoft Press, 2006)
Scores of 10-12 indicate estimates that should be highly accurate.
Scores of 7-9 indicate estimates that are good enough to provide project guidance but that are probably optimistic.
Scores of 6 or below indicate estimates that are subject to significant bias, optimism, or both, and are not accurate enough to provide meaningful guidance to managing a project.