TechRepublic columnist Tom Mochal receives dozens of e-mails each week from members with questions about project management problems. He shares his tips on a host of project management issues in this Q&A format.
I recently took a project management class. When we talked about how to create a project schedule, the instructor talked briefly about the Monte Carlo analysis technique, which I had seen before in a project management book. I wonder if it’s a technique I should be using. I only see a brief mention of the term from time to time and have never really understood what it means.
Can you give a short description of what Monte Carlo analysis really is? Is it something that unsophisticated project managers should be using?
The Monte Carlo technique creates a simulation, or a model, that describes how a process will likely turn out. The simulation doesn’t return a single answer but a range of possible answers and the probability that each answer will occur.
You mentioned that you heard the term in the context of project management. It’s actually a general modeling technique that can be applied to any process where uncertainty is involved (for example, nuclear processes, financial derivatives, or physics experiments). The technique requires a series of discrete tasks to simulate and uncertainty, or risk, associated with the tasks.
Applying to project management
In project management, the technique can be used to model the project cost, or it can be applied to certain project risks that you’ve identified. 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’re finished, you look at the resulting timeline to see the estimated end date. As we all know, the chances of hitting that exact end date aren’t 100 percent; you’re never 100 percent sure of the duration of the underlying activities. Since uncertainty is associated with each step, a Monte Carlo analysis can be performed.
A simple example
To use the Monte Carlo analysis, instead of just one estimate of duration for an activity, we create three. First, we estimate the most likely duration, and then we estimate the worst case and the best case. With each estimate, we assign what we think is a likely probability that it will occur. (An even more sophisticated approach is to use a distribution model that represents the probability of every possible outcome for the task, but that is more than we’ll get into in this discussion.)
Let’s look at a small project with three tasks that must be worked on sequentially. Task A is likely to take three days (70 percent probability), but it is possible that it could take two days (10 percent) or four days (20 percent).
Task B will likely take six days (60 percent), but could take as few as five days (20 percent) or as many as eight days (20 percent). Task C will probably take four days (80 percent), three days (5 percent), or five days (15 percent).
How long will this project take to complete?
The guts of Monte Carlo
The Monte Carlo analysis involves a series of random simulations on our three-step project. Each time, the analysis software plugs in random task durations for A, B, and C based on the probabilities that we provided. It’s possible that the first time through, it would calculate 12 days (2 + 6 + 4). The next time, it might calculate 11 days (3 + 5 + 3). Then it could calculate 12 days again (3 + 5 + 4).
Now, imagine that this simulation were run 1,000 times. By the time the simulation was completed, you would expect around 700 simulations in which task A took three days (70 percent). Likewise, there should be around 150 simulations where task C took five days (15 percent). Each time a simulation is run, an end date is determined.
When the Monte Carlo analysis is complete, you don’t have a single end date. You have a probability curve showing expected outcomes and the probability of achieving each one.
For the purposes of scheduling, we would look at a cumulative curve showing the probability of completing the project between the best case, 10 days (2 + 5 + 3), and the worst case, 17 days (4 + 8 + 5).
When you tell your stakeholders when the project will be completed, you typically pick the duration that gives you a 90 percent chance of success. In other words, you would say that, based on the Monte Carlo simulation, you have a 90 percent chance of completion within X days.
Our 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.
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 show the dates on which you have a 50 percent chance of completion, 80 percent chance of completion, 90 percent chance of completion, etc.
Tori, you also asked whether Monte Carlo analysis was something that unsophisticated project managers should use. I think the answer is no. Certain projects contain enough risk and uncertainty that it would make sense to use this technique, but much more diligence is required for the detailed estimates.
An example is a project that you are estimating in an outsourcing relationship. Many of the activities may be vague, but you still need to be able to commit to a timeline and end date that you have a high likelihood of achieving. In general, the technique can also be used to provide safe end-date estimates for any large project. After running the simulations, you would not want to pick the end date that has a 50-50 chance of success. The Monte Carlo analysis will tell you the date that you have an 80 percent chance to achieve, or a 90 percent chance, depending on how safe you need to be.
If you provide estimates and probabilities for detailed activities that aren’t well thought out, the resulting simulations will be invalid as well, and you may end up with schedule completion dates that aren’t realistic. Stick to the best-guess estimate for each task at this point, and then utilize Monte Carlo analysis on projects that contain a lot of scheduling risk and where it makes sense to perform the additional diligence around estimating the work in terms of multiple durations and probabilities.
Project management veteran Tom Mochal is director of internal development at a software company in Atlanta. Most recently, he worked for the Coca-Cola Company, where he was responsible for deploying, training, and coaching the IS division on project management and life-cycle skills. He's also worked for Eastman Kodak and Cap Gemini America and has developed a project management methodology called TenStep.