Understanding the Cone of Uncertainty and Agile Estimation: Mastering Uncertainty in your Projects

Uncertainty is a constant challenge in software development, making early estimates often imprecise and risky.
The concept of the Cone of Uncertainty offers an essential perspective for mastering this imprecision, helping teams to better understand and anticipate the fluctuations inherent in a project.

In an agile environment, where flexibility is crucial, the cone of uncertainty becomes an indispensable ally.
This article will show you how this concept can transform your approach to estimating, reduce risk and optimize sprint planning.
Mastering the cone of uncertainty could well be the key to avoiding slippage and ensuring the success of your projects.

Graph illustrating the cone of uncertainty in agile estimation, showing the reduction of uncertainty over time for a Scrum project.

What is the Cone of Uncertainty?

The cone of uncertainty is a graphical representation of the gradual decrease in uncertainty in a project as it progresses.
In its early stages, a project is surrounded by a large number of unknowns: the exact scope of the work, the resources required, and the timescales for completion are all factors that are difficult to predict.
This initial uncertainty is often represented by the broad base of the cone.

As the project progresses, new information is gathered, decisions are made, and the cone narrows.
The accuracy of estimates increases at each stage, as assumptions are transformed into concrete knowledge.
This process of reducing uncertainty is crucial to improving forecast accuracy and minimizing the risk of failure.

The origin of the cone of uncertainty goes back to the work of Barry Boehm in the 1980s, which was popularized in software development by Steve McConnell.
The concept has become a mainstay of project management, particularly in agile methodologies such as Scrum.
It helps teams understand that initial estimates are often subject to wide variations, but become more reliable as the project progresses.

Comparison between an iterative project and a waterfall project, showing how the cone of uncertainty differs between these two approaches.

The Importance of Agile Estimation

In agile methodologies, estimation plays an essential role in guiding decisions and structuring development efforts.
Unlike traditional approaches, where plans are rigidly established from the outset, agility relies on adaptive planning, enabling rapid response to changes and unforeseen events.
In this context, the cone of uncertainty takes on its full importance, as it visualizes how uncertainty diminishes over the course of the project, making estimates increasingly accurate.

Agile estimates, often made in complexity points or story points, help teams measure the workload associated with each task.
These estimates are not just numbers; they represent a team consensus on the effort required to complete a feature.
This process is crucial for several reasons:

  • Sprint planning: Estimating determines how much work the team can take on in a sprint, ensuring that the goals set are realistic and achievable.
  • Risk management: Using the cone of uncertainty, teams can identify areas where uncertainty is still high and adjust their planning accordingly.
    This helps minimize the risk of deviation from project objectives.
  • Feature prioritization: Estimates also help the Product Owner to prioritize Product Backlog items according to their complexity and value to the user.
    This ensures that the most critical features are developed first, maximizing the value delivered to the customer.
  • Backlog refinement and Just in Time: The cone of uncertainty emphasizes that uncertainty decreases as the project progresses, making estimates more reliable.
    This principle is directly applicable to backlog refinement, where the concept of “Just in Time” becomes crucial.
    By carrying out refinement at the most opportune moment, just before items are integrated into a sprint, the team ensures that estimates are based on the most recent and relevant information.
    This minimizes the errors associated with early estimates, and enables uncertainty to be better managed, by concentrating effort on the highest-priority topics.
    For an in-depth understanding of Just in Time in the context of backlog refinement, read our dedicated article: What is Backlog Refinement (or Backlog Grooming)?

  • Continuous improvement: as iterations progress, teams become more efficient in their estimates, reinforcing the trust between customer and developers.
    This continuous improvement in estimates enables better anticipation of future needs and a gradual reduction in uncertainty.

Ultimately, agile estimation is not an exact science, but a collaborative process that helps the team navigate uncertainty and deliver value iteratively and incrementally.
By showing how estimates can evolve, the cone of uncertainty reminds teams that flexibility and adaptation are at the heart of agility.

grooming backlog refinement Scrum Master Product Owner Workdhop atelier

The Cone of Uncertainty and the Evolution of Estimates

One of the most fascinating aspects of the cone of uncertainty is the way it illustrates how the accuracy of estimates evolves throughout a project’s lifecycle.
At the start of a project, teams are faced with a high degree of uncertainty, making initial estimates often imprecise and subject to wide variations.
This situation is perfectly normal and should be accepted as an unavoidable reality in the early stages of any project.

As the project progresses, additional information becomes available: needs are better understood, technical solutions are explored, and risks are identified and mitigated.
This accumulation of knowledge helps to narrow the cone of uncertainty, which means that estimates become increasingly accurate.
This process is a key element of continuous improvement in agile methodologies.

