3 March 2011. Many classes and many books briefly mention Monte Carlo analysis (this is also called Monte Carlo simulation and Monte Carlo modeling). Many authors think the concept is important enough to note in passing, but not necessarily so important that they want to spend a lot of time explaining how it works.
Monte Carlo is a name given to a technique that is used to create a simulation, or a model, that describes how a process will likely turn out. The simulation does not return a single answer, but a range of possible answers, and the probability that each answer will occur. Although you may have heard the term in the context of project management, it is actually a general modeling technique that can be applied to any process where there is uncertainty involved in the process. Examples include nuclear processes, financial derivatives, physics experiments, etc. The term was coined during the Manhattan Project (building the atomic bomb) during World War II, but the general concepts have been known for hundreds of years. However, it has become more common now that computers can be used to simulate thousands, or millions, of trials. The common theme is that there must be a series of discrete tasks to simulate, and there must be uncertainty, or risk associated, with the tasks.
Applying to Project Management
While it would be fascinating to see how to apply Monte Carlo techniques to experiments in sub-atomic physics, the more practical use at hand is how to apply these techniques to project management. The techniques can be used to model the project cost, or they can be applied to certain project risks. The more common use is in the creation of the project schedule, and the determination of the project end date.
When you put together your project schedule, you typically create a series of tasks, and an estimated duration for each task. When you are done, you look at the resulting timeline to see the estimated end date. However, the chance of hitting that exact end date is not 100%. In fact, the chance of hitting that exact end date is probably pretty low. That is because you are never 100% certain of the duration of the underlying activities. Since we have process steps and uncertainty associated with each step, a Monte Carlo analysis can be performed.
A Simple Example
To use the Monte Carlo analysis, you can no longer just create one estimate of duration for an activity. You need to create three. First, estimate the most likely duration, and then estimate the worst case and the best case. Along with each estimate, include a probability that it will occur. (An even more sophisticated approach is to not just rely on three estimates for each task, but to use a distribution model that represents the probability of every possible outcome for the task. However, that is more than is necessary for this discussion.)
Let’s look at a small project with three tasks that must be worked on sequentially. Task A is likely to take 3 days (70%), but it is possible that it could take two days (10%) or four days (20%). Task B will likely take six days (60%), but could take as little as five days (20%) or as long as eight days (20%). Likewise Task C will probably take four days (80%), or as little as three days (5%) or five days (15%).
Okay, you might be able to see that this way of estimating takes longer, but it does tend to give you more precision. The question is, how long will this project take to complete? You can see that this question is now more problematic.
The Guts of Monte Carlo
The Monte Carlo analysis involves a series of random simulations on this three-step project. Each time, it plugs in random task durations for A, B and C based on the probabilities that we provided. It is possible that the first time through, it calculated twelve days (2 + 6 + 4). The next time it calculated eleven days (3 + 5 + 3). Then it calculated twelve days again (3 + 5 + 4).
Now, imagine that this simulation is run 1000 times. By the time the simulation completed, you would expect that there are around 700 simulations where task A took three days (70%). Likewise there should be around 150 simulations where task C took five days (15%). Each time a simulation is run, an end date is determined.
The Results
When the Monte Carlo analysis is complete, you do not have a single end date. Instead, you have a probability curve showing expected outcomes, and the probability of achieving each one. When you tell your stakeholders when the project will be completed, you would typically pick the duration that gives you a 90% chance of success. In other words, you would say that, based on the Monte Carlo simulation, you have a 90% chance of completion within X days, and then report the date that this falls on.
Summary
This example contained three tasks. Think about the projects that you have with hundreds, or thousands, of tasks. The Monte Carlo analysis allows you to show the uncertainty associated with the duration of these tasks. (You do not need to show uncertainty in every task – just the ones where you think the major uncertainty lies.) Many, but not all, project management scheduling packages allow you to perform these simulations. The software can run thousands of simulations on your workplan, and then give you information that will show the dates where you have a 50% chance of completion, 80% chance of completion, 90% chance of completion, etc.
Monte Carlo analysis is not something that typical project managers need. However, certain projects contain enough risk and uncertainty that it would make sense to use this technique. However, much more diligence is required for the detailed estimates. If you provide estimates and probabilities for the detailed activities that are not well thought out, the resulting simulations will be invalid as well, and you may end up with schedule completion dates that are not realistic.
Monte Carlo is an interesting topic, but I recommend that most project managers stick to the current best-guess estimating techniques. It would take a special project and special circumstances to utilize the rigor of Monte Carlo techniques. |