Today, I finished a "just in time" training session and used the RISK+ tool for the first time in Microsoft Project. It was an eye-opening experience. I'm very familiar with probabilistic forecasting concepts 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 in 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 provides 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 create 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 it's an 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, accomplishments and criteria define "done." The tasks are linked logically with no widows or orphans. This means the project has a logical start and completion with no tasks that don't have predecessors or successors other than START and END. The level of detail for this network is arbitrary for now. It should show the work's logical flow ( architecture) 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 this approach is with a 20-question approach. (You 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 tastes, but it 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 table from your head, but it is better to use real project data.
- Use this information to calculate each task's Best-case, Most Likely, and worst-case (three-point estimate) duration. Next, apply your 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 deliverables, 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 the "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 potent tool for looking at "what if" impacts.