The Critical Path

The idea of a critical path doesn't make much sense unless you understand the idea of a path. The concept of a "path" involves picturing the many ways you can get from one event) to another in a project. Here's a picture of an abstract project with all the sub-paths.

Sample Path Flow Diagram

Allowing for the directions of the arrows, I count seven possible paths that will take me from Event 1 to Event 6. Here's how I counted them: (The numbers represent the Events along each path. Thus. from Event 1, I can go to either Event 2 or 3. From Event 2 I can can go to either Events 3, 4, or 5 etc. Along the way, I do tasks (activities) that take the time indicated.)

			4	6
		3	4	5	6
			5	6
    	2 	4	5	6
		5	6
1 							4	5	6		3	5	6
    Or, in other words, the paths are:
  1. 1--2--3--4--6
  2. 1--2--3--4--5--6
  3. 1--2--3--5--6
  4. 1--2--4--6
  5. 1--2--5--6
  6. 1--3--4--5--6
  7. 1--3--5--6
    Replacing the sub-paths with the time for each and adding them up:
  1. 1+2+3+3=9
  2. 1+2+3+3+2=11
  3. 1+2+3+2=8
  4. 1+4+3=9
  5. 1+3+2=6
  6. 1+3+3+2=9
  7. 1+3+2=7
Click on chart to flip to the sample CPM chart. Press ESC or click on Back to return.

Although there are seven possible paths, the one that takes the longest (#2 above) is the critical path through the network. Of course this assumes that no event can start before the activity leading up to it is complete. In the real world, a network would have many more events and activities. However some connections between events might not be possible or likely.

If you try to do even this simple network by hand, you'll agree with me that a CPM program is worth its weight in computer chips.

Early and Late Start and Finish Times

We'll deal with just the start times for simplicity. Finish times have the same considerations.
ESe = the earliest start time for an event
LSe = the latest start time to reach an event without delaying the project

To compute the ESe for each event, take the largest sum of the times leading up to an event plus the ESe of all event from which those tasks emanate.

    ESe computations for sample network:
  1. ES1=0
  2. ES2=Time 1:2 + ES1 = 1 + 0 = 1
  3. ES3=Time 1:3 + ES1 = 1 + 0
    or Time 2:3 + ES2 = 2 + 1 = 3
  4. ES4=Time 2:4 + ES2 = 4 + 1 = 5
    or Time 3:4 + ES3 = 2 + 3 = 5
  5. ES5=Time 2:5 + ES2 = 3 + 1 = 4
    or Time 4:5 + ES4 = 3 + 5 = 8
    Time 3:5 + ES3 = 3 + 3 = 6
  6. ES6=Time 4:6 + ES4 = 3 + 5 = 8
    or Time 5:6 + ES5 = 2 + 8 = 10
Click on chart to flip to the sample CPM chart. Press ESC or click on Back to return.

Notice how the "1" in ES1 matches up with the "1:" in Time 1:2 for the ES2 case. The pattern continues throughout the computations. What this implies is, for example, that Event 3 can't start before the third time unit, namely the time it takes to complete both Tasks 2:3, 1:3 and 1:2.

Latest Start Times

LSe are the times an event muststart if the whole project is to stay on time. To calculate LSe's you start at the end and work toward the beginning, looking for the smallest difference between the latest start time of an event and the times for tasks on paths leading away from the event.

    Calculating the latest start times for the sample
  1. LS6 = LS6 - 0 = 10 (The ES of the last event.)
  2. LS5 = LS6 - Time 5:6 = 10 -2 = 8
  3. LS4 = LS6 - Time 4:6 = 10 -3 = 7
    or LS5 - Time 4:5 = 8 -3 = 5 (smallest difference)
  4. LS3 = LS5 - Time 3:5 = 8 -3 = 5
    or LS4 - Time 3:4 = 5- 2 = 3
  5. LS2 = LS5 - Time 2:5 = 8- 3 = 5
    or LS4 - Time 2:4 = 5- 4 = 1
    or LS3 - Time 2:3 = 3- 2 = 1
  6. LS1 = LS3 - Time 1:3 = 3 -1 = 2
    or LS2 - Time 1:2 = 1 -1 = 0
Click on chart to flip to the sample CPM chart. Press ESC or click on Back to return.

Slack Time

Slack time is where all the above begins to make sense. Slack time is spare time on the network diagram. It means that the project manager can hold off allocating resources for a particular task (and devote them to a more critical task) and still complete the project on time.
    Slack times for the activities in the sample network.
  1. ST 1:2 = LS2 - ES1 - Time 1:2 = 1 - 0 - 1 = 0
  2. ST 1:3 = LS3 - ES1 - Time 1:3 = 3 - 0 - 1 = 2
  3. ST 2:3 = LS3 - ES2 - Time 2:3 = 3 - 1 - 2 = 0
  4. ST 2:4 = LS4 - ES2 - Time 2:4 = 5 - 1 - 4 = 0
  5. ST 2:5 = LS5 - ES2 - Time 2:5 = 8 - 1 - 3 = 4
  6. ST 3:4 = LS4 - ES3 - Time 3:4 = 5 - 3 - 2 = 0
  7. ST 3:5 = LS5 - ES3 - Time 3:5 = 8 - 3 - 3 = 2
  8. ST 4:5 = LS5 - ES4 - Time 4:5 = 8 - 5 - 3 = 0
  9. ST 4:6 = LS6 - ES4 - Time 4:6 = 10 - 8 - 3 = -1
  10. ST 5:6 = LS6 - ES5 - Time 5:6 = 10 - 8 - 2 = 0
Click on chart to flip to the sample CPM chart. Press ESC or click on Back to return.

Note that the activities on the critical path have 0 slack time. One of the activities in the sample network even has a negative slack time which means that it should probably be started 1 time unit earlier.

So What?!

Nowadays, a project manager can almost forget about all the hairy and mistake-laden calculations of slack time. Many of the higher end PM tools do this automatically or upon demand. However, there is something to be said about going through the arithmetic by hand, at least once, just so you get an appreciation of what the PM tool is actually doing for you. On the other hand there's also something to be said for not doing all the computations by hand. All the work of running the numbers gives more importance to the CPM network. If anything happens to delay an activity along the critical path, the manager would need to refigure all the slack times and perhaps discover a new critical path and make the necessary adjustments. Rather than do that, many project managers tended to be "whip-cracking tyrants". Nowadays, recomputing the numbers is a minor task. With the appropriate PM tool, it even allows the manager to play "what if" and look for better ways to reorganize a project. This is especially true if the project has hundreds or thousands of activities.

Press ESC or click the on-screen Back button to return to the previous document.