📋 Project Management · Core Skills

Critical Path Method (CPM) Explained: Float, ES/EF & More

Born 1957–1959 when Kelley and Walker scheduled plant maintenance — the longest chain of dependent activities sets the shortest project duration, and only zero-float tasks are 'critical'

一句话先懂 · TL;DR

Learn the Critical Path Method: why the longest path sets the shortest project duration, zero float, forward/backward pass, and crashing vs fast-tracking.

What CPM is: the longest chain of dependencies sets the shortest duration

The Critical Path Method (CPM) was developed by Morgan Walker of DuPont and James Kelley of Remington Rand in 1957–1959, originally to schedule complex plant maintenance shutdowns — the dependencies between tasks were far too many to schedule by hand.

The approach: break the project into 'activities,' note each activity's duration and the precedence dependencies between them, and connect everything into a network diagram. CPM is a deterministic method (durations are treated as known values), built to answer two core questions: How fast can this project possibly finish? Which tasks drag the whole project the moment they slip?

⚠️The most counterintuitive point: the critical path is the 'longest' chain of dependent activities in the network, yet its total length equals the project's 'shortest' possible completion time. Why? Because for the project to finish, every path must be completed — so the longest one sets the lower bound on the finish date. Corollary: to deliver faster, compressing non-critical tasks is useless; you must shorten the critical path itself. A project can also have more than one critical path (tied for longest).

The other core concept is float (slack): how long an activity can be delayed without delaying project completion. Activities on the critical path have zero float — the moment they slip, the whole project's delivery date slips; activities off the critical path have positive float and can be postponed within that float without affecting the final duration.

So 'critical' does not mean the task is the hardest or the most important — it means the task has no buffer at all: move it and you move everything. Identify the zero-float activities and you have found exactly the tasks a project manager must watch like a hawk.

A CPM network diagram: among all paths, the longest chain of dependencies is the critical path — its total length equals the shortest project duration, and its activities have zero float

How to compute it: five steps plus the forward/backward pass for ES/EF/LS/LF

The five practical steps to find the critical path:

1. List all activities and their durations;
2. Mark the dependencies between activities (what must finish before what);
3. Draw the network diagram (activities as nodes, dependencies as arrows);
4. Run the forward pass — from the project start onward, compute each activity's Early Start (ES) and Early Finish (EF) (EF = ES + duration; a successor's ES is the maximum EF of all its predecessors), which yields the project's shortest duration;
5. Run the backward pass — from the project end backward, compute Late Start (LS) and Late Finish (LF) (the latest an activity can slip without delaying project completion), then compute each activity's float.

💡The test: Total Float = LS − ES = LF − EF. Chain together the activities whose float is 0 and you have the critical path. Example: an activity with ES = day 5 and LS = day 9 has total float = 9 − 5 = 4 days — it has 4 days of buffer, so it is not on the critical path.

Once you have the critical path, what next? Watch every task on it closely, staff those tasks with your most reliable resources, and prepare responses for their risks; the float of non-critical tasks is your scheduling ammunition — you can tolerate small slips there, or even temporarily pull their resources to reinforce critical tasks.

The forward pass computes ES/EF left to right; the backward pass computes LS/LF right to left; Total Float = LS − ES = LF − EF, and the zero-float activities chain into the critical path

How to use it: two ways to compress the schedule, and three common misconceptions

CPM's greatest value to a project manager is focus: not every task deserves equal effort — when a critical-path task slips, the project slips, so those tasks should get your most reliable people, start earliest, have risk responses prepared, and be tracked daily.

To finish the project faster, you can only compress the critical path (compressing non-critical tasks does nothing for the delivery date). There are two schedule compression techniques:

- Crashing: add resources/overtime to critical tasks to shorten their durations, at the cost of rising expense, usually with diminishing returns;
- Fast-tracking: turn originally sequential critical tasks into partial parallel work — no extra money, but more rework and risk.

One more caution when compressing: once you shorten the current critical path, another path may overtake it and become the new critical path, so recalculate as you compress. As the project progresses, an originally non-critical path can also become the new critical path through delays — recalculate then too.

⚠️Three common misconceptions:

1. 'The critical path = the hardest / most important tasks' — wrong. Critical means 'zero float: one slip delays everything'; it may be a chain of perfectly mundane tasks, and a hard task with float is not on the critical path at all.

