Est. Reading Time: 5 minutes
For project managers, it’s sometimes hard to know exactly how a delay in one part of a project will affect the others. Even if a small delay won’t have any impact on the final deadline, where is the line in the sand and how do we know when we’ve crossed it? How late can one deliverable be before the whole project deadline is compromised?
I’ve recently discovered a simple method that answers all of those questions: CPM (Critical Path Method). It was originally developed by E.I. du Pont de Nemours & Co. Like the name suggests, this helpful planning tool makes clear what activities cannot be delayed and which ones can. It can be used internally to help shuffle resources should an emergency arise, and it can be used to manage client expectations given delays or scope creep. Here’s how it works:
1. Break Up the Project
Most managers do this already to create project milestones, but you want to make sure that the way the project is broken up makes sense and is useful. An activity is a task or group of tasks that are related to achieving a particular goal of the project. There’s no hard and fast rule to say what officially constitutes an activity, so use your best judgement and tweak if need be. For web projects, here’s how I define the typical activities:
2. Identify the Dependencies
The next step is to identify the immediate predecessors to each activity. What has to happen before a subsequent activity can take place?
|I||Content Import||8||F, G, H|
3. Draw a Chart
- ES stands for Early Start – the earliest an an activity can begin.
- Dur stands for Duration – the length of time needed to complete an activity.
- EF stands for Early Finish – the earliest an activity can finish. EF + Dur
- LF stands for Late Finish – the latest an activity can finish.
- LS stands for Late Start – the latest an activity can begin. LF – Dur
4. Fill in Duration
Replace the duration in each activity block with the initial estimate you gathered in the quoting process. You can use either weeks or hours, but make sure to keep the units consistent. I typically use business hours for my chart, which makes it easier for me to schedule projects over the holiday season when there are fewer business days.
5. Forward Pass
Now, we replace ES in Activity A with 0 since that is the earliest the first activity can start. To calculate EF for each block simply add ES and Duration. The EF of the activity becomes the ES for the activity immediately following it. So ES for Activity B is the same as EF for Activity A. When you run into a situation where there are multiple predecessor activities (like for Activities I, J, and K in our example), you use the largest EF value because that is the soonest that all predecessor activities will be completed. Now you work your way forward through the chart until you have the Early Finish for the final activity. This is the length of the project. In this case, it’s 244 working hours.
6. Backward Pass
So now we have a project duration, but we have quite a few activities that don’t have to start right away. So now let’s calculate LF and LS for each activity. Starting at the end, substitute LF for the final activity (L) with the EF. The project conclusion date should be both the earliest and latest the project can finish. Now we subtract Duration from LF to find LS. So LS for Activity L should be 244 – 4 = 240. When you run into a situation where there are multiple subsequent activities (like E, G, and H), the smallest Late Start value becomes the Late Finish for the previous activity because that is the latest that activity can start.
7. Critical Path
Now we identify the critical path. Simply compare the Early Finish and Late Finish of each activity. If they are the same, then that activity is on the critical path. If they are not, then there is slack time. Early Start is the soonest you can begin the Activity, and Late Start is the absolute latest you can begin it. Here is how our chart should look now with the critical path shown.
So our critical path here involves activities A, B, C, D, E G, J, K, and L. From here, I can see that if there are any delays in Activity F (Content Development), I know that it won’t sacrifice the deadline. I can even see the Slack Time (LF – EF) is 36 working hours or 4.5 business days. So if a client says the content will be 4 days late, no problem. On the other hand, if it is 6 days late, the project will be delayed by that difference in time (1.5 days). Neat little tool huh?