Every project has one sequence of tasks that decides the finish date. Delay anything on that sequence and the whole project moves. Delay anything else and, up to a point, nothing happens at all.
The Critical Path Method is how you find that sequence. It has been around since the late 1950s, it works on a napkin, and it is still the single most useful scheduling technique most project managers know.
The maths is genuinely simple. Adding up and subtracting, twice. What trips people up is the vocabulary and the backward pass, so this guide walks through both with a full worked example.
What the critical path actually is
The critical path is the longest path through your project network, measured in duration.
That definition catches people out, because “longest” sounds like it should mean “worst” or “most important.” It does not. It means that if you list every possible route from the first task to the last, and add up the durations along each route, one route takes longer than all the others. That route sets your minimum project duration. You cannot finish sooner than the longest path, no matter how many people you throw at everything else.
Two consequences follow, and both are useful.
Tasks on the critical path have zero float. Slip one by a day and the project end date moves by a day.
Tasks off the critical path have float, sometimes a lot of it. A task with twelve days of float can start twelve days late and still not affect the finish date.
That second point is where CPM earns its keep. It tells you which fires actually matter. A supplier being a week late on a task with three weeks of float is an annoyance. The same delay on a critical task is a schedule change you need to report.
What you need before you start
CPM will not fix a vague plan. It needs three inputs and they have to be reasonably solid.
A complete list of activities. Break the work down until each piece has a clear start and end. Each of those pieces should trace back to a work package in your WBS, and the whole set should match your approved scope baseline. If work is missing from the list, it is missing from the schedule, and your critical path is fiction. Recording everything in a structured activity list keeps this honest.
Dependencies between activities. For every task, what must finish before it can start? Be careful here. Teams routinely record dependencies that are habits rather than requirements. “We always do design before content” is not a dependency if the two can genuinely run in parallel. False dependencies make your critical path longer than it needs to be. Capturing predecessors, lead and lag in your activity attributes makes this easier to review later.
Duration estimates. How long each activity takes with the resources you expect to have. Write down where each number came from. A documented basis of estimates is the difference between a schedule you can defend and one you can only apologise for.
A worked example
A small website build. Seven activities.
| ID | Activity | Duration (days) | Depends on |
|---|---|---|---|
| A | Requirements gathering | 5 | — |
| B | UI design | 8 | A |
| C | Content writing | 6 | A |
| D | Front-end build | 10 | B |
| E | Back-end build | 12 | A |
| F | Integration and testing | 6 | C, D, E |
| G | Launch | 2 | F |
Step one: list the paths
There are three routes from start to finish.
- A → B → D → F → G = 5 + 8 + 10 + 6 + 2 = 31 days
- A → E → F → G = 5 + 12 + 6 + 2 = 25 days
- A → C → F → G = 5 + 6 + 6 + 2 = 19 days
The longest is 31 days, so the project takes 31 days and the critical path is A, B, D, F, G.
On a network this small you could stop here. On a real project with two hundred activities, listing every path by hand is impossible, which is why the forward and backward pass exist.
Step two: the forward pass
Work left to right. For each activity, the earliest start (ES) is the latest of its predecessors’ earliest finishes. The earliest finish (EF) is ES plus duration. Start the project at day 0.
- A: ES 0, EF 5
- B: ES 5, EF 13
- C: ES 5, EF 11
- E: ES 5, EF 17
- D: ES 13, EF 23
- F: predecessors finish at 23 (D), 17 (E) and 11 (C). Take the largest. ES 23, EF 29
- G: ES 29, EF 31
The forward pass gives you the project duration: 31 days.
Step three: the backward pass
Now work right to left. Start with the project finish at 31. For each activity, the latest finish (LF) is the earliest of its successors’ latest starts. The latest start (LS) is LF minus duration.
- G: LF 31, LS 29
- F: LF 29, LS 23
- D: LF 23, LS 13
- E: LF 23, LS 11
- C: LF 23, LS 17
- B: LF 13, LS 5
- A: LF 5, LS 0
Step four: calculate float
Total float is LS minus ES. Anything with zero total float is on the critical path.
| Activity | ES | EF | LS | LF | Total float | Critical? |
|---|---|---|---|---|---|---|
| A | 0 | 5 | 0 | 5 | 0 | Yes |
| B | 5 | 13 | 5 | 13 | 0 | Yes |
| C | 5 | 11 | 17 | 23 | 12 | No |
| D | 13 | 23 | 13 | 23 | 0 | Yes |
| E | 5 | 17 | 11 | 23 | 6 | No |
| F | 23 | 29 | 23 | 29 | 0 | Yes |
| G | 29 | 31 | 29 | 31 | 0 | Yes |
The answer matches the path listing: A, B, D, F, G, 31 days. Content writing can slip nearly two and a half weeks without hurting anything. The back-end build has six days of room.
That last number is worth pausing on. Back-end development is usually the thing everyone worries about, and here it is not critical. Meanwhile UI design, which nobody was watching, is. CPM regularly reorders your attention like this, and that is the point.
Total float versus free float
Total float is how long an activity can slip without delaying the project.
Free float is how long it can slip without delaying any successor activity. Free float is the earliest start of the next activity minus this activity’s earliest finish.
In the example above, C’s successor F starts at 23 and C finishes at 11, so C has 12 days of free float, the same as its total float. That happens because C feeds directly into a critical activity.
The difference matters when several non-critical tasks sit in a chain. The first task might have plenty of total float but zero free float, meaning any delay immediately squeezes the task behind it even though the project end date is safe. Use total float to talk to sponsors. Use free float to talk to team leads.
Compressing the schedule
When the critical path is too long, you have two real options and they have different costs.
Crashing means adding resources to critical activities to shorten them. More people on the front-end build. Overtime. A second contractor. This costs money, and it hits diminishing returns fast because coordination overhead grows. Always crash the cheapest critical activity per day saved, not the longest one.
Fast tracking means running activities in parallel that were planned in sequence. Start the front-end build on the first three approved screens instead of waiting for the full design. This costs nothing up front but adds risk, because you are working on assumptions that might change. Fast tracking is how rework gets created.
There is a third option people forget: challenge the dependencies. Before you spend money or accept risk, check whether every link on the critical path is a genuine constraint. Removing one invented dependency is free.
One thing to watch. Shorten the critical path enough and it stops being critical. In our example, cutting D from 10 days to 3 days would make A-E-F-G the new critical path at 25 days, and further work on D would achieve nothing. Recalculate after every change.
Where CPM runs out of road
CPM is a schedule model, not a plan for reality. Four limits are worth knowing.
It ignores resources. The method assumes that if the logic allows two tasks to run in parallel, they can. If both need your only database specialist, they cannot. Applying resource leveling and smoothing usually lengthens the schedule and can shift the critical path entirely. Some people call the result the critical resource path. If you have never levelled a CPM schedule, your dates are optimistic.
It treats durations as certain. A single-point estimate of ten days hides the fact that it might be seven or twenty. Techniques like three-point estimating and sensitivity analysis show you which activities your finish date is genuinely exposed to, which is not always the same list as the critical path.
Near-critical paths bite. A path with two days of float is not safe, it is nearly critical. Two days of ordinary slippage promotes it. Watch anything within about ten percent of your critical path duration and feed those activities into your risk management process alongside the critical ones.
It does not measure cost or progress. CPM tells you whether you are structurally on time, not whether you are performing efficiently. Pair it with earned value management, because the schedule performance index alone gets unreliable near the end of a project while the critical path stays honest about the finish date.
If resource constraints dominate your projects rather than logical dependencies, look at critical chain project management, which was built specifically to address the first two limitations above by pooling safety time into explicit buffers.
Keeping it alive
The most common failure with CPM is not calculating it wrong. It is calculating it once.
Recalculate after every significant change. Approved change requests shift durations and dependencies, and a critical path derived from last quarter’s logic will quietly mislead everyone who reads it. When you update actual progress, the critical path can move even without a formal change, because a task that finished early somewhere else may have handed the constraint to a different chain.
Report it, too. Sponsors do not need the full network. They need to know which handful of activities currently controls the end date, and what the float looks like on the paths just behind it.
Common questions
Can a project have more than one critical path? Yes, and it is common on larger schedules. Two or more paths of identical length means twice as many activities with zero float and twice the exposure. Multiple critical paths make a project fragile, so it is usually worth adding a little duration somewhere off the main path to break the tie.
Can float be negative? Yes. Negative float means the schedule is already behind the required date, usually because someone imposed a deadline that the logic cannot support. Negative five days means you need to find five days of compression before the plan is even feasible.
Is the critical path the same as the longest list of tasks? No. Duration decides it, not the number of activities. A three-task path of forty days beats a ten-task path of thirty.
Does CPM work on Agile projects? Partly. It fits poorly inside a sprint, where work is time-boxed rather than dependency-driven. It fits well at the release or programme level, where hard dependencies between teams, vendors, and external milestones still exist and still decide dates.
Do I need software? For fewer than about twenty activities, a spreadsheet and the two passes above are fine and will teach you more. Past that, use a scheduling tool, but make sure you can still read what it produces. A critical path you cannot explain is a critical path you cannot defend.
The short version
Find every path, add up the durations, take the longest one. That is your project duration and the activities on it have no room to move.
Everything else in CPM exists to calculate that efficiently and to tell you how much slack the remaining work has. Do the forward pass, do the backward pass, subtract to get float, and then check the result against real resource availability before you commit to a date.
Then do it again next month, because the critical path moves.
Internal links used (10)
| # | Anchor text | URL |
|---|---|---|
| 1 | work package | https://pmstudyguide.com/work-package/ |
| 2 | scope baseline | https://pmstudyguide.com/scope-baseline/ |
| 3 | activity list | https://pmstudyguide.com/activity-list/ |
| 4 | activity attributes | https://pmstudyguide.com/activity-attributes/ |
| 5 | basis of estimates | https://pmstudyguide.com/basis-of-estimates/ |
| 6 | resource leveling and smoothing | https://pmstudyguide.com/resource-leveling-and-smoothing/ |
| 7 | sensitivity analysis | https://pmstudyguide.com/sensitivity-analysis-in-pm/ |
| 8 | risk management | https://pmstudyguide.com/risk-management-strategies/ |
| 9 | earned value management | https://pmstudyguide.com/earned-value-management-explained/ |
| 10 | critical chain project management | https://pmstudyguide.com/critical-chain-project-management/ |
Bonus link also included in the body: change requests / change management.
One thought on “Critical Path Method (CPM) Explained: The Complete PM Guide”