A recent survey of Microsoft Project User Group (MPUG) members found that one top concern for project managers using MS Project was how to manage issues and risks within the Project ecosystem.
This is valid because topics like risk management can be contentious, and having multiple sources of the ‘truth’ does not help. Even the terms ‘risk management’ or ‘schedule risk analysis’ are open to interpretation.
Simple definitions for the purposes of this article are as follows:
- Risk Management – the Identification, Assessment, and planning of Responses to Threats and Opportunities (aka Risks). Usually managed in a ‘Risk Register.’
- Schedule Risk Analysis – Incorporating information from the ‘Risk Register’ into the schedule where the ‘Risks’ will impact schedule and/or cost and taking Estimate Uncertainty into consideration.
Not every risk will affect the Schedule. For example, Late Delivery of Approvals would clearly have an impact on schedule and can be modelled in the schedule, but the client cancelling the project is an Organizational risk and should be handled in the contract, not the schedule.
Perhaps the biggest surprise is what a large influence Estimate Uncertainty is to the unexpected late delivery of projects. This is true even if, on average, execution is completed in the estimated time frames.
In the context of a discussion around Microsoft Project, Risks are events that may or may not occur, but if they do, they will have an impact on the schedule while Duration Uncertainty represents a lack of exact knowledge about the future and is usually quantified using a Three-Point Estimate.
The key here is to make it simple. Estimating is already a complex time-consuming process, so we want to avoid increasing the workload for it. That said, we need any risk/uncertainty process to be inclusive and defensible. It is no use producing a report that nobody believes because they do not trust the process or the inputs.
Duration uncertainty is typically modelled using a Three-Point Estimate, and Risks are typically quantified with a Probability and Impact assessment. Two quite separate processes.
Three Point Estimates
About the only thing you can say about a single point duration estimate is that it will be wrong. However, by capturing a range estimate (i.e., Best, Most Likely, Worst) we can be more confident that the actual duration will be somewhere within the estimate. For a single task that is not all that useful, but for a complex schedule with many tasks, we can use that information to see how the estimates for the various tasks work together to ultimately impact the delivery dates.
So, how do we select/justify these three-point estimates?
We can request the subject matter experts producing the estimates to provide the three points, but that is a lot more effort. Is it worth it for every task in the schedule? Probably not. Have the estimators provide three-point estimates for known ‘high risk’ tasks. For the others, we can use rules of thumb or historical analysis. Barbecana’s Full Monte Schedule Risk Analysis tool can produce a historical analysis from a previously completed project, for example.
The chart shows how tasks performed against their original estimated duration. Some tasks clearly took far longer than estimates (in one case, over 6 times (600%) the original estimate). Ignoring the outliers (we could drill down to find out what tasks performed so badly), we can use this chart to justify a three-point estimate where the Best Case was 50% of the estimate, the Most Likely 100% of the estimate, and the Worst Case around 200% of the estimate. The ‘shape’ of the data resembles a Beta probability distribution curve. Of course, these numbers seem ‘scarily excessive,’ but the data is there to justify their use on a similar future project.
In practice, many customers choose to assign ‘template’ uncertainty using three or more bands. For example:So, how can we quickly apply these to our Microsoft Project schedule? One option is to use a Project Custom Text field, in this case with a custom Drop-Down.
For those tasks with High or Very High uncertainty, we might choose to require discrete three-point duration estimates. Again, we can use Project custom fields to capture that information as shown below:
One last piece of information is the probability of occurrence of the tasks modelling ‘Re-Work’ (test failures). We could either specify this as a simple percentage in a custom field or link the task to a pre-defined ‘Risk’ that includes the probability information.
Performing the Analysis
So far, we have just used standard Microsoft Project custom fields to capture all the risk and uncertainty information. The question now becomes how do we use the data?
Barbecana’s Full Monte Schedule Risk Analysis is a Microsoft Office Add-in that integrates into Microsoft Project.
First, we can apply the ‘Template’ uncertainty specified in the Duration Uncertainty column in Project using the uncertainty templates based on historical data:
The data in Full Monte then looks like this:
Now we can apply the discrete estimates for the known high-risk tasks using File, Import.
Which gives us this:
The Probability of the tasks associated with Risks occurring was automatically loaded based a pre-defined ‘mapping’ of information. In the following screenshot, you can see that task 9 (HW failure Re-Work) has been associated with risk RSK002, which has defined a probability of 5% for the risk to occur.
We are then ready to perform the Risk Analysis.
This populates the Graphs and Charts required for the risk presentation. The following chart is the probability distribution for the Committed Delivery.
We can see the custom committed delivery date is 21Sep20, and that the software is predicting a 99% chance of achieving that date.
This particular schedule follows best practice and has two ‘completion’ milestones. The first is the ‘work’ complete milestone, and the second is the customer required delivery milestone. The difference between the two milestones is Schedule Margin, effectively a Contingency for Risk. In this case we can see that our contingency (eight days) is adequate to protect the customer deliverable at 99% confidence.
A Sensitivity Analysis was performed, targeting the Project (Work) Complete Milestone and can be viewed as a Tornado Chart:
The Sensitivity Analysis is highlighting the tasks creating uncertainty in the outcome. Clearly the Re-Work tasks are causing the most variation in Finish Date even though they do not occur very often. We can use this information to focus risk mitigation efforts.
Risk mitigation plans can also be built into the schedule and techniques like Conditional Branching used to cause the simulation to execute the mitigation steps, if necessary.
Since the Full Monte add-on integrates into Microsoft Project, the results from Full Monte can be automatically saved back to specified Project custom fields. These can be used to produce custom Project views like the following ‘Risk Adjusted Gantt’.
And charts showing the most likely critical paths to selected milestones.
Full Monte allows your Microsoft Project Schedule to be the single source of the truth for schedule and risk. All the data and results can be created and reported inside Microsoft Project making data maintenance simpler and more accessible. Want to learn more? Join me for my vendor showcase session in July. We will cover the above process, as well as dive into why uncertainty creates unexpected delays. Questions and comments welcome.
You can sign up for John’s free live event in July by clicking here.