Home
About
Consulting & Training
Resources
Resource Library Podcasts & Webinars Blog FAQ
Contact
White Papers

The Price of Uncertainty

Analysis PDF · 741 KB

About this White Paper

The Price of Uncertainty: A Mathematical Analysis of Classic and Agile Processes examines how uncertainty affects the economic and risk characteristics of Agile and plan-driven software development. Rather than relying solely on project-success surveys—which the paper argues are difficult to compare because “success” is not consistently defined—the paper develops a mathematical analysis of two otherwise comparable projects subjected to the same unexpected problems.

The analysis begins by identifying recurring sources of uncertainty in software projects, including incomplete or incorrect requirements, unreliable estimates, design rework, integration problems, changing customer needs, defects, and deployment difficulties. The paper argues that the cumulative effects of these uncertainties can extend project duration and cause organizations to spend development resources on functionality that ultimately does not deliver the expected value.

A Gedankenexperiment, or thought experiment, then compares a plan-driven project with an Agile project developing the same data-warehouse and reporting system with identical teams and requirements. Both projects encounter the same unexpected problems. The plan-driven project initially has the shorter planned schedule, but the effects of uncertainty cause its schedule to extend beyond the available funding period. The Agile project takes longer in its initial estimate but delivers working reports incrementally, allowing it to generate revenue before the entire project is complete.

The resulting analysis leads to an important qualification: Agile is not necessarily more cost-effective for every project. When uncertainty is high, incremental value delivery can reduce risk and improve return on investment because the organization can realize value before the entire project is complete. When uncertainty is low, the additional overhead of Agile iterations may make a plan-driven approach more efficient and less expensive.

The paper concludes with a decision framework for selecting an appropriate process based on three characteristics: planning criticality, requirements reliability, and estimation reliability. Its decision matrix identifies plan-driven processes as appropriate when requirements and estimates are reliable, Scrum when planning is needed but requirements or estimates are uncertain, and Kanban when planning is not needed or not possible. The paper summarizes this relationship with an Adaptive Spectrum ranging from predictive planning through adaptive planning to reactive planning.

Although written primarily in the context of software development, this paper provides a broader management perspective on a question that remains central to complex product development: what does uncertainty actually cost an organization, and how should the development process account for it? It provides a quantitative foundation for choosing development approaches based on the characteristics of the work rather than treating Agile or plan-driven development as universally superior.

Kevin Thompson, Ph.D. — Agile hardware consultant

Kevin Thompson, Ph.D.

Principal Consultant specializing in Agile hardware development. Dr. Thompson has guided more than 100 enterprise transformations, bridging the gap between hardware engineering and Agile software methodologies. About Dr. Thompson →