What is Critical Path Method in project management?

Critical Path Method - cover

The Critical Path Method is a project scheduling algorithm.

Back in the 1950s, the chemical company E.L. duPont el Nemours was suffering from production delays.

To address this issue, they developed the Critical Path Method (CPM) as a means of increasing their scheduling efficiency.

While the specifics of how to portray the CPM diagram have changed since then, the core of CPM has remained the same ever since. In other words, it is still one of the best ways to map out a project schedule.

By the end of this guide, you’ll know everything needed to use CPM as a beginner, including how to do all the calculations yourself. To make sure this is the case, we’ll first explain all CPM terminology and then take you step-by-step through the calculations needed for determining the Critical Path on a mock project example. We’ll also compare CPM with PERT and Gantt charts.

What is the Critical Path Method (CPM)?

The Critical Path Method is a scheduling algorithm used to calculate how long a project will take to complete. This is done by identifying the longest sequence of dependent activities that must be performed for project completion, i.e., the Critical Path.

Doing this will also highlight how much extra time you have to perform the activities that aren’t on the Critical Path. This will allow you to appropriately direct your efforts towards project completion.

Why use the Critical Path Method?

By using the Critical Path Method, you will be able to calculate with great precision how long a project will take to complete. You’ll also gain valuable insight into which tasks have breathing room and which ones require immediate attention.

It’s often the case that some unexciting and possibly simple tasks serve as a bottleneck for a project timeline. In this case, focusing on the more exciting and complex tasks can end up unnecessarily pushing the project past its deadline.

With CPM, complex and exciting tasks will still get all the time they need and deserve, just not at the expense of the project’s overall timeline.

If this sounds vague, that’s because specific CPM terminology is needed to properly explain how these effects are achieved.

So, let’s go over the terminology.

Critical Path Method terminology

To the uninitiated, a Critical Path Diagram will seem indecipherable.

The truth of the matter is that the only math involved in CPM is addition and subtraction. Most projects also measure task duration in days, removing the need to fiddle with hours and minutes.

In other words, the math couldn’t be simpler.

But to do this, you first need to be acquainted with CPM’s acronym-heavy terminology. 

So let’s quickly demystify the following CPM terms:

  • Critical Path
  • Activity nodes
  • Early start time (ES)
  • Early finish time (EF)
  • Late finish time (LS)
  • Late start time (LF)
  • Total float/slack (TF)
  • Free float (FF)

Critical Path

We know what the Critical Path Method is, but let’s also answer what the Critical Path is — after all, one of the goals of CPM is to highlight a project’s Critical Path.

The Critical Path is the string of dependent activities with the longest overall duration.

Example of a Critical Path Method diagram
Example of a Critical Path Method diagram

In the diagram above, the A-C-G-H string of activities constitutes the Critical Path, as they take 54 days to complete.

The alternative route—consisting of activities A-B-E-G-H—takes only 40 days to complete. In other words, no matter how quickly you go through this second route, the project won’t be completed until the activities on the Critical Path get done.

Activity nodes

Activity nodes are rectangles designed to hold all the crucial information needed for charting a project’s Critical Path.

Once upon a time, CPM was performed using the so-called activity-on-arrow diagrams. They contained much of the same information but were more visually confusing.

Nowadays, activity-on-node diagrams pervade. As the more intuitive method, this is the only type of diagram we’ll use in this guide.

Each task required for project completion gets its own activity node. The illustration above features 9 activity nodes: A1, A2, A3, B1, B2, B3, C1, C2, and C3. 

These nodes are then linked with arrows to point out task dependencies — you can’t begin work on A2 before you’ve completed task A1.

In addition to the activity name, the node also contains all the following data found in the picture below.

Map of a CPM activity node
Map of a CPM activity node

Early start time (ES)

Early start time denotes the earliest possible point at which an activity may be commenced

The ES for the first task(s) in a project is set to zero. 

To calculate the ES for all other tasks, just copy the EF (Early finish time) of the preceding dependent task. If a task is dependent on two or more previous activities, refer to the activity with the longer ES.

In case this sounds confusing, let’s apply the principle to the simplest activity imaginable — making tea. 

You want to make a cup of tea, but all your teacups are dirty. 

Making tea depends on two tasks — boiling water and washing a teacup. 

