Today I finished a "just in time" training session and first use of the RISK+ tool applied to Microsoft Project. It was an eye opening experience. I'm very familiar with the concepts of probabilistic forecasting and intimately familiar with Critical Path Analysis of project schedules. What was new was the analytical power of RISK+ and its application to decision making.
First for those not sharing my interest with this approach to planning there are some resources:
- http://www.risksig.com/Articles/pmi1999/rk06.pdf is a paper from Los Alamos National Laboratories about cost and schedule modeling
- http://www.cs-solutions.com/products/?Product=Risk%20Plus the C/S Solutions product link. C/S Solutions also provide winSight, a powerful consolidator of Earned Value reporting and analysis used by nearly every defense and civil government contractor.
- http://www.fta.dot.gov/library/planning/prob/toc.html a detailed assessment of probabilistic risk analysis for large construction projects.
Any well formed Google phrase with these terms will turn up a long list of materials. With that said here's my epiphany. When asked the question - "can we make the planned completion date?" The answer is almost always some qualified hedged number with lots of hand waving and quick dancing. Or its a agile development answer of "we'll keep working on bi-weekly iterations until the customer tells us to stop." Both answers are basically unacceptable to senior management, and should be unacceptable to the project participants as well.
With the proper information - and I emphasize proper because this is an area where good data is mandatory - the answer can be based on a probabilistic assessment.
Here's how it works:
- Build a well formed network of tasks. Preferably in an IMP/IMS style where accomplishments and criteria define "done." The tasks are linked in a logical manner with no widows or orphans. Meaning the project has a logical start and completion with no tasks that don't have predecessor or successors other than START and END. The level of detail for this network is arbitrary for now. It should show the logical flow ( architecture) of the work and the increasing maturity of the project measured through accomplishments and criteria.
- The durations on the tasks are estimated from experience, Delphi, off the top of your head, borrowed from other projects or any way possible. One way I use is a 20 questions approach. (You really only need 5 questions). "Can we do this task in one (1) year? - Sure! How about one (1) week? No way! How about six (6) months? Sure. How about three (3) months? Well maybe. How about four (4) months? Yea I'm OK with that? In four questions I've got a pretty good estimate - a starting estimate, a rough estimate, a SWAG estimate for the duration. No over analysis, just a "guess."
- Next we develop a "risk profile" table. We use too many risk categories (7) for my personal tastes, but its worked for years so I'll proceed. Risk 1 = Most Likely +/- 0%. Risk 3 = Most Likely -5%/+25%, Risk 6 = Most Likely -5% / +50%. You can make up your own table from your head, but better from real data from projects.
- Use this information for the Best Case, Most Likely, Worst Case (three point estimate) for the duration of each task. Next apply you favorite statistical distribution, ours is the Triangle Distribution. Run RISK+ on the schedule and select a small number of "watch" tasks - completion is one, intermediate deliver ables, critical design or delivery milestones, etc.
- With the results (see the C/S Solutions example) the team can now ask sensitivity questions about the plan, where the hot stops are, where the real critical path is - "near critical path" this is called.
In the end the whole process brought up several important aspects of project management:
- Do we know the sensitivity assessment of the project plan? Where are the risks? Where are the hot spots?
- Where are the "near critical path" tasks. In MSFT Project you can have multiple critical paths, you can set the minimum number of days slack for the critical path, but you can't see the statistical impacts on the critical path from tasks not currently on the critical path.
- What are "dynamics" of the project plan in a statistical sense. The Monte Carlo process used in RISK+ examines every combination of duration and path (you need a big machine) and shows how the plan is impacted by extreme events as well as common path events - all paths, all durations within each statistical distribution.
In the end of course this type of assessment isn't for everyone. But for our class of projects where 1000's of tasks are common, and many hands have formed the duration estimates, Statistical Risk Analysis provides a very powerful tool for looking at "what if" impacts.