Critical Path Method (CPM): Definition, Steps, Example

11 hours agoPUBLISHED INAgile

Sanplex: The best Jira alternative with for complete lifecycle management
Download Now
Critical Path Method (CPM): Definition, Steps, Example

Late tasks are normal on any project. The real question is which delays matter. The critical path method answers that. It tells you which tasks have no room to slip, and which ones can slide a few days without anyone noticing.

This guide explains the critical path method in plain terms, shows the step by step calculation with a small example you can follow with a pencil, and covers how to use the result to protect your dates.

What is the critical path method?

The critical path method is a scheduling technique that identifies the sequence of tasks that determines the minimum time needed to finish a project. It was developed in the late 1950s by Morgan Walker of DuPont and James Kelley of Remington Rand, to help plan and schedule maintenance projects in chemical plants, and it's been a staple of project management ever since.

The idea is simple. Some tasks depend on others, so they form chains. The longest chain decides how long the project takes. If any task on that chain slips by a day, the end date moves by a day.

Key terms you need

Term

Meaning

Critical path

The longest chain of dependent tasks, which sets the project duration

Critical task

A task on the critical path, with zero float

Float or slack

How long a task can slip without delaying the project

Earliest start (ES)

The earliest a task can begin

Earliest finish (EF)

ES plus the task's duration

Latest start (LS)

The latest a task can begin without delaying the project

Latest finish (LF)

The latest a task can end without delaying the project

Dependency

A relationship where one task has to wait for another

 

Types of dependencies

Most projects use mainly one type, but it's good to know all four.

  • Finish to start: task B can't start until task A finishes. This is by far the most common

  • Start to start: task B can't start until task A starts

  • Finish to finish: task B can't finish until task A finishes

  • Start to finish: task B can't finish until task A starts. This is rare

How to find the critical path in six steps

1. List all the tasks

Break the project into activities that you can estimate. Use your work breakdown if you have one.

2. Estimate how long each takes

Use realistic durations, in days or hours, not hopeful ones.

3. Identify the dependencies

For each task, note which ones must finish first.

4. Draw the network

Sketch boxes for the tasks, with arrows showing dependencies. A whiteboard works fine.

5. Do the forward pass and the backward pass

The forward pass works from start to finish and gives each task's earliest start and finish. The backward pass works from the end back to the start and gives the latest start and finish.

6. Calculate float and mark the critical path

Float is the latest start minus the earliest start. Tasks with zero float form the critical path.

A worked example

Here's a small illustration for releasing a new feature. Durations are in working days.

Task

Duration

Depends on

A. Requirements

3

None

B. Design

4

A

C. Build backend

6

B

D. Build frontend

5

B

E. Write help docs

3

B

F. Integrate

3

C and D

G. Test

4

F

H. Release

1

G and E

 

The forward pass

Start at the beginning. A starts on day 0 and finishes on day 3. B starts at 3 and finishes at 7. C, D and E all start at 7 and finish at 13, 12 and 10. F can't start until both C and D are done, so it starts at 13, the later of the two, and finishes at 16. G runs from 16 to 20. H needs G and E, so it starts at 20 and finishes at 21. The project takes 21 days.

The backward pass and float

Now work back from day 21. H must start by 20, so G must finish by 20 and start by 16. F must finish by 16 and start by 13. C must finish by 13 and start by 7. D must finish by 13, so it can start as late as 8. E must finish by 20, so it can start as late as 17. B must finish by 7, which means starting by 3, and A by 0.

Task

ES

EF

LS

LF

Float

A

0

3

0

3

0

B

3

7

3

7

0

C

7

13

7

13

0

D

7

12

8

13

1

E

7

10

17

20

10

F

13

16

13

16

0

G

16

20

16

20

0

H

20

21

20

21

0

 

The tasks with zero float are A, B, C, F, G and H. That's the critical path: 3 plus 4 plus 6 plus 3 plus 4 plus 1 equals 21 days. The frontend build has one day of float. The help docs have a comfortable ten.

What the critical path tells you

Suddenly your priorities are clear. If the backend build slips by two days, the release slips by two days. If the help docs slip by two days, nothing happens, because they had ten days of spare time. You'll spend your management attention on tasks A, B, C, F, G and H and keep a lighter eye on D and E.

Be careful with float, though. Frontend has one day of spare time, so a two day delay would make it critical and could even create a new critical path. Float changes as the project moves, which is why you recalculate regularly.

How to shorten a project using the critical path

Fast tracking

Do tasks in parallel that were planned in sequence. For example, start testing parts of the system while the rest is still being integrated. It saves time and adds risk, because rework is more likely.

Crashing

Add resources to critical tasks to finish them sooner, such as another developer on the backend. It costs more and doesn't always work, as adding people to a late task can slow it down at first.

Reducing scope on the path

Cut or simplify something on the critical path. Sometimes the cheapest day is the one you don't spend.

Only work on the critical path will shorten the project. Speeding up a task with float changes nothing.

When to use CPM, and when not to

CPM shines on projects with clear tasks and firm dependencies, like construction, events, product launches and infrastructure migrations. It struggles where the work is exploratory and the tasks keep changing, because the network never stays still long enough to calculate.

For agile teams, a full critical path of every task is usually overkill. But the thinking still helps at a higher level. Applying it to the milestones in a release plan shows which dependencies could stop everything. Hybrid teams often use CPM for the overall plan and keep sprints for the detail inside each phase.

CPM vs PERT

 

CPM

PERT

Duration estimates

One estimate per task

Three estimates: optimistic, likely, pessimistic

Approach

Deterministic

Probabilistic

Best for

Projects with well understood tasks

Projects with high uncertainty

 

Many teams combine them. They use CPM for the structure and borrow three point estimates for the uncertain tasks.

Using CPM with Gantt charts

You can do the math by hand, but most people see the critical path on a Gantt chart. Tasks appear as bars on a timeline, dependencies connect them and the critical ones are highlighted. If you want to see how timelines work with modern teams, read about Gantt chart software for agile teams. For ready made starting points, take a look at our waterfall project management templates.

In Sanplex, the Gantt charts let you lay out tasks and dependencies on a timeline so you can see how a late task affects the end date.

Mistakes to avoid

Missing dependencies

If you forget a link, the path is wrong and so is the end date. Ask the people doing the work what they're waiting on.

Padding every estimate

If every task has a hidden buffer, the whole schedule balloons. Keep estimates honest, and hold a visible buffer for the project.

Calculating it once

The critical path moves as tasks finish or slip. Recalculate at least weekly on active projects.

Ignoring resources

CPM assumes people are available. If one developer is on three parallel tasks, the real schedule will be longer than the math says.

Frequently asked questions

What is the critical path method?

It's a scheduling technique that finds the longest chain of dependent tasks in a project. That chain, the critical path, determines the shortest possible project duration.

What is float in project management?

Float, or slack, is the amount of time a task can be delayed without delaying the project end date. Tasks on the critical path have zero float.

How do you calculate the critical path?

List tasks, estimate durations, map dependencies, do a forward pass for earliest times and a backward pass for latest times, then find the tasks with zero float.

Can a project have more than one critical path?

Yes. If two chains have the same total length, both are critical, and a delay on either one delays the project.

What is the difference between CPM and PERT?

CPM uses a single duration estimate per task, while PERT uses three estimates to account for uncertainty. Both find the critical path.

See your critical path on a timeline

Use Gantt charts in Sanplex to track dependencies and dates. Start free. Start with Sanplex