logotyp

Preface

As we move from process discovery to project planning and implementation, the additional time for documentation and analysis culminates with Playback 0.

Playback 0 is accompanied by a budgetary estimate with improved precision and accuracy to a level of detail that we use to charter a project team and start planning for implementation. After process implementation (a project) starts, we use a refined detailed estimate after each iteration for planning future iterations, scheduling resources, and managing cost.

Use these different estimating techniques to provide project stakeholders an appropriate level of precision and accuracy to make educated decisions related to scope and budget throughout the project lifecycle from process inventory until process deployment.

Using the cone of uncertainty to understand project estimation

The different estimating techniques presented in this chapter gradually improve in both accuracy and precision, thus reducing the cone of uncertainty as more process information is collected and understood during the project. The cone of uncertainty, as explained in Software Project Survival Guide, by McConnel and Software Estimation: Demystifying the Black Art by McConnel, is a core project management concept and central to agile software development. The key is to recognize that we can express an estimate only to a level of precision that correlates with the level of detail in the information available.

It is for this reason that, early in a process lifecycle, we can estimate only the process in terms of a low, medium, or high complexity ROM. As we learn more, we can better assess the scope in terms of man-weeks with a budgetary estimate based on projected process elements. When starting implementation, we further refine the estimate in user story points for planning iteration and release cadences. It might not be until a few iterations are completed that we can accurately estimate the remaining work in man-hours of development effort. It is imperative that decisions do not assume a level of accuracy and precision that is more specific than the supporting information used to create the ROM, budgetary, detailed, or revised estimates.

uploads/az0011.png
Fig. 2.4.3/1: The cone of uncertainty narrows as the estimate matures with added process knowledge and refinement in detail during implementation
The four different types of estimates used during the lifecycle of a process...:   

A low precision and accuracy (40%) estimate used to build a business case for further process documentation and analysis. This estimate can be used in a business case to justify a project charter for process implementation.

  • Procure Funds with Budgetary Estimate

With added precision and accuracy (55 - 65%), this estimate is used for initial planning (cost, resources, and schedule) and is based on the outcome of process discovery and analysis.

  • Plan Project with Detailed Estimate

With refined precision and accuracy (60 - 80%), this estimate first appears during the first development iteration. This estimate is based on story points, used to bucket work to iterations, and commit assignments to developers, and should anticipate change as a percentage.

  • Commit Schedule with Revised Estimate

An updated detailed estimate based on actual story point velocity from multiple iterations. By Playback 3, the precision and accuracy is as high as 90%.