Everything You Need To Know About CPM: The Critical Path Method

CPM or the Critical Path Method is an algorithm used in project management that is used to schedule project activities. The critical path refers to the longest stretch of the activities, and a measure of them from start to finish. 

With the help of CPM, we’ll be able to create a model that enables you to determine the following: 

  • Tasks required to complete the project
  • Dependencies between tasks
  • The duration required to complete an activity

Now, before we can get started with CPM or Critical Path Method, we’ll have to understand two major concepts which are Events and Activities. To help understand them better, let’s have a look at the network diagram (which is also the output) of the process. 

example cpm

This output represents some of the most important parts of the process: Events and Activities.

Post Graduate Program in Project Management

With University of MassachusettsView Course
Post Graduate Program in Project Management

Event

Events are represented by a circle and will occur at the start and end of an activity. Event 1 is the tail event and Event 2 is the head event. In the case of our example, the events are 1, 2,3,4, 5, and 6. Taking into consideration, nodes 1 and 2, and the connection between them, 1 will be referred to as the tail event, and 2 will be referred to as the head event. 

Similarly, for 2 and 3, 2 is the tail event, and 3 is the head event. 

Activity

Activities represent action and consumption of resources like time, money, and energy required to complete the project. In the case of our example, A, B, C, D, E, and F represent the activities taking place between their respective events. 

Dummy Activity

A dummy activity represents a relationship between two events. In the case of the example below us, the dotted line represents a relationship between nodes 4 and 3.
The activity between these nodes will not have any value. 

dummy act

Other rules to consider

  • The network should have a unique starting and ending node. In the case of our example, event 1 represents a unique starting point and 6 represents the unique completion node
  • No activity can be represented by more than a single arc (the line with an arrow connecting the events) in the network
  • No two activities can have the same starting and ending node. 

Now, let’s talk about the process of the Critical Path Method with an example. 

The Critical Path Method

The objective of the question below is to determine the critical path, based on the information available, like activity, immediate predecessor, and duration (which in this case, we’ll take as months)

question cpm

First, let’s analyze the activities and their immediate predecessors. 

Activities A, B, and C don’t have any immediate predecessors. This means that each of them will have individual arcs connecting to them. First, we’ll draw nodes 1 (which is the starting point) and 2. We’ll add the activity on the arc, along with the duration. 

cpm

We’ll have to also keep in mind that A acts as the immediate predecessor for both nodes E and F. Similarly, let’s draw the arcs for nodes B and C. 

activitybc

Before we can draw the nodes for activity D, a quick look at the table will tell us that it is preceded by activity B and that a combination of activities C and D act as immediate predecessors for activities H and J. This means that both activities C and D have to connect at some point. That’s why we’ll be drawing an arc from events 3 and 4. 

activityd

So now, we’ve completed activities A, B, C, and D of the critical path method. Next, let’s take a look at activity E. 

Activity E is preceded by activity A and acts as the immediate predecessor for activity J. Since this is an independent activity, we’ll be able to draw an arc like this.

cpm

If we have a look at activity F, it’s preceded by activity A, and a combination of F, G, and H act as immediate predecessors for the activities K and L. So let’s wait before we take it up. Instead, let’s shift our attention to activity G. It’s preceded by B. So, we’ll draw it like so.

activity

Now, let’s take a look at activity H. It is preceded by both C and D and will act as the immediate predecessor for K and L, along with F and G. So, we can connect node 4 to 6. 

activity h

Now that we’ve done that, let’s go back to activity F.  Now that we know where activities G and H connect to, we can combine nodes 2 and 6, fulfilling the conditions required for activities K and L.

activity f

Following this, we have an activity I. The activity I is preceded by activities C and D. It also acts as an immediate predecessor to activity M. Since it’s an independent activity, we can draw it like so. 

Project Management Introductory Guide

Build a Strong Project Management FoundationDownload Now
Project Management Introductory Guide

activity i

Next, let’s take a look at activity J. Activity J is preceded by activity E. We can also see that a combination of J and K will act as an immediate predecessor for activity N. We can then draw an arc like this. 

activity j

Let’s go on to activity K. Here we can see that K is preceded by F, G, and H. It also acts as an immediate predecessor to activity N. So, we’ll connect nodes 6 to 8. 

activity k

Next, let’s continue with activity L. The table now shows that L, M, and N don’t act as immediate predecessors for any other activity. Hence it can be assumed that it’ll connect to the final node. 

L is preceded by activities by F, G, and H. The arc can be drawn like so. 

activity l

We’ll now go to activity M. This activity is preceded by activity I. Similarly, we can connect an arc from node 8 to 9 for activity N. 

activity m

Now, the network is complete! 

Now, to find the critical path. For this, we’ll need to find two values, Earliest Start Time (Es) and Latest Completion Time (Lc).

The process of determining the Es for all events is called a forward pass. 

The process of determining the Lc for all events is called a backward pass.

Let’s get into the forward pass. For this, first, we’ll need to create boxes at all nodes. These are then divided into two. The lower half of the box represents the earliest start time of the node, while the upper half represents the latest completion time. 

Your network diagram should look something like this. 

eslc

For this, we’ll be using the formula, Esj = max (Esi + Dij)

Which when simplified, the earliest start time for the second node (head node), is the maximum of the combination of the earliest start time of the tail node and the duration between the two nodes. 

So, for node 1, the earliest start time is always zero. 

For node 2,
it would be, Es2 = 0 (earliest start time for node 1) + 3 (duration between 1 and 2) = 3

es2

For node 3, 

it would be, Es3 = 0(Es1) + 4(D1 to 3) = 4

es3

For node 4, we can see that two arcs connect to it. This means that we’ll need to choose among the largest of the two options available to us. 

