Quantifying the Uncertainty: Monte Carlo Simulation
When making forecasts or performing risk analysis, it is impossible to escape from variability and uncertainty. Even with large amounts of past performance data at our fingertips, the future is unpredictable and unforeseen events can change the course of a project.
Monte Carlo simulation does not try to eliminate risk – instead, it uses thousands or millions of permutations of random variables to calculate all possible outcomes. The probability distribution it generates is remarkably accurate, making it one of the most popular methods of forecasting in project management.
The Kanban Method uses Monte Carlo simulation to generate accurate predictions for likely project duration and total output.
What is the Monte Carlo method?
The Monte Carlo method or Monte Carlo simulation is a mathematical technique used for forecasting which takes into account risk, uncertainty and variability. The method is used in a wide range of fields – project management, physical science, finance, computational biology to name a few – to model outcomes in dynamic systems.
First, let’s consider a simple system with simple inputs:
As A, B, C and D are always the same, the output will always be the same and it can be easily calculated. The same initial conditions will always lead to the same output.
Now, imagine that input A has a range of possible values – the output will also be variable. And when there are many more possible inputs and all of them have a range of possible values, the output is not that simple to calculate. That’s where you need to use Monte Carlo simulation.
The method uses a computational algorithm to simulate the process thousands or even millions of times, using the whole variability range for each of the inputs. It outputs a probability distribution showing all the possible outcomes and the likelihood that each outcome will occur. By using a computationally generated range of simulated data, the Monte Carlo method produces remarkably accurate models of real systems.
History of Monte Carlo
The Monte Carlo method in its modern form was invented in the late 1940s. Scientists at the Los Alamos Scientific Laboratory were investigating how far neutrons could travel through different types of materials to research how best to shield from radiation. While the physicists had most of the data required, they couldn’t find a solution by using the deterministic mathematical methods common at the time.
Polish-American nuclear physicist Stanislaw Ulam had the idea of using the results from random experiments. While recovering from an illness and playing solitaires to stave off boredom, he tried to predict the probability of all 52 cards being laid out perfectly. When calculations failed to give a suitable answer, he tried simply laying the cards out 100 times and seeing what the results were. The idea was immediately applicable to the neutron diffusion problem. Due to the top-secret nature of the work, the project would need a code name – the scientists chose Monte Carlo.
Despite the limited computation tools of the time, Monte Carlo methods were key to the Manhattan Project research. Since then, and as computers have evolved and improved, the method has been used in operations research, molecular biology, fluid mechanics, project management, artificial intelligence and many more.
How to perform a Monte Carlo Simulation
To perform a Monte Carlo simulation for project duration, first you need duration estimates for each activity.
To finish a project, three activities A, B and C have to be completed. Our project manager has estimated the optimistic, most likely and pessimistic durations for these tasks. Durations are measured in days.
This gives a best case estimate of 30 days, most likely estimate at 36 days and a pessimistic estimate of 42. However, it doesn’t show the probability range of these options.
The Monte Carlo method will use the whole range of possible input durations. For any iteration, A will have a random value between 8 and 12, B – between 10 and 14 and C – between 12 and 16. Running the Monte Carlo simulation 300 times will give results that look something like this:
The simulation provides you with a much more detailed analysis of your data. This enables you to make better, data-driven project management decisions.
Monte Carlo Method and Kanban forecasting
In our previous example, our Monte Carlo simulation relied on the best case, most likely and worst case estimates that we provided. The potential drawback here is that it relies on the assumption that the estimates are correct. If our project manager made a mistake in their predictions, the whole simulation will be affected. It is always better to base Monte Carlo inputs on real data from your process.
Monte Carlo simulations in Kanban come in two forms: calculating the number of tasks to be finished in a given period, or the delivery date of a number of tasks to be completed.
Monte Carlo: Delivery Date
The Delivery Date chart shows the date a number of tasks will be completed and the level of certainty that this will happen. For example, you have a backlog of 20 tasks and you want to give your client a likely delivery date. This Kanban Monte Carlo simulation also uses throughput to calculate the results.
Monte Carlo: Number of Tasks
The Number of Tasks chart shows how many items can be completed within a certain timeframe. For example, you know the next product update is planned for June 15th and you want to know how many new features will be ready by then. This Kanban Monte Carlo simulation uses throughput as the input variable.
Using Monte Carlo simulation for your Kanban process keeps your forecasts grounded in reality. No guesswork or subjective estimating is involved – just accurate probability-based future predictions calculated from previous performance data.
What approaches do you use to make your forecasts? Have you tried the Monte Carlo simulations? Tell us about your experience in the comments!
Meet the Author
Sonya Siderova is a passionate product manager and a driving force behind Nave, a Kanban analytics suite that helps teams improve their delivery speed through data-driven decision making. When she's not catering to her two little ones, you might find Sonya absorbed in a good heavyweight boxing match or behind a screen crafting a new blog post.