Home > Blog

Working with Critical Path and Total Slack

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.  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 but 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 is anyone 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 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 

Simple waterfall project 

Thus tasks 1-4 and Final 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 

Three ways to see the critical path 

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 

Text Styles dialogue 

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. 

Bar Styles dialogue 

Display Total Slack 

  • Right mouse on the table headings and chose "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 the list 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. 

Project Closure shouldn't be critical

Project can also calculate the Critical Path / Total Slack till deadlines or a special class of tasks with the constrain “must finish on” or “must start on”.    

Negative slack 

If a task has a “must” constraint then 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 critical path and this is the most useful aspect, especially when dealing with critical deadlines or delivering dependencies etc.  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 and 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.

Use a Deadline to drive critical path

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 then see the Total Slack change to 3 days.   

Use total slack to inspect impact of movement 

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 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.  Make sure it isn’t indented under anything to avoid a summary task suddenly springing into the far future. 

Using Fake end date 

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 in Options under Advanced is there an option to “Calculate Multiple Critical Paths”?   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! 

Advanced option

Miles Goodchild

Miles Goodchild has been a Program and Programme Planner, PMO lead and Project Manger since 1998.  He enjoys using MS Office, especially Project, Excel and Visio to make life easier and simpler.  In the course of this he created SummaryPro.  In this blog he shares some of the tips and techniques he has learnt over the years in the hope that they will be useful to you.