2007 Vol. 3 The Quarterly Newsletter of the PMI Central Indiana Chapter August 31

Microsoft Project Best Practices
Critical Path Management
Dr. Edward Hanna

Dr. Edward Hanna is a Sr. Enterprise Project Management Consultant with Microsoft Consulting Services.  He has over 20 years of experience in project/program management and strategic management roles in a wide range of industries.  His consulting work involves assisting Fortune 500 clients and government organizations with the deployment of Microsoft’s Enterprise Project Management solution, Project Server 2007.  Dr. Hanna resides in Southern California and he holds the PMP certification.

Where Has My Critical Path Gone?

Microsoft Project is a very powerful and very flexible environment.  In that power and flexibility, there is also danger and frustration for the unwary. Project Managers sometimes fall victim to these dangers. They become victims of their own choices--choices concerning the way that they use Microsoft Project. For example, if you are having trouble finding the critical path in your schedule, it is possible that your use of deadlines or constraints may be keeping you from seeing the critical path. Deadlines and constraints in your project schedule can actually create multiple critical paths--to the point that you can't tell which is "the critical path".  In such cases, you have a serious case of "noise" in your schedule network.

When you assign a deadline or a constraint on a task, you essentially "pin the task" to a certain date and you prevent that task from moving to the right (i.e. out in time). Even if the predecessor tasks increase in duration, that constrained task is just not going to move.   Although it doesn't move, it acts much like a mirror--reflecting any accumulation of negative slack backwards through the network. If the durations of its predecessors increase enough, the constrained task becomes "critical" (i.e. Its slack goes to zero (or below). In the Tracking Gantt, the Detail Gantt and the Network Diagram, it will appear in red to signify that it is now "critical").  When the constrained task goes "critical", all of its predecessors also go "critical"--because of the negative slack being reflected backwards through the schedule network.

Look at the following schedule.  There are four parallel "slack paths" through the network (e.g. tasks #2, #3 and #4 form the first slack path; tasks #5 and #6 form the second slack path, etc.).  Note that all four slack paths are "critical" (i.e. red) because they all have accumulations of negative slack (see negative amounts in Total Slack column).  The negative slack in the first path is caused by the deadline on task #4.  The negative slack in the second path is caused by the deadline on task #6.  The negative slack in the third path is caused by the deadline on task #10.  Finally, the negative slack on the fourth path is caused by the deadline on task #13. 

    Note: Each of those red slack paths is saying "this slack path is not going to meet its deadline".  They are cluttering your display and preventing you from seeing the slack path that is saying "this slack path is the critical path".

 

Since there are multiple paths that are critical (i.e. have negative slack), it is difficult to tell which is "the critical path" (i.e. the longest path through the network).   (However in this simple example, you can tell visually that path #3 is the longest path through the network.  But in longer, more complex networks, you will not be able to make that visual comparison. You just will not know which of the many critical paths is "the critical path".)

 

But here is what it looks like when you remove all those deadlines.  “The critical path” is evident!  We know exactly what is driving the end date of the project.  We can easily identify the tasks on "the critical path".  For one thing, they are red on the Gantt chart.  But we can also identify them from the Total Slack column.  The tasks on the critical path can be identified because they have the smallest amount of Total Slack (i.e. this may be zero or it may be a negative number).  In any event, removing all the task constraints (i.e. deadlines or constraints) allows "the critical path" to be visible. 

Note: In this case, zero is the minimum number in the Total Slack column.  Thus, every task with 0 days of Total Slack is "on the critical path".

 

Lessons learned:

1.  If too many tasks in your schedule network appear to be critical (i.e. red) and you can't find your critical path, make a backup copy of your project first (i.e. don't experiment with your production copy of the schedule) and then (on your backup copy) try removing all of your deadlines and constraints. 

2.  Inspect the Total Slack column looking for the smallest number (or the largest negative number).  All the tasks having that number of days of Total Slack are "on the critical path". 

3. Use the Tracking Gantt view, the Detail Gantt view or the Network Diagram--all of which show the critical path in red.