GuidesCritical path method
The critical path method, explained with a worked example
Updated
The critical path is the longest chain of dependent tasks through a project. Its length is the shortest time the project can take, and any delay to a task on it delays the finish. The critical path method (CPM) is the calculation that finds it — two passes over the plan, forwards then backwards.
The example
Five tasks. A comes first; B and C can both start once A is done; D follows C; E needs both B and D. Every link is finish-to-start with no lag, and every day is a working day. Days are counted from the project start, so a 3-day task starting on day 0 finishes on day 3.
| Task | Duration | After | Earliest start | Earliest finish | Latest start | Latest finish | Float | Critical |
|---|---|---|---|---|---|---|---|---|
| A — Survey the site | 3d | — | 0 | 3 | 0 | 3 | 0 | Yes |
| B — Order materials | 5d | A | 3 | 8 | 4 | 9 | 1 | No |
| C — Clear the ground | 2d | A | 3 | 5 | 3 | 5 | 0 | Yes |
| D — Pour foundations | 4d | C | 5 | 9 | 5 | 9 | 0 | Yes |
| E — Frame the walls | 2d | B, D | 9 | 11 | 9 | 11 | 0 | Yes |
The table above is produced by Waterfall PM's own scheduling engine, not worked out by hand.
The forward pass: earliest dates
Walk the tasks in dependency order. A task's earliest start is the latest earliest finish among its predecessors; its earliest finish is that plus its duration.
- A has no predecessors: it starts on day 0 and finishes on day 3.
- B and C both follow A, so both start on day 3. B finishes on day 8, C on day 5.
- D follows C: it starts on day 5 and finishes on day 9.
- E waits for both B (day 8) and D (day 9), so it starts on the later of the two — day 9 — and finishes on day 11.
The last earliest finish is the project's finish: day 11.
The backward pass: latest dates
Now walk backwards from the finish. A task's latest finish is the earliest latest start among its successors; its latest start is that minus its duration. These are the latest dates the task can have without moving the project's finish.
- E must finish by day 11, so it must start by day 9.
- B and D both feed E, so both must finish by day 9. D must start by day 5; B, being longer, must start by day 4.
- C feeds D, so it must finish by day 5 and start by day 3.
- A feeds both B (latest start 4) and C (latest start 3). It must finish by the earlier of the two — day 3 — and so start by day 0.
Float, and the critical path
Total float is the gap between a task's latest and earliest start: how far it can slip without delaying the finish. B has one day of float — it could start on day 4 instead of day 3 and the project would still finish on day 11. Every other task has none.
The tasks with zero float — A, C, D and E — are the critical path. Shorten the project and you must shorten one of them; let one of them slip and the finish slips with it. Speeding up B would change nothing.
A project can have more than one critical path, and the critical path moves: once a non-critical task slips by more than its float, it becomes critical and the chain it sits on takes over.
When the answer is negative
Give the project a deadline and the backward pass can start from that date instead of the calculated finish. If the deadline is earlier than the plan can manage, latest dates come out earlier than earliest dates and float goes negative — by exactly the number of days you are short. Every task with negative float is on a chain that has to be shortened to hit the date.
How Waterfall PM does it
Waterfall PM runs both passes after every change, over all four dependency types and their lag. Float is counted in working days, so weekends and the project's holidays are never mistaken for slack. Tasks with no float are drawn in the critical-path colour on the Gantt chart until they are under way or done.
Deadlines and “no later than” constraints cap the backward pass as described above, task by task: each one caps the task it is set on. A date the plan can't meet is flagged on its task, and every task feeding it turns critical — the chain that has to move is on the screen.