��
14
Section 2
Requirements Uncer
tainty
High Uncer
tainty
Low Uncer
tainty
Technical Degree of Uncertainty
Low Uncertainty
High Uncertainty
Fundamentally
risky
Adaptive
approaches
work well here
Linear
approaches
work well here
Complica
ted
Comple
x
Cha
os
Simple
Figure 2-5. Uncertainty and Complexity Model Inspired by the Stacey Complexity Model
Teams can plan and manage projects with clear and stable requirements and clear technical challenges with little
difficulty. However, as the uncertainty in the project increases, the likelihood of changes, wasted work, and rework also
increases, which is costly and time consuming.
��
15
Some teams have evolved project life cycles to use iterative and incremental approaches. Many teams discover that
when they explore the requirements iteratively and deliver more often incrementally, the teams adapt to changes more
easily. These iterative and incremental approaches reduce waste and rework because the teams gain feedback. These
approaches use:
u
u
Very short feedback loops,
u
u
Frequent adaptation of process,
u
u
Reprioritization,
u
u
Regularly updated plans, and
u
u
Frequent delivery.
TIP
What do simple, complicated, and complex projects mean? Consider large projects, such as the
Boston Big Dig construction project. On the surface, the project seemed fairly straightforward: move
the elevated highway underground. There was high agreement on the requirements (see the Y axis in
Figure 2-5). There was low uncertainty on how the project would proceed until the project started. And,
as is the case for many large projects, the project encountered surprises along the way.
When a team works on a project where there is little opportunity for interim deliverables or little
opportunity for prototyping, the team most likely will use a predictive life cycle to manage it. The team can
adapt to what it discovers, but will not be able to use agile approaches to manage the iterative discovery
of requirements or incremental deliverables for feedback.
The Big Dig project was not simple by any means. However, many projects that start out in the lower
left part of the Stacey Complexity Model have no real means of moving to other approaches. Assess the
project, both in the requirements and the means of delivery, to determine the best approach for the life
cycle of the project.
��
16
Section 2
These iterative, incremental, and agile approaches work well for projects that involve new or novel tools, techniques,
materials, or application domains. (Refer to Section 3 on Life Cycle Selection). They also work well for projects that:
u
u
Require research and development;
u
u
Have high rates of change;
u
u
Have unclear or unknown requirements, uncertainty, or risk; or
u
u
Have a final goal that is hard to describe.
By building a small increment and then testing and reviewing it, the team can explore uncertainty at a low cost in
a short time, reduce risk, and maximize business value delivery. This uncertainty may be centered on suitability and
requirements (is the right product being built?); technical feasibility and performance (can this product be built this
way?); or process and people (is this an effective way for the team to work?). All three of these characteristics—product
specification, production capability, and process suitability—typically have elements of high uncertainty.
However, iterative and incremental approaches have their limits of applicability. When both technology
uncertainty and requirements uncertainty are very high (the top right of Figure 2-5), the project moves beyond
complex to chaotic. In order for the project to become reliably possible, it needs one of the variables (uncertainty
or disagreement) to be contained.