Another project delay, and why?!

You have undoubtedly encountered this situation where a project that seemed perfectly planned and organized ends up being delayed and frustrating everyone. Delays can result in additional costs, revenue losses, a deteriorating team atmosphere, rifts between developers and project managers, and even strained relationships with clients.

But this is a very common phenomenon; you are certainly not alone! This is where I propose using the cone of uncertainty to illustrate the reality of a project. Whether for you or your colleagues, it is very expressive! 🙂

Software development projects are inherently subject to high variability. External conditions, discoveries during the project, business needs, technical tools, and many other factors can evolve unpredictably, making it difficult to predict future performance.

We will explore how the cone of uncertainty can help shed light throughout the lifecycle of a project and better understand the reality surrounding project planning.

On my part, I became interested in this method during the revisions of my PSM1 certification. So, I decided to learn all its facets and summarize them for you in this article.

Let’s start with some statistics on IT projects:

  • According to a study by McKinsey, only 26% of IT projects are completed on time and within the planned budget. 17% of IT projects exceed their initial budget by more than 200%.
  • Software projects exceed their initial budget by an average of 66%, according to a survey by The Standish Group.
  • Only 16.2% of projects are considered complete within the deadlines, budget, and with all promised features, according to The Standish Group’s Chaos Report 2021.
  • Only 31% of IT projects are completed on time and within the planned budget, according to a PMI survey.
  • Since 2011, The Standish Group’s Chaos Report has indicated that Agile software projects have three times the success rate compared to Waterfall project management… This statistic is based on the success conditions of traditional projects (not Agile indicators) and is studied across 50,000 projects.

We can observe that delays are the result of the majority of projects, especially in “traditional” project management. We still devote a lot of time and energy to produce false estimates. But do we really take uncertainty into account?

The Cone of Uncertainty

First drawn in 1980 by Barry Boehm, an electrical engineering engineer and professor at the University of Southern California, the cone of uncertainty is a concept, a graphical representation, and above all, a valuable tool that allows tracking the evolution of uncertainty levels throughout a project’s lifecycle.

This is where Steve McConnell comes in, famous for his work at Microsoft. He introduced the “cone of uncertainty” at Microsoft to illustrate this reality. According to him, at the beginning, estimates can vary considerably, sometimes up to a factor of 16 between the most optimistic and pessimistic estimates.

This means that a project estimated at 100 person-days can actually take between 25 and 400 person-days to complete, regardless of the team’s skills and expertise or the estimation method used. McConnell himself has been involved in rescuing major projects at Microsoft, demonstrating that even with an experienced and talented team, forecasts remain uncertain.

We can see that at the start of a project, uncertainty reigns supreme. There are many unknowns, and known elements are rare, unlike the numerous assumptions…

Then, as the project progresses, from step to step, information is collected, and decisions are made. The direction to take becomes clearer: the level of uncertainty decreases, and estimates become more precise (the cone narrows).

Understanding and highlighting uncertainties allows for adaptation and setting goals that are closer to reality.

The cone of uncertainty graphically represents the evolution of a project’s uncertainty over time. At the beginning, uncertainty is high (thus the cone is wide). But as the project progresses and more information is collected, the cone narrows.

Explanation of the graph:

  • The centerline (1.0x) represents the ideal estimate without uncertainty.
  • The horizontal axis represents time.
  • The vertical axis represents uncertainty.
  • The left ends of the cone represent the most and least optimistic estimates.
  • The tip of the cone represents the delivery date.

How to use the data from the cone of uncertainty in “traditional” project management?

  • Feed a risk matrix and consider solutions for the strongest uncertainties.
  • Adjust the plan, costs, and deadlines to get closer to reality.
  • Apply risk management multipliers.
  • Review the team and project organization.
  • Communicate!!

Generally, the cone will be applied to the entire project rather than the task.

What about using it in an Agile context?

To quote the Agile Manifesto: “Responding to change over following a plan.”

The incremental and iterative approach allows for quick adaptation, rapid validation or invalidation of assumptions. It is therefore preferable to start one or more sprints to obtain more accurate data rather than spending enormous amounts on very unreliable estimates. So, we will quantify around the value created, mastery and knowledge, as well as the rising competence in the team and organization around the product.

In an Agile context, we can adapt the cone to user stories present in the sprint backlog or product backlog and thus obtain precision at the sprint or task level.

Time will increase the precision of estimates (if we estimate).

The Cone in Agile Planning:

  • The cone helps reduce risks through identification, inspection, visualization, and awareness.
  • Propose better solutions: adapt by limiting impacts, find solutions to solve/overcome problems, and continue delivering value while respecting the budget.
  • It promotes better transparency and communication with stakeholders: it helps understand blockages and risks, which can increase understanding and potentially garner support.
  • Track the progress of assumptions and feed continuous improvement.
  • Establish a more realistic delivery plan.

By using the cone of uncertainty, the team better understands the risks and uncertainties associated with tasks. It identifies dependencies and improves the relevance of its choices to achieve objectives. This offers the opportunity to regularly check costs and adjust the project scope, taking user feedback into account.

This information is crucial for fostering creativity and enhancing exchanges within the team. If shared with stakeholders, it encourages communication and exchanges.

Uncertainty can be reduced by collecting user feedback throughout the product lifecycle, which allows for adjustments and validation of features based on their real needs. Trust between the client and developers is established through frequent deliveries of functionalities, which strengthens the reliability of estimates, reducing uncertainty over iterations.

Example of Use

Illustrating Story Points with the Cone of Uncertainty

The example below is in the context of creating an online store.

We can see that the team believes it will encounter the most difficulty with payment methods. Why? Lack of skills? Uncertainty about the library used? If so, can we change the library? Do we need to bring in an external expert to acquire knowledge within the team? How can we move forward?

Bonus

Illustrating the Fibonacci Sequence

We can visually represent the Fibonacci sequence to explain it; 13 points represent the highest difficulty, 0 represents the highest simplicity.

Thanks to my colleague from the “Become a Better Scrum Master” training by Scrum Life, Sébastien Tardivaud, for the idea!

What should be remembered for the scrum.org PSM1 certification regarding the cone of uncertainty?

As time passes, uncertainty decreases, and assumptions and estimates become more precise.

Sources:

McKinsey, “Delivering large-scale IT projects on time, on budget, and on value,” (2012): **https://www.mckinsey.com/business-functions/digital-mckinsey/our-insights/delivering-large-scale-it-projects-on-time-on-budget-and-on-value**

The Standish Group, Chaos Manifesto 2013 **https://www.immagic.com/eLibrary/ARCHIVES/GENERAL/GENREF/S130301C.pdf**

PMI, Success in Disruptive Times: **https://www.pmi.org/-/media/pmi/documents/public/pdf/learning/thought-leadership/pulse/pulse-of-the-profession-2018.pdf**

The Standish Group, Chaos Report 2011 – 2023:

No current URL.

Agile Manifesto: https://agilemanifesto.org/

Scrum: An Intelligent Travel Companion by Gunther Verheyen

Agile Estimating and Planning by Mike Kohn

Categorized in: