Critical Path Method (CPM): Forward Pass, Backward Pass, Float & Buffer Management
The Critical Path Method (CPM) is the backbone of project schedule analysis. It identifies the longest sequence of dependent activities in a project network diagram and calculates the shortest possible project duration. Every PMP exam includes multiple CPM questions — typically 3–5 — testing your ability to perform the forward pass, the backward pass, calculate float, identify the critical path, and interpret schedule flexibility. This deep-dive guide covers every CPM concept tested on the exam, from the fundamentals of forward/backward pass computation through advanced topics like near-critical paths, schedule compression, and critical chain buffer management.
CPM was developed in the late 1950s by DuPont and Remington Rand for chemical plant maintenance scheduling. It has since become a universal project management technique and a core component of the PMBOK's Schedule Management knowledge area. The logic is rigorous but straightforward: by understanding which tasks truly drive the project completion date, the project manager can focus attention and resources where they matter most.
The Fundamental Concepts
Before we dive into calculations, you must understand the four key parameters that define every activity in a network diagram. The PMP exam uses the standard activity-on-node (AON) convention, where activities are represented as boxes (nodes) and dependencies as arrows.
- ES (Early Start): The earliest possible date the activity can begin, based on the project start date and all predecessor dependencies.
- EF (Early Finish): The earliest possible date the activity can finish (EF = ES + Duration − 1 for day-based calculations, or simply ES + Duration for most exam approaches).
- LS (Late Start): The latest date the activity can start without delaying the project end date.
- LF (Late Finish): The latest date the activity can finish without delaying the project end date (LF = LS + Duration − 1).
The PMP exam typically uses a simple integer model where durations are in days and activities start at time 0 or time 1. Both conventions are used; we will use the time-0 approach (project starts at time 0, and EF = ES + Duration) because it simplifies calculations and is the more common exam format.
The Forward Pass: Calculating ES and EF
The forward pass moves from the project start to the project end, filling in the ES and EF for each activity. The rules are straightforward:
- Rule 1: The first activity (or activities with no predecessor) has ES = 0.
- Rule 2: EF = ES + Duration.
- Rule 3: For any activity, ES = the largest EF of all its immediate predecessors. This is called the "maximum EF" rule — you cannot start until all predecessors are complete.
Worked example — Forward pass:
Consider a simple network with five activities: A (5 days), B (3 days, depends on A), C (4 days, depends on A), D (6 days, depends on B and C), and E (2 days, depends on D).
Activity A: ES = 0, EF = 0 + 5 = 5.
Activity B: ES = 5 (predecessor A has EF = 5), EF = 5 + 3 = 8.
Activity C: ES = 5 (same predecessor A), EF = 5 + 4 = 9.
Activity D: ES = max(8, 9) = 9 (the larger EF of B and C), EF = 9 + 6 = 15.
Activity E: ES = 15, EF = 15 + 2 = 17.
The project's earliest completion time is 17 days — the EF of the last activity.
The Backward Pass: Calculating LS and LF
The backward pass moves from the project end back to the start. It calculates the latest each activity can start and finish without delaying the project. The rules are the reverse of the forward pass:
- Rule 1: The last activity has LF = its EF (or the project duration, if different).
- Rule 2: LS = LF − Duration.
- Rule 3: For any activity, LF = the smallest LS of all its immediate successors. This is the "minimum LS" rule — you must finish before any successor's latest start.
Worked example — Backward pass (continuing from above):
Activity E (last activity): LF = 17, LS = 17 − 2 = 15.
Activity D (successor is E): LF = LS of E = 15, LS = 15 − 6 = 9.
Activity B (successor is D): LF = LS of D = 9, LS = 9 − 3 = 6.
Activity C (successor is D): LF = LS of D = 9, LS = 9 − 4 = 5.
Activity A (successors are B and C): LF = min(6, 5) = 5, LS = 5 − 5 = 0.
| Activity | Duration | ES | EF | LS | LF | Total Float |
|---|---|---|---|---|---|---|
| A | 5 | 0 | 5 | 0 | 5 | 0 |
| B | 3 | 5 | 8 | 6 | 9 | 1 |
| C | 4 | 5 | 9 | 5 | 9 | 0 |
| D | 6 | 9 | 15 | 9 | 15 | 0 |
| E | 2 | 15 | 17 | 15 | 17 | 0 |
The critical path is A → C → D → E (all with total float = 0). Activity B has 1 day of total float. This tells us B can be delayed by up to 1 day without affecting the project completion date.
Forward pass: ES = max(EF of all predecessors). Backward pass: LF = min(LS of all successors). If you remember only two rules for CPM, remember these. The most common mistake is using "min" when you need "max" (forward pass) or "max" when you need "min" (backward pass).
Total Float vs. Free Float
Understanding the distinction between total float and free float is essential. The exam tests both concepts, and they are often confused.
Total Float (Total Slack)
Formula: Total Float = LS − ES = LF − EF
Total float measures how much an activity can be delayed without delaying the project end date. Activities on the critical path have total float = 0 (or negative zero in some calculations). Activities off the critical path have positive total float. In the example above, Activity B has total float = 6 − 5 = 1 (or 9 − 8 = 1).
Free Float
Formula: Free Float = ESnext − EFcurrent
Free float measures how much an activity can be delayed without delaying the early start of any successor activity. It is always ≤ total float. Free float is the "safe" delay — if you delay by up to the free float, you do not affect any other activity's early start. In the example above, Activity B has ESnext = 9 (the ES of D) and EF = 8, so free float = 9 − 8 = 1. In this case, free float equals total float, but that is not always true.
Key difference: Total float protects the project end date. Free float protects the next activity's early start. Total float is always ≥ free float. On the exam, a question about "how much can this activity slip without affecting other work" is asking about free float. A question about "how much can this activity slip without delaying the project" is asking about total float.
Project Float and Negative Float
Project Float
Project float (also called management reserve float) is the amount of time the project end date can be delayed without exceeding a stakeholder-imposed deadline. If the project completion date calculated by CPM is 17 days, but the customer requires delivery in 20 days, the project has 3 days of project float. This is different from total float because it exists at the project level, not the activity level.
Negative Float
Negative float occurs when the late dates are earlier than the early dates — meaning the project is already behind before it starts. This happens when imposed deadlines are shorter than the calculated critical path. For example, if the customer demands delivery in 14 days but the CPM shows the earliest finish is 17 days, the critical path activities would show negative float of −3 days. Negative float is a red flag that requires schedule compression (crashing or fast-tracking) or a change request to extend the deadline.
If LS > ES, you have slack. If LS = ES, you are on the critical path. If LS < ES, you have negative float — the project is already late. The critical path always has the least total float (usually zero).
Near-Critical Path
The near-critical path is the path through the network with the second-least amount of total float. On the PMP exam, near-critical path awareness is tested in the context of risk management. When a near-critical path has only slightly more float than the critical path, a delay on that near-critical path could make it the new critical path. This has two important implications:
- Risk exposure: The project has two paths that could dictate the project duration. Both should be monitored closely.
- Resource allocation: Resources should not be stripped from the near-critical path carelessly, especially during crashing or fast-tracking. Doing so could create a new critical path.
The PMP exam tests near-critical path primarily through scenario questions. For instance, if Activity B on the near-critical path has only 1 day of float and gets delayed by a resource issue, the right answer is often "monitor the new critical path" or "recalculate the schedule to identify any new critical paths."
Critical Chain Method (Buffer Management)
The Critical Chain Method (CCM) is an advanced scheduling technique introduced in the PMBOK as an alternative to traditional CPM. While the PMP exam focuses more heavily on traditional CPM, CCM appears in 1–2 questions and tests a fundamentally different mindset.
In traditional CPM, float is distributed across individual activities. In Critical Chain, all safety is pooled into buffers at the end of the critical chain. The key components are:
- Critical Chain: The longest path through the network considering both task dependencies and resource dependencies. This is different from the critical path because it accounts for resource constraints — not just logical dependencies.
- Project Buffer: A time reserve added at the end of the critical chain to protect the project completion date against delays on the critical chain. It is calculated from the aggregated safety of the critical chain activities (typically 50% of the total critical chain duration after removing individual activity padding).
- Feeding Buffers: Time reserves added at the points where non-critical chain paths join the critical chain. They protect the critical chain from delays on feeder paths.
- Buffer Management: Instead of tracking individual activity performance, CCM tracks buffer consumption. If 50% of the project buffer is consumed when only 25% of the critical chain is complete, corrective action is needed (yellow zone). If 75% or more of the buffer is consumed, urgent action is needed (red zone).
| Feature | Traditional CPM | Critical Chain (CCM) |
|---|---|---|
| Focus | Task dependencies | Task + resource dependencies |
| Float location | Distributed across activities | Pooled in buffers at key points |
| Safety time | Hidden in individual task estimates | Removed from tasks, aggregated into buffers |
| Monitoring | Track individual activity progress | Track buffer consumption vs. chain progress |
| Common exam scenario | "Calculate float on Activity B" | "Feeding buffer has been 60% consumed" |
Schedule Compression: Crashing vs. Fast-Tracking
When the critical path exceeds the target duration, or when negative float exists, the project manager must compress the schedule. The PMP exam tests two schedule compression techniques extensively, and you must know when to use each.
Crashing
Crashing adds resources to critical path activities to reduce their duration. The key exam point: crashing always increases cost. You must analyze the cost slope of each critical path activity (cost per day saved) and crash the cheapest ones first. The exam may ask: "Which activity should you crash first?" The answer is always the one on the critical path with the lowest crash cost per day.
Fast-Tracking
Fast-tracking performs critical path activities in parallel that were originally planned sequentially. It increases risk (rework potential) but may not increase cost as dramatically as crashing. The exam tests that fast-tracking works only on activities with discretionary dependencies (soft logic), not mandatory dependencies (hard logic). If two activities have a finish-to-start dependency because one produces output the other needs, you cannot fast-track them.
| Technique | How It Works | Trade-off |
|---|---|---|
| Crashing | Add resources to speed up critical path tasks | Increases cost; may decrease quality |
| Fast-Tracking | Run critical path tasks concurrently | Increases risk and potential rework |
CPM Exam Question Types
CPM questions on the PMP exam follow predictable patterns. Here is what to expect:
- Network Diagram Analysis (30%): You are given a network diagram (or asked to interpret one) and must identify the critical path, calculate the project duration, or determine float for a specific activity. These are the most common and most formulaic.
- Forward/Backward Pass Calculation (25%): You are given activity durations and dependencies (often in a table) and must calculate ES, EF, LS, LF, or total float for one or more activities. The exam typically asks for a single value, not the entire table.
- Float Interpretation (20%): You are told that an activity has X days of float and asked what it means. Total float questions ask about impact on project completion. Free float questions ask about impact on successors.
- Schedule Compression Decision (15%): You are told the project duration exceeds a deadline and must choose between crashing and fast-tracking. The key is recognizing which activities can be crashed (any critical path activity) versus fast-tracked (only those with discretionary dependencies).
- Critical Chain Scenario (10%): You are given buffer consumption data and must determine whether corrective action is needed. Green = <33%, Yellow = 33–66%, Red = >66% buffer consumption relative to chain completion.
Common CPM Mistakes and How to Avoid Them
- Confusing forward pass and backward pass rules: Forward pass uses MAX of predecessor EFs. Backward pass uses MIN of successor LSs. Students often reverse these.
- Forgetting that the critical path can change: If a non-critical activity is delayed enough, the critical path shifts. The exam may ask "What is the new critical path?" after a delay.
- Mixing up total float and free float: Total float = time without delaying the project. Free float = time without delaying any successor. Read the question carefully.
- Assuming there is only one critical path: Two or more paths can have the same duration and zero float. Multi-critical paths are common in complex networks.
- Confusing near-critical path with critical chain: Near-critical is about float magnitude. Critical chain is about resource dependencies and buffer management — they are different concepts entirely.
Full Worked Example — Complete CPM Analysis
Scenario: A project has six activities with the following dependencies and durations:
| Activity | Duration (days) | Predecessors |
|---|---|---|
| Start | 0 | — |
| A | 3 | Start |
| B | 4 | Start |
| C | 5 | A |
| D | 2 | B |
| E | 6 | C, D |
| F | 1 | E |
Forward Pass:
A: ES = 0, EF = 3
B: ES = 0, EF = 4
C: ES = 3, EF = 8
D: ES = 4, EF = 6
E: ES = max(8, 6) = 8, EF = 14
F: ES = 14, EF = 15
Backward Pass:
F: LF = 15, LS = 14
E: LF = 14, LS = 8
C: LF = 8, LS = 3
D: LF = 8, LS = 6
A: LF = min(3) = 3, LS = 0
B: LF = min(6) = 6, LS = 2
Float Analysis:
A: Total Float = 0, Free Float = 3 − 3 = 0 (critical)
B: Total Float = 2 − 0 = 2, Free Float = 4 − 4 = 0 (non-critical)
C: Total Float = 3 − 3 = 0, Free Float = 8 − 8 = 0 (critical)
D: Total Float = 6 − 4 = 2, Free Float = 8 − 6 = 2 (non-critical)
E: Total Float = 8 − 8 = 0, Free Float = 14 − 14 = 0 (critical)
F: Total Float = 14 − 14 = 0, Free Float = 15 − 15 = 0 (critical)
Critical Path: Start → A → C → E → F (15 days). The near-critical path is B → D → E → F (15 days as well — wait, that's also 15 days!). This is a multi-critical path scenario: both A→C→E→F and B→D→E→F have 15 days and zero total float. Activity B has total float = 2, but it is not on the critical path because the path B→D→E→F has duration = 4 + 2 + 6 + 1 = 13? Let me recalculate: B(4) + D(2) + E(6) + F(1) = 13. The critical path is A→C→E→F = 3 + 5 + 6 + 1 = 15. So B has total float = 2, D has total float = 2. Both can slip up to 2 days. The near-critical path is B→D→E→F at 13 days.
Interpretation: Schedule compression on A and C would reduce the project duration. Crashing A by 1 day (costing extra resources) would save 1 day. Fast-tracking is not possible since all dependencies are finish-to-start. If B or D are delayed by more than 2 days, the critical path would shift and the project would be longer than 15 days.
Mastering these CPM techniques will prepare you for the schedule management questions on the PMP exam. Practice working through network diagrams, calculating float values, and identifying which activities give the project manager scheduling flexibility.
← Back to PMP Formulas Hub | Next: PERT Estimating →
📚 Sources & References
- 🔗 PMI Official PMP Certification — Project Management Institute
- 🔗 PMBOK Guide — Seventh Edition — PMI Standards
- 🔗 PMP Exam Content Outline (ECO) — Official exam blueprint