The Critical Path Method (CPM) is one of the most important concepts in project management, and certainly among the most enduring. This beginner-friendly guide will help you understand the Critical Path Method and apply it in your projects.
For a project management technique, the Critical Path Method has quite an illustrious history.
Early iterations of the Critical Path Method can be traced all the way back to the Manhattan Project in the early 1940s. Given the ambition, scale, and importance of this world-altering project, scientists - and the managers behind them - developed a number of techniques to make sure that the project delivered results on time.
One of these techniques was to map out the most important tasks in any project and use that to estimate the project completion date.
Today, we know this technique as the Critical Path Method.
The CPM is a cornerstone of project planning even to this day. How long a project takes often depends on the most important tasks that constitute it.
If you can map out these tasks and their duration, you can get a reasonable estimate of the project’s timeline and budget.
Don’t worry if all this sounds too much like jargon to you. In this beginner-friendly guide, I’ll teach you everything you should know about the Critical Path Method (CPM) and how it applies to project management.
Understand the Critical Path Method
Have you ever heard of the Theory of Constraints (TOC)?
First described by Elliyahu Goldratt in his 1984 book, The Goal, this theory states that your ability to complete any activity hinges on a few critical resources or constraints.
For example, if you’re making a sandwich, you might have all the butter, ham, and cheese you need, but if you don’t have bread, you can’t make a sandwich.
The bread, in this case, would be the constraint your sandwich-making project depends on.
The Critical Path Method is similar to this theory, but broader in focus. According to this method, the success of any project depends on tasks along a critical path being completed on time.
Let’s look at this method in more detail.
What is the Critical Path Method?
Every project, regardless of its size or budget, has some core tasks that are crucial to its completion.
Take something as simple as making an omelet.
If you had to create a short recipe for making an omelet, it would look something like this:
- Beat 2 eggs
- Heat a pan, add butter/oil when hot
- Pour in the beaten eggs and cook for 5 minutes
There are several other tasks you need to perform to make a good omelet. You have to season the eggs with salt and pepper. Maybe add some vegetables and some cheese. Perhaps you could flip it on the other side so the eggs are fully cooked through.
However, these activities are in-addition to the three core steps in the recipe. Even if you don’t perform them, you’ll still have an omelet. Not a very good one, but an omelet nonetheless.
On the other hand, if you forget to beat the eggs, or heat the pan, or cook the eggs, you won’t have anything but a cold pan and two eggs.
Which is to say, the three steps in the recipe describe the critical tasks necessary to make the omelet making project a success.
And the sequence of these steps describes the critical path a new cook must take if he wants to make an omelet.
This is the Critical Path Method in a nutshell.
Critical Path Method Definition
The Critical Path Method is defined in the Project Management Body of Knowledge (PMBOK) as follows:
“The Critical Path Method is the sequence of scheduled activities that determines the duration of the project.”
These scheduled activities must be performed if the project is to be considered a success. Moreover, they must be completed in a specific order. If you’re building a house, you can’t construct the walls and then dig the foundation; you have to do it in a sequence.
The important bit to understand is that the CPM describes the longest sequence of tasks in the project.
That is, in any project, you’ll have multiple task sequences. The CPM would describe the sequence that takes the most time.
For example, if you’re building a house, you would have several task sequences as follows:
Each task takes a different amount of time and resources. It takes more time to build walls and lay the roof than to install faucets and fixtures.
If you had to figure out the project’s ‘Critical Path’, you would look at the sequence that takes the most amount of time, like this:
The total time taken to complete the sequence along this critical path would give you an idea of the project’s minimum duration.
You might undertake several task sequences simultaneously, but if there are any delays in the critical path sequence, your project will suffer delays as well.
The Critical Path Algorithm Explained
At its heart, the Critical Path Method is essentially an algorithm for decision making. This algorithm takes a task's start time, its duration, and finish time to figure out which activities deserve the most attention (i.e. are "critical" for the project).
Let's consider an example to understand the critical path algorithm better.
Suppose you have a list of tasks as shown below. Column C and D list the tasks that must be accomplished for the activity to begin, and the duration of the activity, respectively.
Since the project manager's goal is to complete the project as quickly as possible (without compromising on quality, of course), we'll try to find the earliest finish time for each activity.
To do this, organize all tasks into a flowchart and note their durations next to the task ID. The arrows indicate the sequence of activities. We'll mark the Earliest Start (ES) time to the left of the activity, and the Earliest Finish (EF) time to the right.:
Mark the Start Time (S) to the left and right of the first activity. Usually, this would be 0.
Now mark the Earliest Start (ES) time of each activity. This is given by the largest number to the right of the activity's immediate predecessor (i.e. its Earliest Finish time, or EF).
If the activity has two predecessors, the one with the later EF time would give you the ES of the activity.
The EF of an activity is given by its Earliest Start time (ES) and its duration (t), i.e. ES + t.
Thus, if an activity's ES is 20 and will last for 10 days, its EF will be 30.
Mark all these figures in the flowchart.
The longest path will be the “critical path”.
The final figure to the right of the last task in the sequence will give you the minimum time the project will take to finish.
Float or Slack in Project Management
A concept related to, and crucial for using the Critical Path Method, is float or slack.
In project management, “float” defines the amount of time a task can be delayed by without causing a delay in:
- Any subsequent, dependent tasks - called “free float”
- Any delay in the overall project - called “total float”
Any activity or task on the critical path has zero float. That is, you can’t delay it at all without causing a delay in the project or dependent tasks.
However, there are plenty of other activities in the project that can be delayed. The quantification of this delay is called the “float”.
For example, when you’re making an omelet, “Heating the pan” has zero float since it is on the critical path.
Seasoning the eggs, however, has a lot of float. You can add salt to the raw egg mixture, while the eggs are cooking, and even after they’ve cooked.
Calculating the float or slack of all activities in the project is crucial for better distribution of resources.
If an activity has high float, you can divert its resources to a higher priority task.
Generally speaking, high float activities will be lower down the priority list, while those on the critical path (aka ‘zero float’ activities) will get prime attention.
Dealing with Contingencies and Constraints
Rare is the project that goes according to plan. You will invariably have delays, scope changes, and client demands that will force you to hasten some activities and delay others.
The Critical Path Method includes several measures to deal with such contingencies:
1. Fast Tracking
Fast tracking is the process of running multiple activities on the critical path in parallel in order to reduce overall project time.
Fast tracking is only possible for activities which don't have "hard" dependencies, i.e. they don't depend completely on their predecessors to start.
For example, you need to dig the foundation before you can build the walls of a house. But while you're doing the digging, you can also buy bricks and mix the cement.
Thus, while "build walls" is dependent on "dig foundation", you can run "buy bricks" and "mix cement" in parallel to digging the foundation.
Obviously, fast tracking requires additional resources. It can also impact overall quality since you're distributing resources to multiple tasks. Good resource management will come in particularly handy in situations where you need to run activities in parallel.
What if you need to rush an activity because of an early deadline?
In such a situation, you can allocate additional resources to the activity to bring it to completion faster.
This process is called 'crashing'.
Crashing is useful in activities which:
- Benefit from having additional resources, i.e. follow a linear relationship between resources and time to completion.
- Can utilize resources from activities with high floats. Since there is significant "slack" in these activities, you can delay them without jeopardizing the project
Crashing is generally not recommended barring emergencies since it can impact activities on and outside the critical path. If you have to do it, however, divert resources from high float tasks, not those on the critical path.
What Are the Benefits of the Critical Path Method?
In its September 1963 issue, Harvard Business Review had this to say about the Critical Path Method:
“Recently added to the growing assortment of quantitative tools for business decision making is the Critical Path Method—a powerful but basically simple technique for analyzing, planning, and scheduling large, complex projects.”
Since then, this method has established itself firmly in the theory and practice of project management. And for good reason - using the Critical Path Method offers countless benefits:
- Reduce delays: The Critical Path Method helps identify the most important sequence of tasks in a project. Managers can use this information to reduce delays by optimizing the work along the critical path.
- Visualize dependencies: The CPM depends on listing all tasks associated with a project and their dependencies. The chart thus created can help you visualize all dependencies and prioritize tasks accordingly.
- Improve organization: In complex projects, the CPM helps break down deliverables into sequences, and sequences into tasks. This, along with the focus on visualizing dependencies, mapping constraints, and defining the critical path of tasks drastically improves project organization.
- Optimize efficiency: By mapping the critical path, project managers get a better idea of important tasks in the project. They can use this information to allocate resources more efficiently, adding/removing resources depending on the task's importance.
- Float calculation: Float, as we'll learn below, defines how much a task can be delayed without impacting the project schedule. This is an important part of the Critical Path Method. Calculating the float can help you distribute resources more effectively.
If you’re a project manager - or aspiring to be one - there is another reason to understand the Critical Path Method: it is a core part of the PMP exam. You can’t really hope to be a certified project management professional without a deep understanding of this method.
In the next section, I’ll do a deep dive into CPM and show you how to use it in your projects.
How to Use the Critical Path Method
The Critical Path Method can seem overly complicated until you actually put it to use. If you have a good understanding of core project management concepts such as the Work Breakdown Structure (WBS), you’ll find that CPM is delightfully simple.
I’ll walk you through a step-by-step process for using the Critical Path Method below.
A Step-by-Step Process for Using Critical Path Method
Recall our article on work breakdown structures (WBS)?
This WBS is the first ingredient in using the Critical Path Method. If you don’t understand the role of the WBS or how to create one, I encourage you to read our beginner-friendly article first.
Once you have a WBS, jump straight to the first step.
Step #1: Identify activities based on WBS
If you know your WBS, you would know that it describes deliverables, not activities. This is why all its components are described using nouns or adjectives, not verbs.
The CPM, however, focuses on activities described using verbs.
The first step the CPM process, therefore, is to list all the activities required to create deliverables at each level of the WBS.
For example, if you’re making a sandwich, you might have the following activities associated with it:
This list of activities will form the foundation of the CPM, so make sure it is thorough.
Step #2: Identify all dependencies
Any project has two types of tasks:
- Tasks that depend on other tasks for their completion, i.e. dependent tasks
- Tasks that are independent of others and can be done in parallel to others, i.e. concurrent tasks
For example, if you’re making a sandwich, you can buy bread, vegetables, cheese, and chicken for it simultaneously. You can also chop vegetables while the chicken is cooking. Thus, these would be concurrent tasks.
However, buying bread and toasting bread are dependent tasks. You can’t toast bread if you don’t buy it, after all.
The next step in the CPM process is to establish which of the tasks are dependent and which are concurrent.
Go through your list of activities and identify which tasks each depends on, and in what order, like this:
A list of dependent tasks is called an activity sequence. You’ll use these sequences to figure out the critical path.
Step #3: Create a network diagram
Once you’ve identified all tasks and their dependencies, it’s time to create a network diagram, also known as a critical path analysis chart.
This chart visualizes separate activity sequences and enables you to map dependencies easily. To create it, make a list of all activity sequences. Create separate boxes for each task in the sequence.
Next, use arrows to identify dependencies between tasks in each sequence, like this:
This network diagram will form the basis of the final critical path.
Step #4: Estimate duration of each activity
Recall that the critical path method describes the longest sequence of activities necessary to deliver the project successfully.
Thus, to figure out the critical path, we first need to estimate the duration of each activity. The activity sequence that takes the longest time would then be our critical path.
There are several tactics you can adopt to estimate the duration of an activity:
- Guesswork based on experience and knowledge
- Estimate based on past project data
- Estimate based on industry benchmarks
- Estimates based on extrapolated data
For example, if you know that it takes you 10 minutes to paint a 2’ x 2’ board (4 sq ft), you can estimate that it will take you 250 minutes to paint a 10’ x 10’ wall (100 sq ft).
However, even the best estimates can be inaccurate. Some tasks might be delayed because of unproductivity, delayed dependent tasks, or errors. Others might be completed earlier than expected because of an efficient worker.
To account for such contingencies, it is common to use three estimates for each activity:
- Best-case scenario, i.e. shortest duration (A)
- Normal scenario, i.e. expected duration (B)
- Worst-case scenario, i.e. longest duration (C)
The average of these three cases would give you a reasonable estimate of each activity’s duration.
Activity Duration = A + B + C / 3
If you’re dealing with activities you’ve performed several times in the past, you’ll likely have a better idea of its duration. In such a case, you can use a weighted average, giving additional preference to the “normal” scenario (B) according to your own confidence.
Weighted Activity Duration = A + 2B + C/3
List the duration (t) of each activity next to its name in the network diagram.
Step #5: Calculate the Critical Path
In your network diagram, write down the start and end time of each activity next to its box.
The first activity in the sequence would have a start time of ‘0’. Its end-time would be its duration.
The second activity’s start time would be the end-time of the first activity. Its end-time would be the start time + the duration.
Do this for all the activities in every sequence, like this:
Now, look at the last activity in each sequence. The figure to its right would tell you the duration of the entire sequence.
The activity sequence with the longest duration would be your critical path.
Step #6 (Optional): Determine Floats
Float, as I mentioned earlier, is the amount of time an activity can be delayed without causing a delay in the project.
Calculating the float for all activities can help in resource planning. If an activity has a high float, you can divert resources from it to a higher priority task.
To determine float, follow this process:
- Find the second longest sequence of activities in the network diagram.
- Subtract its total duration from the duration of the critical path sequence
- The difference between the two durations will give you the float for each activity in the second sequence.
- If there are any common activities in both sequences, it will have a float of 0 since it is also on the critical path
You can do this for all other sequences to determine floats for every activity.
For example, in the diagram below, activities E, F, G, H, and I make up the critical path. Their total duration is 100 hours.
Activities B, C, D and E make up the second longest sequence with a total duration of 90 hours.
The difference between their total duration is 10 hours. However, since activities E is common and in the critical path, it would have zero float.
Hence, B, C, D - which are the non-common activities in the second sequence - would have a float of 10.
That’s it! You just used the Critical Path Method in a hypothetical project.
In the real world, you’ll rarely use network diagrams to chart the critical path. Instead, you’ll use Gantt charts to visualize tasks and their dependencies.
However, creating network diagrams and mapping critical paths manually can help you understand the concept better. It will also help you when you’re preparing for the PMP exam or actually managing projects.
Do you use the critical path method in your projects? What are some of your best practices for using it?