Es4 = 0(Es0) + 6 = 6 or

Es4 = 4(Es3) + 3 = 7

We’ll choose 7 since it’s larger.

es4

Similarly, we have three options to choose from when it comes to node 6. Since three arcs connect to it. 

Es6 = 3(Es2) + 1(D2-3) = 4

Es6 = 4(Es3) + 4(D3-6) = 8

Es6 = 7(Es4) + 5(D4-6) = 12

Hence we’ll select the last option since it’s the largest among the three. 

es6

Now, for node 5. Since it’s directly connected to node 2, we can directly apply the formula. 

Es5 = 3(Es2) + 9(D2-5) = 12

es5

Let’s take node 8. 

Es8 = 12(Es5) + 3(D5-8) = 15 or

Es8 = 12 (Es6) + 6(D6-8) = 18 

We’ll choose Es8 as 18 since it’s the larger of the two. 

es8

Now for node 7. We can directly apply the formula to these nodes.

Es7 = 7(Es4) + 4(D4-7)  = 11

es7

Finally, we’ve got node 9.

It has 3 nodes connecting towards it. We’ll have to choose the maximum of the three. 

Es9 = 18(Es8) + 9(D8-9) = 27

Es9 = 12(Es6) + 3(D6-9) = 15

Es9 = 11(Es7) + 6(D7-9) = 17

We’ll choose the arc from node 8 since it’s got the highest value.  

es9

And like that, the forward pass is complete. Now, for the second part of the critical path method.  Let’s take up the backward pass. For that’ we will be using the following formula. 

Lci = min(Lcj - Dij)

This, when put simply, means the latest completion time of the tail node is equal to the latest completion time of the head node minus the distance between the two. 

Let’s start from the final node, number 9. 

The Lc for this node will always be equal to its Es.
So, Lc9 = 27.

es9

Next, let’s have a look at the latest completion time for the 8th node. Since it’s directly connected only to the 9th node, we can directly apply the formula mentioned earlier. 

Lc8 = 27(Lc9) - 9(D9-8) = 18

lc8

Now, let’s have a look at the latest completion time for node 7. Since there’s a direct connection between nodes 9 and 7. 

Lc7 = 27(Lc9) - 6(D9-7) = 21

lc7

Let’s move on to node 6. As we can see in the diagram, there are two points extending to nodes 8 and 9 from node 6. So we have two options to choose from. 

Lc6 = 18(Ls8) - 6(D6-8) = 12 or

Lc6 = 27(Ls9) - 3(D6-9) = 24 

We’ll choose the Lc of node 6 as 12.

lc6

We’ll now go to node 5. Since it’s directly connected to the 8th node, we can directly apply the equation.  

Lc5 = 18(Lc8) - 3(D5-8) = 15

lc5

Next up, let’s find the latest completion time for node 4. 

Since there are two connections extending from the node, to nodes 6 and 7 respectively, we’ll need to select the minimum between the two. 

Lc4 = 21(Lc7) - 4(D4-7) = 17

Lc4 = 12(Lc6) - 5(D4-6) = 7

We’ll choose 7 as the latest completion time for node 4. 

lc4

Now for node 3. 

Since there are two nodes connecting from node 3 to nodes 4 and 6. So, we’ll need to choose between the 2. 

Lc3 = 12(Lc6) - 4(D3-6) = 8 or

Lc3 = 7(Lc4) - 3(D3-4)  = 4

We’ll choose 4 as the latest completion time for node 3. 

lc3

Let’s now go to node 2. Again, since there are two connections made from 2 to node 5 and 6, we’ll need to choose the minimum among the two. 

Lc2 = 15(Lc5) - 9(D2-5) = 6

Lc2 = 12(Lc6) - 1(D2-6) = 11

We’ll choose the latest completion time of 2, as 6.

lc2

And finally, we have node 1. 

Since there are connections to 2, 3, and 4 from 1, we’ll need to choose from the three.

Lc1 = 6(Lc2) - 3(D1-2) = 3

Lc1 = 4(Lc3) - 4(D1-3) = 0

Lc1 = 7(Lc4) - 6(D1-4) = 1

We’ll choose 0 as the latest completion time for the node.

lc1

And there we go! The backward pass is complete. 

Now, for the final step of the critical path method. To determine the critical path, there are three major criteria that need to be satisfied. 

Esi = Lci

Esj = Lcj

Esj - Esi = Lcj - Lci = Dij

From the diagram, we can see that nodes that satisfy the requirements are: 1, 3, 4, 6, 8, and 9. 

Hence the activities on the critical path are B - D - H - K - N.

final cpm

Hence the critical path is B + D + H + K + N = 4 + 3 + 5 + 6 + 9 = 27. 

And there we go! We’ve found the critical path! 

Are you a professional who is aspiring to be a Project Manager? Then check out the PMP Certification Training Course Enroll now.

What’s Next?

Now that you know the critical path method, you can go into some of the more complex concepts of project management. For that, we recommend signing up for the PMP Certification Training Course, which prepares you for your PMP certification exam. When you use effective tools like Microsoft Excel templates, you can raise your career to a whole new level.

If you have any questions for us, please leave them in the comments section, and our team of experts will be happy to answer them for you at the earliest!

About the Author

Rahul ArunRahul Arun

Rahul is a Senior Research Analyst at Simplilearn. Blockchain, Cloud Computing, and Machine Learning are some of his favorite topics of discussion. Rahul can be found listening to music, doodling, and gaming.

View More
  • Disclaimer
  • PMP, PMI, PMBOK, CAPM, PgMP, PfMP, ACP, PBA, RMP, SP, and OPM3 are registered marks of the Project Management Institute, Inc.