2. 'Tasks with float don't matter and can slip freely' — wrong. Float is a finite buffer; once a task slips beyond its float, it becomes the critical path and starts dragging the project.

3. 'CPM is just PERT' — not quite. CPM (1957, DuPont) treats durations as deterministic values; PERT (1958, the US Navy's Polaris missile program) handles duration uncertainty with three-point estimates (optimistic / most likely / pessimistic), making it better suited to R&D-type projects. The network logic is shared; the difference is how each treats uncertainty in durations.
Two ways to compress a schedule: crashing = trade money for time (costs rise, diminishing returns); fast-tracking = turn sequential work partly parallel (rework and risk rise) — both work only on the critical path

自测 · 学完检查一下

想真正动手做题、记进度、攒连胜?到互动课里练。

Which statement about the origin and nature of the Critical Path Method (CPM) is correct?

答案:CPM was developed by Morgan Walker of DuPont and James Kelley of Remington Rand in 1957–1959, originally to schedule complex plant maintenance, and is a deterministic method that treats durations as known values

CPM was developed by Morgan Walker of DuPont and James Kelley of Remington Rand in 1957–1959, originally to schedule complex plant maintenance (far too many task dependencies to schedule by hand). It is a deterministic method that treats durations as known values, built to answer 'how fast can the project finish, and which tasks drag everything the moment they slip.' Three-point estimation for uncertainty is PERT (1958, US Navy Polaris program), not CPM; and CPM long predates both the PMBOK Guide and the agile movement. (Sources: Kelley & Walker, 'Origins of CPM: A Personal History' (PMI); Kelley & Walker (1959), Critical-Path Planning and Scheduling)

The critical path is the 'longest' chain of dependent activities in the project network, yet its total length equals the project's 'shortest' possible completion time. Why?

答案:Because for the project to finish, every path must be completed, so the time the longest chain takes is the lower bound on the completion date

A project network contains many paths from start to finish, and the project only ends when all of them are complete — so the longest chain of dependencies sets the lower bound on the finish date: the project cannot end before it is done, and can end as soon as it is done. That is where the counterintuitive equation 'longest path = shortest duration' comes from. Corollary: to deliver faster, compressing non-critical tasks is useless — you must shorten the critical path itself; and a project may have more than one critical path (tied for longest). It has nothing to do with task difficulty, and there is no empirical coefficient. (Sources: PMI, PMBOK Guide — Schedule Management; Critical Path Method, Wikipedia)

True or False: 'Critical' on the critical path means these tasks are technically the hardest and most important — the critical path is simply the chain of the project's most difficult tasks.

答案:False

False. 'Critical' does not mean hardest or most important — it means zero float (slack): no buffer at all, so any slip pushes out the whole project's delivery date. The critical path may consist of perfectly mundane tasks; the technically hardest task, if it has positive float, is not on the critical path at all. Identifying the zero-float activities is exactly how you find the tasks a project manager must watch most closely. (Sources: PMI, PMBOK Guide — Total Float (critical activities have zero float); Critical Path Method, Wikipedia)

In CPM's two-pass calculation, what do the forward pass and the backward pass each compute?

答案:The forward pass works from the project start onward, computing each activity's Early Start (ES) and Early Finish (EF) (EF = ES + duration); the backward pass works from the project end backward, computing Late Start (LS) and Late Finish (LF)

The forward pass works from the project start onward: it computes each activity's Early Start (ES) and Early Finish (EF), where EF = ES + duration and a successor's ES is the maximum EF of all its predecessors — this yields the project's shortest duration. The backward pass works from the project end backward: it computes Late Start (LS) and Late Finish (LF), the latest an activity can slip without delaying project completion. Then each activity's Total Float = LS − ES = LF − EF, and the zero-float activities chain into the critical path. The two passes compute time parameters — not cost, risk, or resource utilization. (Sources: PMI, PMBOK Guide — Forward/Backward Pass; Critical Path Method, Wikipedia)

An activity has Early Start ES = day 5, Late Start LS = day 9, Early Finish EF = day 8, and Late Finish LF = day 12. What is its total float, and is it on the critical path?

答案:Total float = LS − ES = 9 − 5 = 4 days (equally LF − EF = 12 − 8 = 4); it has positive float, so it is not on the critical path

The formula is Total Float = LS − ES = LF − EF: here 9 − 5 = 4 days, cross-checked by LF − EF = 12 − 8 = 4 days — the two expressions always agree. A total float of 4 days > 0 means the activity can slip up to 4 days without delaying project completion — activities with positive float are not on the critical path; only zero-float activities are critical. EF − ES = 3 days is the activity's own duration, not its float; LF − ES mixes the two sets of time parameters — both are wrong. (Source: PMI, PMBOK Guide — Total Float = LS−ES = LF−EF)

What is the correct five-step procedure for finding a project's critical path?

答案:List all activities and durations → mark dependencies between activities → draw the network diagram → forward pass for ES/EF (yielding the project's shortest duration) → backward pass for LS/LF and float = LS − ES; the chain of zero-float activities is the critical path

The five practical steps: (1) list all activities and their durations; (2) mark the dependencies (what must finish before what); (3) draw the network diagram (activities as nodes, dependencies as arrows); (4) run the forward pass for each activity's ES/EF, yielding the project's shortest duration; (5) run the backward pass for LS/LF and compute each activity's float = LS − ES — the chain of zero-float activities is the critical path. The passes must build on the activity list, dependencies, and network diagram, so they cannot come first; and back-calculating durations from a budget is not how CPM works. Once you have the critical path: watch every task on it, give those tasks the steadiest resources, and prepare risk responses. (Source: PMI, PMBOK Guide — Develop Schedule / Critical Path Method steps)

True or False: To deliver a project earlier, compressing any task works equally well — shortening non-critical tasks moves the finish date just as much as shortening critical ones.

答案:False

False. To finish a project faster, you can only compress the critical path — compressing non-critical tasks does nothing for the delivery date, because the completion time is set by the longest chain (the critical path), and non-critical tasks already have float and do not gate completion. Also beware: once the current critical path is shortened, another path may overtake it and become the new critical path, so recalculate as you compress. (Sources: PMI, PMBOK Guide — Schedule Compression; Critical Path Method, Wikipedia)

Regarding the two schedule compression techniques — crashing and fast-tracking — which statement is correct?

答案:Crashing = adding resources/overtime to critical tasks to shorten durations, at the cost of rising expense with usually diminishing returns; fast-tracking = turning originally sequential critical tasks into partial parallel work — no extra money, but more rework and risk

Each compression technique has its price: crashing adds resources/overtime to critical tasks to shorten durations, at the cost of rising expense, usually with diminishing returns; fast-tracking turns originally sequential critical tasks into partial parallel work — no extra money, but more rework and risk. The first option swaps the two definitions; 'no cost' and 'postpone delivery / cut scope' are not what these terms mean. Remember both work only on the critical path, and recalculate after compressing — another path may overtake and become the new critical path. (Source: PMI, PMBOK Guide — Crashing / Fast-tracking)

True or False: A task with positive float is not on the critical path anyway, so it can slip for as long as it likes without ever affecting the project — no need to watch it.

答案:False

False. Float is a finite buffer: a task with positive float can only be delayed within its float without affecting the final duration — once it slips beyond its float, it becomes the critical path and starts dragging the project. Moreover, as the project progresses, an originally non-critical path can become the new critical path through delays, requiring recalculation. The right use of float is as scheduling ammunition — tolerate small slips, or temporarily pull resources from non-critical tasks to reinforce critical ones — while making sure the buffer is never worn through. (Sources: Critical Path Method, Wikipedia; PMI, PMBOK Guide — Total Float and critical path monitoring)

True or False: CPM and PERT share the same network logic, but CPM (1957, DuPont) treats durations as deterministic values, while PERT (1958, the US Navy's Polaris missile program) handles duration uncertainty with optimistic/most-likely/pessimistic three-point estimates, making it better suited to R&D-type projects.

答案:True

True. 'CPM is just PERT' is a common misconception: the two share the same network logic, and the difference lies in how they treat duration uncertainty — CPM (1957, DuPont) is deterministic, treating durations as known values; PERT (1958, the US Navy's Polaris missile program) uses three-point estimates (optimistic / most likely / pessimistic) to handle duration uncertainty, making it better suited to R&D-type projects. (Sources: Kelley & Walker, 'Origins of CPM: A Personal History' (PMI); PERT — Program Evaluation and Review Technique (US Navy, 1958), Wikipedia)

想边练边学,而不只是读?

到互动课里答题、记进度、攒连胜——游客即可试学,无需注册。

进入互动课程 →

Learn something new — don't miss updates

New courses, features and learning tips. Occasional emails, unsubscribe anytime.