Agile teams often use the cone of uncertainty to visualize three types of estimation scenarios in an agile roadmap:

  • Optimistic scenario: In this case, teams assume that everything will turn out ideally.
    Estimates are based on the best possible assumptions, which can be useful for setting ambitious targets, but also entails a high risk of deviation from reality.
  • Realistic scenario: This scenario takes into account a combination of good and bad surprises, reflecting a balanced view of the project’s progress.
    It is generally the most reliable basis for planning, as it incorporates a certain margin for uncertainty while remaining rooted in reality.
  • Pessimistic scenario: Here, teams anticipate major obstacles and potential delays.
    Although this scenario is often considered a “worst case”, it is crucial for assessing risks and ensuring that the project can still be completed successfully, even in the face of unforeseen difficulties.

This three-scenario approach enables teams to better understand the variability of estimates, and to prepare contingency plans in the event of deviations from initial expectations.
By taking this variability into account, teams can better manage stakeholder expectations and build lasting trust with customers.

The cone of uncertainty also helps to reinforce transparency within the team and towards the customer.
By making it clear that initial estimates are inherently imprecise, but will become more refined over time, teams can better communicate project progress and adjust priorities accordingly.
This transparency is essential to maintain effective collaboration, and to adapt objectives in line with feedback and new information.

Representation of the cone of uncertainty with tips on managing promises and improving forecasts in agile projects.

Practical Use of the Cone of Uncertainty in an Agile Framework

The cone of uncertainty is a valuable concept to guide agile teams when estimating and prioritizing backlog items.
At the start of a project, when uncertainty is high, it’s crucial to apply the “Just in Time” principle: refine the backlog at the right moment, just before items are integrated into a sprint.
It is during these backlog refinement sessions that teams make estimates, using story points, days or other suitable measures.

As the project progresses and uncertainty diminishes, the cone of uncertainty helps teams to adjust their estimates and refine the backlog more accurately.
This ensures that efforts are concentrated on the highest priority items, and that plans remain flexible and aligned with project reality.
By using the cone of uncertainty as a frame of reference, teams can reduce the risk of errors and optimize each iteration to maximize the value delivered.

Using Miro’s “Cone Roadmap” template

To visualize and apply the Cone of Uncertainty concept effectively, teams can take advantage of the template Miro’s “Cone Roadmap” template.
This interactive template maps the evolution of uncertainties throughout the project, directly integrating backlog items and associating them with their levels of uncertainty.
Using this tool, teams can better plan their actions according to areas of uncertainty, and dynamically adapt their priorities.
You can explore this template on Miro by following this link.

Free Miro cone-shaped roadmap template for managing uncertainties and scenarios in an agile project.

The Challenges of the Cone of Uncertainty and How to Overcome Them

The cone of uncertainty is a key concept to keep in mind throughout a project.
It’s not a tool to be applied directly, but a constant reminder that uncertainty is high at the outset and diminishes as the project progresses.
The real challenge lies in accepting this initial uncertainty and managing expectations, both within the team and with stakeholders.

Rather than trying to anticipate or lock in everything from the outset, it’s essential for teams to remain flexible and adapt as the project evolves.
Keeping the concept of the cone of uncertainty in mind enables us to navigate more serenely through areas of uncertainty, adapting plans and priorities as we learn more.

Conclusion

The Cone of Uncertainty is a valuable conceptual tool in agile project management, enabling teams to understand the evolving nature of estimates and to adapt to the uncertainty inherent in the early phases of a project.
By highlighting how uncertainty diminishes over time, it helps teams to structure their planning and refine their estimates in a progressive and informed way.

Agile estimating, reinforced by practices such as “Just in Time” backlog refinement, enables us to navigate the sometimes murky waters of uncertainty with greater precision.
By focusing the team’s efforts on the most critical elements at the right time, this approach maximizes the value delivered while minimizing the risks associated with over-hasty or ill-informed estimates.

Ultimately, agility lies in the ability to remain flexible and adapt plans as new information becomes available.
The cone of uncertainty, coupled with sound planning practices such as Just in Time, reminds teams that the key to success lies in continuous adaptation and incremental improvement of planning and estimating processes.

Cette publication est également disponible en : French

Share on :

Our latest articles :

Your Resolution for 2024: Become a Certified Agile Master

Price : 69€

Note:

4,8/5

Agile Master certification: professional excellence for life, at the most attractive price. Multiply your chances with unlimited attempts. Make the difference in a fast-changing market.

Share this article!

LinkedIn
Facebook
Twitter
Email

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Other articles to read :

Picture of Ahmed BEN SALEM

Ahmed BEN SALEM

Strongly involved in Agile methodologies, I have held the roles of Scrum Master, Product Owner and Release Train Engineer for SAFe, Scrum and DevOps projects. My approach focuses on people and stakeholder collaboration, creating environments conducive to innovation and performance.

Since 2016, I have successfully led several Agile software development projects for companies of all sizes, including Odigo, Orange and PSA. My solid experience in Agile methodologies, in particular Scrum and SAFe, has enabled me to work with multicultural teams from countries such as the USA, India, Vietnam and Morocco.