This is a part-post from Develop Schedule process post, part of the Tools and Techniques for the process. I suggest you get yourself a cup of coffee, this one is going to be a long one. As we saw in Develop Schedule process, Critical path is made up of series of activities from beginning to the end, where each activity has a dependency over previous activity in such a way that delay in any one activity causes delay in all subsequent activities, causing the project to slip. In other words, critical path is the longest path in your project’s schedule network diagram, and is the SHORTEST possible duration for the project.
How to Calculate Critical Path
Let us take a simpler example than John’s home construction example we saw in previous lessons. This project involves assembling a train set (refer to the picture above). Calculating Critical Path is a simple 4-step process.
Step 1: Find Activities
Activities for this project are as below (output from Define Activities process) -
A. Assemble two-tier bridge B. Join winding tracks C. Assemble and add train station D. Place standalone items around E. Assemble and add construction site F. Join train engine and bogies G. Place the train on the track H. Start the engine and let it chug!
Step 2: Build Schedule Network Diagram
Figure 2: Assemble train set – schedule network diagram
Step 3: Find all Possible Paths
Find all possible paths through the diagram, there are 3 in our case – A -> B -> F -> G -> H A -> B -> C -> D -> G -> H A -> B -> C -> E -> G -> H
Step 4: Calculate Duration for Each Path
Let us see the duration for each of these paths – A -> B -> F -> G -> H —> 10+20+4+2+2 = 38 minutes A -> B -> C -> D -> G -> H —> 10+20+5+10+2+2 = 49 minutes A -> B -> C -> E -> G -> H —> 10+20+5+2+2+2= 41 minutes The network path with longest total duration is the critical path! In our example this is the second path – A -> B -> C -> D -> G -> H, which comes to 49 minutes.
Figure 3: Assemble train set – Critical Path
Note that sum of durations of all activities on critical path comes 49 minutes, and sum of duration of ALL activities on the project is much longer. If managed well, the whole project can be completed within the critical path’s duration.
Calculating Float for Activities
Now, any schedule will have some flexibility, or elbow room, called Float. Float of an activity is the duration that it can slip by without delaying the subsequent task or completion of the project, or violating schedule constraint. It is the elbow room that a task has. Amount of time an activity on a network path can slip without causing a delay in early start of any successor activity and without violating schedule constraint is called Free Float. Total amount of time an activity can slip from its early start date without causing delay to project completion or violating schedule constraint is called Total Float. The simple 3-step process to calculate float of ALL activities in your schedule network diagram -
Step 1: Arrange the paths in decreasing order of their total duration, starting with Critical path
For the above example it would be as below, the first being critical path itself – A -> B -> C -> D -> G -> H —> 10+20+5+10+2+2 = 49 A -> B -> C -> E -> G -> H —> 10+20+5+2+2+2= 41 A -> B -> F -> G -> H —> 10+20+4+2+2 = 38 The float for each activity on the critical path is zero.
Step 2: Find float for activities on the second longest path
This would be the difference between total duration of critical path and next longest path. In our example this would be 49-41= 8 minutes. Assign this to ALL activities on this path, which do not already have a float. In this example that would be only activity.
Figure 4: Float for second path
Step 3: Do the same to all remaining paths, for unassigned activities
Now calculate difference between critical path and third path’s total duration, and assign this to activities on the third path – excluding any which already have a float assigned in previous step. In our example this would be 49-31 = 18 minutes. Do this step for rest of the identified paths and you have float for all activities.
Figure 5: Float for third path
Early Start, Early Finish and Late Start, Late Finish
Why do we need to know the early and late number for an activity? By knowing how early an activity can start and how late it can finish gives you the flexibility to juggle resources between other activities that can potentially impact critical path, and hence the project completion date. The shorter a network path is in relation to critical path, more schedule flexibility you will have on activities on that path.
Early start and Early finish
Indicates the earliest time an activity on a network path can start and earliest it can finish. If you decide to start an activity on its early start (assuming previous activities on that network path are completed on their early finishes), that activity can finish on its early finish (if it does not slip). And when the last activity on a network path is completed by its early finish, you have all the resources of those activities at your disposal to deploy on other high risk activities.
Calculating Early start and finish (take a FORWARD pass through network path)
Remember!: Always start with the critical path and then go with paths with descending order of their total duration.
Step 1: Early start of first activity on critical path is always 1. Write it at the top left corner of that activity box (see the image below). Step 2: Add its activity duration to this early start number and reduce it by one. Write the resulting number on the top right corner of activity box. Step 3: Take the subsequent number of this early finish and write as early start for next activity. Continue this till you reach the end of critical path. Step 4: Select the network path with second highest total duration, and calculate early starts and finishes. If you find an activity with early start and finish already written do not overwrite them. Do the same for remaining network paths.
Note: If you find two activities converging on a single activity (say, activity-G), it indicates that the activity-G will start only AFTER converging activities finish. So, you will take the largest value amongst the early finish of these two activities and write subsequent number as early start of the activity-G.
Why add duration to early start and then reduce by one, to get early finish? Because the duration of an activity includes both start and finish days (or any other unit of measurement you use). So, if first activity duration is 5 days, and early start is 1 then early finish is 1+6-1 = 6. That is 6 days including the start and finish days.
Figure 6: Early start and finish
As you noticed, early start number is written at the top left corner of activity box, and early finish on the top right corner. The critical path with early start and early finish days will look like this -
Figure 7: Early start and early finish for critical path
Late start and Late finish
Indicates the latest time an activity on a network path can start and latest it can finish. Knowing how late the last activity on the network path can start and still finish within the time to not impact critical path, will let you decide how much of flexibility you want to exercise on its schedule. However, once the last activity on the network path starts on its late start day it should not slip, else it will impact project completion date.
Calculating Late start and finish (take BACKWARD pass through network path)
Remember!: Start with the critical path, beginning at the last activity’s late finish.
Step 1: Late finish of last activity on the critical path is same as its early finish. Write this number at the bottom right corner. Step 2: Calculate late start of this activity as the late finish minus activity duration plus 1. This calculation has the same reason – start and finish are both included in the duration. Write this number at the bottom left corner. Step 3: Write this late start of the activity minus 1, as the late finish of previous activity. Continue this way all way till you reach the late start of first activity on the critical path. Step 4: Select the network path with second highest total duration, and write late starts and finishes beginning at the last activity of that path. Do the same for remaining network paths.
- If you find two activities converging on a single activity (say, activity-C), take the smallest value amongst the late start of these activities and write previous number as late finish of the activity-C.
- If you find an activity with late start and finish already written do not overwrite them.
Figure 8: Late start and Late finish
Late start number is written at the bottom left corner of activity box, and late finish on the bottom right corner. The critical path of our example with late starts and late finishes will look like this -
Figure 9: Late start, finish for the critical path
Let us go back to our example and calculate early/late start/finish for the entire schedule network diagram.
Figure 10: Early start, finish and Late start, finish for the entire schedule network diagram
We looked at few concepts in this post -
- Critical path
- Critical path in a network schedule diagram is the network path with longest total duration
- Critical path indicates SHORTEST duration of the project, which means any activity slipping on this path will cause a delay in project completion
- It is calculated by simply adding up duration of all activities on each network path and finding the one with largest number
- Float (also known as Slack) of an activity is the duration that it can slip without delaying the next activity or the project end date
- Float for every activity on critical path is zero
- Float for every activity on a network path is the difference between its total duration and that of critical path (excluding the activities that have float calculated already)
- Float is calculated for network paths in the descending order of their total duration, starting with critical path
- Calculating Early and Late Starts and Finishes
- Early start and finish are calculated by forward pass through the network path, and Late start and finish are calculated by backward pass
- Both are calculated first for the critical path
- Both are calculated for remaining network paths in the descending order of their total duration
- During calculation if you come across any activity with duration already calculated, do not overwrite
These calculations are quite simple once you get a hang of it. Please leave a comment should you have any questions.