The water takes 5 minutes to boil, but you can wash a cup in 30 seconds. You can do these activities at the same time, but the earliest time at which you’ll be able to make tea corresponds to when you finish the longer of the dependent tasks. 

In this example, making tea has an ES of 5 minutes — because this is the time of the longer of the dependent tasks.

Early finish time (EF)

Early finish time denotes the earliest moment at which it is possible to finish a task

To calculate the early finish time for a task, you take its ES and add the task duration (Dur).

EF = ES + Dur

Since the first activity in a project generally has an ES of 0, the EF will be identical to the duration of the first activity.

All dependent tasks that stem immediately after it will take the first task’s EF as their ES, and add their duration to it to calculate their EF.

Late finish time (LF)

Late finish time denotes the latest point at which you can complete an activity without it prolonging the overall project timeline.

Tasks that are on the Critical Path have identical LF and EF values. 

To calculate the LF of tasks that aren’t on the Critical Path, you have to start with the project completion node and work your way backwards. The LF of a node is equal to the LS (Late start time) of its subsequent dependent node. 

This is another equation that looks way more complicated in isolation, so let’s uncomplicate it using the previous tea-making example. 

The final activity (making the tea) has an LS of 5 minutes. This is the LF value of all activities that lead into it. So, both washing the cup and boiling the water have an LF value of 5 minutes.

Late start time (LS)

Late start time denotes the latest point at which you can start work on an activity without having it prolong the overall project timeline.

To calculate the LS of an activity, use the following formula:

LS = LF – Dur 

In our example, washing the cup takes 30 seconds. This activity has an LF of 5 minutes. Therefore, its LS equals 4 minutes and 30 seconds. 

In other words, if you start washing the cup at the 4-minute and 30-second mark, you’ll still be able to start making tea on schedule. 

Any later than that, and your boiling water will be waiting for you to finish washing the teacup, thereby extending your afternoon-tea project’s timeline.

Total float/slack (TF)

Total float and total slack denote the amount of wiggle room you have before you must start working on tasks that are not on the Critical Path.

If you’re being pedantic, you could say that float and slack aren’t identical and that the difference between the two lies in your attitude — float is how much extra time you can dedicate to tasks whereas slack is how long you can procrastinate.

For all intents and purposes, float and slack are identical, as they share the same values and are calculated using the same formula. 

To calculate total float/slack, use either of the following formulae:

TF = LF – EF

TF = LS – ES

In the tea-making example, boiling the water has no float since it’s on the Critical Path.

Washing the cup has a total float of 4 minutes and 30 seconds.

Free float (FF)

Free float denotes the time you can delay an activity without delaying the early start of subsequent activities that are dependent on it.

By definition, free float cannot be larger than total float. 

This means that activities on the Critical Path have no free float.

However, when there’s a chain of activities that aren’t on the Critical Path, the earlier activities in that chain will have shorter free float than total float.

To calculate free float, use the following formula:

FF = subsequent activity ES – ES – Dur

Free float is often not displayed on an activity node but rather written above or below it, if it’s even calculated in the first place.

How to find the Critical Path?

We wouldn’t be surprised if these terminology explanations only served to further confuse you.

As we’ve already stated, while the math involved in CPM is exceedingly simple, the terminology takes some getting used to.

So to make it more digestible, let’s chart out a project using the Critical Path Method.

To keep things simple, we’ll demonstrate the use of CPM on an example that’s complex enough to showcase different scenarios you can expect to encounter using this scheduling algorithm, but still simple enough for beginners to follow.

To do this, we’ll treat the process of cooking homemade ramen as a project. 

Step 1 — Create a Work Breakdown Structure

Step one of using the Critical Path Method is creating a Work Breakdown Structure for your project.

Work Breakdown Structures are a complex subject in their own right, so we suggest reading our WBS guide if you want to know more.

The short of it is this — a WBS is a graphic representation of a project used to break it down into its constituent tasks.

To complete a bowl of ramen, we’ll need:

  • The broth, 
  • Tare (salty base), 
  • Noodles, and 
  • Toppings (eggs and chashu). 

The tare is used both in the final dish and to marinate the toppings, adding some extra complexity to the project. Admittedly, the ramen is missing some veggies, but we don’t want to complicate the process too much.

