In this post I will look at one of the most useful aspects of using a properly linked-up MS Project plan; the ability to quickly and easily see the impact of change and identify the “critical path(s)” in the project and display the Gantt chart's critical path. This post was going to be called “why’s it all gone red” after a comment someone once made when making a change which impacted the critical path, however I thought that might not a useful title.
First a quick refresher / introduction as to what a “critical path” is just in case it’s a term you’ve heard banded about but never quite understood. Ignore this paragraph if it’s teaching you to suck eggs! Within a plan there are multiple chains of activity (paths) however activities on them can slip without impacting either the end date of the project or deadlines within it. However, there is usually at least one path of tasks where if any one task slips out it will drive out the end date. If you look at the simple project below, you can see that the tasks in the chain Task 1-4 can’t increase in their duration or move without pushing the Final task out. Conversely, tasks 5&6 can move 2 days before they’re in that position. It is possible to quantify how far any task can slip before it hits the critical path and this is called Slack; MS Project calls this “total slack”, and critical tasks will have 0d Total Slack
Thus tasks 1-4 and Final Task are the “Critical Path” of this very simple project. We can use MS Project to show this in a number of ways:
- The text can change colour
- The bars can change colour
- We can display “Total Slack” in a column in the table
Text Colour
- Click on the Format menu and select text styles
- Select “Critical Tasks” from the “Item to change” drop-down and select Red for the colour
Bar Colour
- Double-click anywhere in the Gantt chart background
- Select the second row and then click on “Insert Row” to make a new bar format
- Set up the critical bar format as follows:
- Names: Critical
- Appearance: Red as the colour in the centre section
- Show for … Tasks: Critical
- Leave it As Task Start and Task End for the From and To columns
- Click on the OK button to set the format.
Display Total Slack
- Right mouse on the table headings and choose "insert column” (or use the keyboard shortcut <ALT><I>,<C>)
- Select “total slack”. Note that if you start to type TOT, it will jump you to the right place in the list or filter it depending on your MS Project version, making it much faster.
- Hit OK
How to use Critical Path
Now that you can see the Critical Path you also need to understand that Project assumes that the last date in the project plan is the one that you’re interested in for the purposes of calculating the Critical Path. However this isn’t always the case, indeed it is rare for this to be the case – after all, not many customers care about the after-project review etc.
MS Project can also calculate the Critical Path / Total Slack till deadlines or a special class of tasks with the constraint “must finish on” or “must start on”.
If a task has a “must” constraint, it will always honour that constraint, regardless of overrunning tasks, etc. Thus the path will show the slack up until that constraint. If the tasks are going to overrun the constraint, the Total Slack will show a negative value as shown in Task 7 below.
We can also use Deadlines to drive a critical path, which is the most useful aspect, especially when dealing with critical deadlines or delivering dependencies. To use this, insert the column “deadlines”. In this example, we will set a deadline of the 28th against “Final Task” to display the critical path to this deadline. Notice that Project inserts an arrow to show the date of the deadline. Unlike "must" constraints a task or milestone with a deadline will move past that date however, the Total Slack will turn negative.
This sort of analysis isn’t useful only for critical path analysis, it can be very useful to understand how far a task can slip before it impacts something of interest. If we move the deadline to mid-week, we can see the Total Slack change to 3 days.
Obviously, in a simple plan like this, we can easily see the impact of a movement in task 2 etc. However, when the plan is large with many paths and dependencies, it can be harder; using MS Project’s power in this way can allow you to easily assess the impact of a change. Note that you can apply deadlines temporarily to help with this sort of analysis.
To force MS Project to only take notice of the deadlines and “Must” constraints and not take into account the path that ends in the last item on the plan it is necessary to put a fake last date into the plan. To do this set a milestone a long way into the future which isn’t linked to anything. Ensure it isn’t indented under anything to avoid a summary task suddenly springing into the far future.
Multiple paths
Notice that in the simple example, we have shown that MS Project easily calculates multiple critical paths – anything that has 0d or less Total Slack is critical.
So why is there an option to “Calculate Multiple Critical Paths” in Options under Advanced? In addition to the normal rules around last item / deadlines / “must” constraints this also treats anything which doesn’t have a successor task as critical and calculates the critical path for these items.
I have to admit that I haven’t found a convincing use for this option – if you know of any, please let me know in the comments section!