Business · General Contracting
Critical Path Method
Assumes you know: Construction Scheduling Fundamentals
The critical path is the longest chain of dependent activities through a project, and its length is the project duration. Every activity on that chain has zero float: slip any of them a day and the end date slips a day. Every activity off the chain has float, a measured amount of slack it can burn before it matters. Critical path method (CPM) is the arithmetic that finds the chain and the float.
Why it matters on the job
On any real project, only a minority of activities control the end date. CPM tells you which ones, and that changes how you spend your attention and money. A crisis on a critical activity justifies overtime; the same crisis on an activity with 8 days of float justifies a coffee. It is also the language of delay claims: a delay claim generally succeeds only by showing the delay hit the critical path, because that is what moved completion.
The method in four steps
- List activities with durations and logic (what must finish before what starts).
- Forward pass: walk left to right computing each activity’s earliest start (ES) and earliest finish (EF = ES + duration). Where two arrows meet, the later finish governs the next start.
- Backward pass: walk right to left from the project finish computing latest finish (LF) and latest start (LS = LF minus duration).
- Float = LS minus ES (equivalently LF minus EF). Zero-float activities form the critical path.
Worked example: five activities, exact numbers
A small residential structure, durations in working days:
| Activity | Depends on | Duration |
|---|---|---|
| A Excavate | start | 3 |
| B Foundations | A | 4 |
| C Wall framing | B | 10 |
| D Roof dry-in | C and E | 4 |
| E Truss fabrication and delivery | A | 12 |
Forward pass. A: ES 0, EF 3. B: ES 3, EF 7. C: ES 7, EF 17. E: ES 3, EF 15. D needs both C (day 17) and E (day 15), so the later governs: ES 17, EF 21. Project duration: 21 working days.
Backward pass. D: LF 21, LS 17. C must finish by day 17: LF 17, LS 7. E must also finish by day 17: LF 17, LS 5. B: LF 7, LS 3. A: LF 3, LS 0.
Float. A: 0 − 0 = 0. B: 3 − 3 = 0. C: 7 − 7 = 0. D: 17 − 17 = 0. E: 5 − 3 = 2 days.
The critical path is A, B, C, D at 3 + 4 + 10 + 4 = 21 days. Truss fabrication can slip up to 2 days without moving completion; on day 3 of slippage, the trusses become the critical path and the end date moves with them. That last sentence is the working truth of CPM: the critical path is not fixed. Every update can move it, which is why float is checked at every schedule update, not memorized from the baseline.
Float is also a resource someone will spend. If trusses arrive 2 days late, E’s float is gone and it is now critical: the next hiccup has no cushion. Whether contractor, owner or “the project” owns float is a contract question worth reading before you let anyone spend yours.

The long chain sets the 21 days; the truss branch carries 2 days of float before it becomes the problem
Where it bites
- Managing every activity as if critical. Overtime and pressure on floated activities is money spent buying nothing. Read the float column before you spend.
- Assuming the path never moves. The baseline’s critical path is history by month two. Recompute at every update; near-critical paths, float of a day or two, deserve the same watch as the path itself.
- Delay claims without CPM support. “We were delayed 8 days” persuades no one. “The redesign held critical activity C for 8 days, moving completion from day 21 to day 29, per the updated CPM” is a claim.
- Hidden logic errors. One wrong dependency quietly produces a wrong path and false float. Sanity-check the computed path against how the job actually builds: if the math says framing can wait a month, the logic is broken, not the framing.