# What is Critical Path Method?

A lot of confusion in CPM. I’ve tried to simplify the calculation for CPM – let me know your feedback.

A

**critical path**is the longest path in the network. Each node which falls under critical path has zero or negative float (Slack).## Now how do we calculate critical path??

Sample Node |

I’ve seen various illustrations having a different way to calculate CPM, few are:

– The project starts on day 1.

– The project starts on day 0.

Both the approaches give same results, however, I liked the day 0 approach better, its simpler, easy and lesser room for errors.

### Example

Figure 1 – Example |

#### There are 3 steps to calculate CPM:

1. Forward Pass – To calculate the Early Start(ES) and Early Finish(EF) of the node.

2. Backward Pass – To calculate Late Start (LS) and Late Finish(LF) of the node.

3. Calculate Float and Thus CPM.

### The Forward Pass:

Forward Pass Illustration |

We start from first Node or Start node.

The works begin on day 0.

We’ll fill up information in highlighted boxes:

In forward pass, we calculate the Early Start and early finish date of activities.

#### Node A:

The activity starts on day zero, since A activity duration is for 5 days, the early finish will take Early Start and duration i.e.:

A(EF) = A(ES) + Duration

A (EF)= 0 + 5 = 5

#### Node B:

Since there is only one node which precedes activity B. The relationship is F->S. That means that activity B can start only when activity A ends. Hence

B (ES) = A (EF) = 5

B(EF) = B(ES) + Duration = 5+ 5 = 10

Activity C:

C(ES) = B(EF) = 10

C(EF) = C(ES) + Duration = 10+ 4 = 14

#### Node Z

Now node C leads to node Z, but can we calculate the Z(ES )??

*i.e.*

**NO we cannot since it has to wait for 2 more activities for it to start.**Node Z cannot start till activity C, E and H are complete. So let’s complete the calculations of all activities before Z.

#### Activity D,E, G, H

The calculations are pretty simple (same as B) since they have only one predecessor.

#### Back to activity Z:

Since this is a merging node, i.e. many activities has to end before we begin activity Z,

Z has more than one predecessor.

Z can start only when all the activities which are merging at Z can close hence Z can only start when the last activity (activity having most late EF completes)

Z(ES) = Max | C(EF) or E(EF) or H(EF) |

Z(ES) = Max | 14 or 28 or 20|

Z(ES) = 28

Z(EF) = 28 + 0 = 28.

Forward Pass Calculations |

**The Backward Pass:**

Here we’ll start from the last node i.e. Z,

we calculate the bottom 2 squares (late Start and late finish)

#### Node Z:

Since this is the last node, Z’s last finish date would be equal to earliest finish date of Z i.e.

Z(LF) = Z(EF) = 28

Z(LS) = Z(LF) – Duration

Z(LS) = 28 – 0 = 28

#### Node H

Node H has only one node preceding it in backward pass (node Z). Hence

H(LF) = Z(LS) = 28

H(LS) = H(LF) – H(Duration) = 28 – 8 = 20

#### Node E

Node E has only one node preceding it in backward pass (node Z). Hence

E(LF) = Z(LS) = 28

E(LS) = E(LF) – E(Duration) = 28 – 10 = 18

#### Node C

Node C has only one node preceding it in backward pass (node Z). Hence

C(LF) = C(LS) = 28

C(LS) = C(LF) – C(Duration) = 28 – 4 = 24

Node G and G calculations are exactly as simple node calculations

#### Node B

Since Node B is where most of the activities are merging in backward pass i.e. C, D and G, this is where we need to pay more attention. In backward pass the node B’s Latest Finish (LF) would be earliest or all the nodes Late Start i.e.

B(LF) = Least | C(LS) or D(LS) or G(LS)|

B(LF) = Least | 24 or 10 or 18|

B(LF) = 10

B(LS) = B(LF) – B(Duration) = 10 -5 = 5

#### Node A

A(LF) = B(LF) = 5

A(LS) = A(LF) – A(Duration) = 5 – 5 = 0

Backward Pass |

### Calculating Total Float or Slack:

#### Total float

The total amount of time that a schedule activity may be delayed from its early start date without delaying the project finish date, or intermediary milestone. It is calculated using:

Activity (ES) – Activity (LS) or activity (EF) Activity(LF) – Both will give you same results.

#### Free Float

**This**

**is an amount of time that a schedule activity can be delayed without delaying the early start of any immediately following schedule activities.**

E.g. – For activity C

C (Total Float) = C (LS) – C(ES) = 24 – 10 = 14

C (Free Float) = ES of next activity – C(EF )

C (Free Float) = Z(ES) – C(EF ) = 28 -14 = 14

### Now the Critical path

Calculate the Total float for all activities as per the formula.

All nodes which have zero or negative float/slack forms the CRITICAL PATH.

Here we can see that the nodes:

#### A,B,D,E and Z forms the critical path

# The same CPM is solved by me here at youtube:

– You tube video at:

Hope this is useful. Please do send me your comments/feedback at kavita.sh@gmail.com.

At IIL – PMP Prep training is designed to be delivered as 4-day workshop and will be called Project Management Certificate Program. Please Enrol on below dates:

Delhi/NCR: 18-21 December 2014

Mumbai: 18-21 December 2014

Bangalore: 22-25 January 2015

Regards

Kanchan

kanchan.dhar@iil.com

excellent … very helpful

amazing explanation, even better than the one I got in my lecture

Kavita this is an excellent article and makes calculation very simple, thank you !

すべてのベスト！

今日期末試験があるので、このボローグが本当に分かりやすかったです。

どもありがとうございます。

thanks for the good simpler sample.

Great explanation, I'm going to use this information on the civil PE exam in October 2013

I´ll have a MBA exam tomorrow and you help me a lot with your simple explanation. Thanks a lot.

Its a great explanation. You deserve the appreciation.

kavita

I was struggling a lot to undersatnd the fund of CPM, flot ,ES,EF LS LF, back ward and farward..Really you made very simple to me..Thanks a bundle…Sagar

is it a good idea to illustrate all possible paths, add the duration, the one with the longest duration is the critical path?

thanks for the good simpler sample.

Node G and G calculations are exactly as simple node calculations channge this to Node d and G calculations are exactly as simple node calculations

Is critical path = 28 ????