In this example, the list of tasks derived from a WBS is as follows:

  1. Buy ingredients
  2. Boil bones
  3. Boil eggs
  4. Make tare
  5. Make chashu
  6. Cook noodles
  7. Add aromatics
  8. Marinate eggs
  9. Marinate chashu
  10. Strain and adjust flavor
  11. Serve and enjoy

To find the Critical Path, you need to determine how long each task will take to complete in isolation. 

The CPM doesn’t help you get to this data — you can use estimates, guesstimates, previous experiences, or any other means of discerning task durations.

Once you’ve got the task list and task duration ready, create an activity node for each activity.

At this early stage, nodes will only contain their activity name and/or designation and duration:

  • (a) Buy ingredients, 2 hours
  • (b) Boil bones, 4 hours

Before you do any calculations, connect the activity nodes with arrows to signify activity dependencies. The nodes will naturally branch out, but they will all converge to mark project completion.

With that done, you’ll be ready to start calculating the forward pass. 

The image below shows the completed CPM diagram of this project.

An activity-on-node CPM diagram for the ramen-making example
An activity-on-node CPM diagram for the ramen-making example

Step 2 — Do a forward pass

Step two of using the Critical Path Method is doing a forward pass.

A forward pass is an act of calculating the ES and EF of all activities and highlighting the Critical Path. 

For this, we will use the previously mentioned EF formula: 

EF = ES + Dur

What keeps this formula simple is the fact that starting activity (or activities) have an ES of 0.

In this example, we can see that, once you’ve bought the ingredients, you can start working on five activities that aren’t dependent on one another. All of them have an ES time of 2 hours, which is the EF of activity (a) Buy ingredients

However, they all have different EF times, which you get by adding their duration to their ES times. 

For instance, boiling the eggs only takes 7 minutes, so the EF for activity (c) Boil eggs is 2 hours and 7 minutes:

EF = ES + Dur = 2 h + 7 min  

Meanwhile, boiling bones takes 4 hours to complete, leaving activity (b) Boil bones with an EF of 6 hours.

EF = ES + Dur = 2 h + 4 h 

Once you’ve done this for all activities, you can see which sequence of activities takes the longest to complete. 

Keep in mind that we are calculating the total time needed for project completion, not the number of nodes.

In this example, the sequence of nodes that will take the longest to complete is (a)-(b)-(g)-(j)-(k) — this is the Critical Path

The sum total duration of this chain of activities is 9 hours:

2h + 4h + 2h + 30m + 30m = 9h

No matter what you do, you will not be able to complete the project in under 9 hours, since that’s how much time all the tasks on the Critical Path require.

Step 3 — Do a backward pass

Step three of using the Critical Path Method is doing a backward pass.

Once we’ve finished calculating the forward pass to identify the Critical Path, it’s time to do a backward pass that’s used to calculate the total float.

Activities on the Critical Path don’t have float. 

If they get delayed or prolonged by even a day, then the entire project gets delayed by the same amount. 

But activities that aren’t on the Critical Path have some wiggle room.

To calculate how much float other activities have, you’ll first need to calculate their LF and LS values. 

The LF of a node is equal to the LS of the subsequent one. 

Activities on the Critical Path have equal values for their ES and LS, so we’ll take the final node as our starting point. 

For example, node (i) Marinate chashu, has an LF of 8 hours and 30 minutes, as this is the LS value of node (k) Serve and enjoy. To get its LS, we just subtract its duration (4 hours) from its LF. This is how we arrive at the LS of 4 hours and 30 minutes for node (i) Marinate chashu

Now to calculate its total float for (i) Marinate chashu, we just subtract its ES from LS (or EF from LF). This lets us know that activity (i) Marinate chashu has a total float of 1 hour and 30 minutes. 

TF (1h 30m) = LF (8h 30m) – EF (7h)

In other words, if you start working on node (i) Marinate chashu at its LS value — the 4-hour and 30-minute mark — you’ll have just enough time to finish the project on time.

What is the difference between the Critical Path Method and other methodologies?

In case it wasn’t clear, we should reiterate that the Critical Path Method is not a project management methodology.

Therefore, comparing it to other project management methodologies — like Waterfall, Kanban,  or Scrum — would be tantamount to comparing ducks to duct tape.

Instead, it helps to think of CPM as a project management tool (but, not to be confused with a project management tool). 

You are free to use this tool regardless of which PM methodology you decide to follow, so long as the methodology in question doesn’t resist this kind of thorough preplanning. For example, Agile methodologies and CPM don’t mesh well.

That being said, we certainly can compare the Critical Path Method to other similar project management tools.

Given that CPM is a scheduling tool, the most immediate and most relevant comparisons can be drawn between it, PERT, and Gantt charts.

Critical Path Method vs PERT

PERT (Program Evaluation Review Technique) and CPM share a lot in common.

Not only are they both scheduling tools, but they were also developed around the same time.

Back when CPM was being developed at DuPont, the US Navy’s Polaris Project was also behind schedule.

PERT was the solution they developed to combat this issue.

Needless to say, it operated a bit differently.

While the starting point of PERT still includes breaking the project down into bite-sized tasks and mapping out the necessary sequence of tasks based on their dependencies, it’s more strict about calculating the duration of each task.

This was done by assigning each task three potential duration estimates:

  • The most optimistic (O) time needed to complete each task,
  • The most probable (M) time needed to complete each task, and
  • The most pessimistic (P) time needed to complete each task.

Once you have this data, you can calculate the PERT estimate (E) using the following equation:

E = (O + 4M + P) / 6  

In addition to this, charting out the timeline using PERT means starting from the deadline and working your way backwards.

Critical Path Method vs Gantt chart

Gantt charts are bar charts used to visualize a project’s schedule.

Perhaps the most widely used scheduling tool today, Gantt charts were developed around the time of the First World War by Henry Gantt, who used them to measure the productivity of his employees. 

It didn’t take long for the US military to take notice of these charts and start implementing them in their operations.

Just like CPM, Gantt charts are used to visualize the flow of a project and link dependencies.

However, Gantt charts don’t feature a system for calculating task durations.

In other words, once you already know how long each task will (or should) take, you can use Gantt charts to manage the project to great effect.

But you have to use another tool to calculate or estimate the task durations.

In this way, Gantt charts are compatible with CPM and PERT.

You can use the latter tools to map out the duration of a project with all its tasks, and then use a Gantt chart to keep track of everything once the project gets underway.

Conclusion: Regardless of which PM methodology you use, CPM can enhance it

The Critical Path Method is one of the most useful tools in a project manager’s arsenal, as it allows them to calculate the deadline for any project.

Granted, for these deadlines to be accurate, the duration values for all tasks have to be exact. If the data going in is invalid, then the results of CPM will also be invalid.

But as most projects depend on deadline estimation and proper scheduling, and few project management methodologies offer built-in ways to calculate this, CPM is a great solution that can be used in a myriad of different situations.

With just the very basic mathematical know-how, CPM will enable you to find the most optimal way of tackling any project.


  • Accettura, A., Bergsma, K., Boszak, T., Callaway, J. L., Cote, N., Doepker, C. Harbidge, M., Her, S., Hlushko, T., Holmes, J., Knight, M., MacDowell,  P., Marshall, C., McDougall, L., Prima, A., & Story, T. (2021). Project Management for Instructional Designers, First Canadian Edition. Retrieved from http://pm4id.ca. Licensed under a Creative Commons Attribution NonCommercial ShareAlike (BY-NC-SA) license.
  • Arun, R. (2021, October 14). Everything You Need To Know About CPM: The Critical Path Method. https://www.simplilearn.com/tutorials/project-management-tutorial/critical-path-method
  • Kent, R. (2017). Quality Management in Plastics Processing. William Andrew Publishing. https://www.sciencedirect.com/topics/engineering/arrow-diagram
  • Levy, F. K., Thompson, L. G., & Wiest, J. D. (1963). The ABCs of the Critical Path Method. Harvard Business Review. https://hbr.org/1963/09/the-abcs-of-the-critical-path-method
  • Wallace, C. (2017, December 31). This Project Management Technique Is More Than A Productivity Hack. Forbes. https://www.forbes.com/sites/christinawallace/2017/12/31/no-more-productivity-hacks-2018/

FREE project
management app

Alternative to Monday and Asana for managing projects, teams, and all types of work.

Learn more Arrow Right Primary
Pumble chat app