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.

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:

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:

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
A505050
B358691
C459590
D69159150
E2151715170

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.

🔑 Exam Tip: The "Max EF" and "Min LS" Rules

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.

💡 Memory Aid: Total Float = LS − ES

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:

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:

Feature Traditional CPM Critical Chain (CCM)
FocusTask dependenciesTask + resource dependencies
Float locationDistributed across activitiesPooled in buffers at key points
Safety timeHidden in individual task estimatesRemoved from tasks, aggregated into buffers
MonitoringTrack individual activity progressTrack 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
CrashingAdd resources to speed up critical path tasksIncreases cost; may decrease quality
Fast-TrackingRun critical path tasks concurrentlyIncreases risk and potential rework

CPM Exam Question Types

CPM questions on the PMP exam follow predictable patterns. Here is what to expect:

Common CPM Mistakes and How to Avoid Them

Full Worked Example — Complete CPM Analysis

Scenario: A project has six activities with the following dependencies and durations:

Activity Duration (days) Predecessors
Start0
A3Start
B4Start
C5A
D2B
E6C, D
F1E

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 →

📖 Read Related PMP Guides

Deepen your understanding with our free PMP blog articles: