In my article, Be Aware of the Agile Cone Zone, I described ten metaphorical “Agile Cones” that practitioners must navigate, each representing a challenge in promoting agility in resistant environments. This article explores the first agile cone to be aware of to ensure your team delivers value for your customers.
The origins of the Cone of Uncertainty date back to the 1950s in the engineering and construction sectors. In 1958, the American Association of Cost Engineers (now AACE International) introduced a standard estimate classification system using "cone" diagrams to represent uncertainty ranges. In the 1980s, software engineer Barry Boehm adapted this concept to software development, referring to it as the "Funnel Curve." Steve McConnell later popularized the term "Cone of Uncertainty" in his 1997 book, "Software Project Survival Guide."
Because project estimation is based on point-in-time data, the estimates for longer-range activities must account for future risks and uncertainties. In project management terms, this is referred to as the cone of uncertainty, which describes the level of uncertainty existing at different project stages. As shown in Figure 1 - Cone of Uncertainty, the accuracy of an estimate is less precise for planning estimates. This model considers that estimates for longer-range activities will likely be Order of Magnitude estimates and may fluctuate as much as +75% and -50% from baseline (mean). In contrast, near-term activities defined as Control Estimates should only fluctuate between +15% and -10%.
Figure 1 - Cone of Uncertainty
Understanding the Cone of Uncertainty in Agile Projects
The Agile Manifesto emphasizes adaptability and responsiveness to change, recognizing that requirements often evolve during a project. The Cone of Uncertainty aligns with these principles by acknowledging that early project stages are uncertain. Agile methodologies, such as Scrum, address this by promoting iterative development, continuous feedback, and regular reassessment of project goals. Agile teams effectively navigate the Cone of Uncertainty by delivering work in small, manageable increments and frequently revisiting project priorities, refining their estimates and plans as the project unfolds.
The Cone of Uncertainty is a fundamental reality in Agile project management. Unlike traditional, predictive approaches emphasizing detailed upfront planning, Agile embraces uncertainty through iterative learning and adaptation. However, this uncertainty can be both an opportunity and a threat. On one hand, uncertainty creates space for innovation, allowing teams to explore creative solutions and refine product direction based on user feedback. On the other hand, it can also lead to stakeholder anxiety, as some may perceive Agile’s adaptive nature as chaotic and uncontrolled.
Unlike traditional, predictive approaches emphasizing detailed upfront planning, Agile embraces uncertainty through iterative learning and adaptation. However, this uncertainty can be both an opportunity and a threat:
Opportunity: Uncertainty creates space for innovation, allowing teams to explore creative solutions and refine product direction based on user feedback.
Threat: If not managed properly, the Cone of Uncertainty can result in scope creep, inaccurate forecasting, and stakeholder distrust, all of which threaten project success.
If not appropriately managed, the Cone of Uncertainty can result in scope creep, inaccurate forecasting, and stakeholder distrust; all of which threaten project success.
To navigate this effectively, Agile project managers must educate stakeholders, leverage empirical data, and use Agile tools to create visibility and alignment. Below are strategies for identifying uncertainty and mitigating associated threats while capitalizing on opportunities.
Identifying the Cone of Uncertainty in Agile Projects
During iterative development and progressive elaboration, Agile teams may experience the Cone of Uncertainty in the following ways:
Stakeholder Resistance to Agile: Early in the project, stakeholders accustomed to traditional methods may struggle with the lack of a fixed scope or timeline. Their discomfort may manifest as demands for rigid deadlines and exhaustive documentation.
Fluctuating Backlog Priorities: Product priorities shift as Agile teams gather feedback from each iteration. If poorly managed, this dynamic backlog can create confusion, leading to concerns about scope creep.
Inconsistent Forecasting: Without historical velocity data, teams may struggle to predict when features will be delivered, creating frustration among business leaders who expect precise roadmaps.
Opportunities: Harnessing Uncertainty for Agile Success
Rather than resisting uncertainty, Agile project managers can use it as a strategic advantage by leveraging Agile’s empirical approach:
User Story Mapping to Clarify Priorities
Break down the product into high-level user stories and map them to customer journeys.
Create visibility into what’s needed now vs. later, ensuring stakeholders see a structured but flexible approach.
Agile Release Planning to Align Expectations
Rather than committing to fixed long-term plans, use release planning to establish short-term goals with room for iteration.
Monitor the epic and user story completion rate (rate=completed/committed) for each sprint to identify delivery trends.
Set expectations that plans will evolve, but releases will deliver incremental value.
Velocity Charts and Cumulative Flow Diagrams for Predictability
Track velocity over multiple sprints to improve estimation accuracy.
Use cumulative flow diagrams to visualize work-in-progress, bottlenecks, and cycle time, reinforcing Agile’s transparency.
By using these techniques, Agile teams can demonstrate control within uncertainty, helping stakeholders see that Agile is not about chaos—it’s about adaptability with discipline.
Threats: Managing Risks in the Cone of Uncertainty
If left unchecked, uncertainty can result in project failure. Common threats and how to mitigate them include:
Applying PERT in Agile environments
The Program Evaluation and Review Technique (PERT) is traditionally used in predictive project management, where scope and effort are determined early. However, Agile projects evolve iteratively, making it seem less suitable. Still, PERT can be adapted to forecast effort, estimate feature completion timelines, and manage uncertainty in Agile environments.
Since Agile projects emphasize adaptability and incremental delivery, PERT can be applied to sprint planning, release forecasting, and backlog refinement by integrating probabilistic estimation into Agile frameworks like Scrum or Kanban. I’ve outlined the process below to help clarify.
1. Estimate User Story Completion Times in Days
In Agile, estimating user stories accurately is a challenge, especially early in development. Instead of relying solely on historical velocity or relative estimation (e.g., story points), teams can apply PERT to forecast epic and user story duration using:
Where Time Expected (TE), takes into account the following three estimates:
O (Optimistic Estimate): If everything goes smoothly
M (Most Likely Estimate): Based on experience or historical data
P (Pessimistic Estimate): If major roadblocks occur
Example: A user story to implement a login feature may be estimated as follows:
O = 2 days (simple integration)
M = 4 days (average effort with some API issues)
P = 8 days (unexpected dependencies or security issues)
Using PERT:
This refined estimate can help determine sprint feasibility and workload balancing when planning iterations.
2. Predict Release Timelines in Sprints
Agile teams often struggle with forecasting release dates when backlog scope is uncertain. PERT can be applied iteratively at a feature or epic level to provide probabilistic delivery estimates.
Example: If an Agile team estimates that a feature could take between 3 sprints (optimistic - best case), 5 sprints (most likely), and 9 sprints (pessimistic - worst case):
This helps stakeholders plan based on the expected time while accounting for risk.
3. Quantify Risks using Standard Deviation
Agile’s iterative nature doesn’t eliminate uncertainty; it just manages it differently. PERT can also help Agile teams quantify risks by calculating the standard deviation:
This allows teams to estimate risk-adjusted delivery by setting confidence levels (e.g., a 95% confidence interval in completion dates).
Example:
For a complex feature with:
O = 4 sprints
M = 6 sprints
P = 12 sprints
Standard deviation:
Using PERT-based risk thresholds, teams can predict delivery with different confidence levels by defining Lower and Upper Boundaries and Expected Time.
Z-Scores for Different Confidence Levels:
95% Confidence Level:
1.96
80% Confidence Level:
1.28
75% Confidence Level:
1.15
As shown in the diagram below, we can say “with 95% confidence, it will take between 4 and 9 sprints to complete our made up feature.” The lower the confidence, the tighter the estimate will be. By the way…do you see the shape of the funnel cone?
4. Improving Backlog Refinement
During backlog refinement, teams struggle with uncertainty in new, complex features. PERT-based estimates provide a probabilistic range instead of a single point estimate, which:
Helps prioritize high-uncertainty items
Identifies stories that may require spikes or prototyping
Supports discussions on breaking down large stories
Benefits of Using PERT in Agile
✔ Aligns with Agile’s iterative approach: Estimates evolve just like the Cone of Uncertainty.
✔ Improves forecasting accuracy: Provides realistic delivery expectations to stakeholders.
✔ Enhances risk management: Quantifies uncertainty instead of ignoring it.
✔ Encourages data-driven decisions: Helps Agile teams balance workload effectively.
PERT can complement Agile estimation by providing probabilistic insights rather than replacing Agile’s iterative nature. Agile teams can improve their predictability while staying adaptive by applying PERT selectively to sprint estimates, release planning, risk analysis, and backlog refinement.
The Cone of Uncertainty is not a problem to be eliminated – it’s a reality to be managed. Agile project managers can turn uncertainty into a competitive advantage by fostering transparency, leveraging empirical data, and keeping stakeholders engaged through precise, iterative planning. With the right mindset and Agile tools, teams can embrace uncertainty while delivering consistent value.