The Critical Path Method (CPM) is a project scheduling technique that identifies the longest sequence of dependent activities running from project start to finish, which sets the shortest possible time the project can take. Every activity on this sequence, the critical path, has zero float, meaning any delay to it delays the whole project, while activities off the critical path carry some float and can slip without changing the finish date. CPM is calculated using a forward pass to find the earliest an activity can start and finish, and a backward pass to find the latest it can start and finish without delaying the project. It underpins scheduling on both predictive and hybrid projects and is a core technique tested on the PMP exam.
Key Highlights
- The critical path is the longest chain of dependent activities in a project network, and it determines the minimum overall project duration.
- Activities on the critical path have zero float; a delay to any of them pushes back the entire project finish date.
- CPM uses two passes through the network diagram, a forward pass for earliest start and finish dates, and a backward pass for latest start and finish dates.
- Float, also called slack, is the difference between an activity's latest and earliest finish (or start) and shows how much delay it can absorb.
- The most common modern network diagram format for CPM is the Precedence Diagramming Method (PDM), also called Activity-on-Node.
- CPM is distinct from Critical Chain Method (CCM), which adds resource constraints and buffers rather than relying purely on float.
- Schedule compression techniques such as crashing and fast tracking are applied specifically to activities on the critical path to shorten a project.
What Is the Critical Path Method
The Critical Path Method is a mathematical scheduling technique used to calculate a project's minimum duration and to identify which activities cannot slip without delaying the whole project. It works by mapping every project activity and its dependencies into a network diagram, then calculating, for each activity, the earliest possible start and finish and the latest possible start and finish, given the durations and logical relationships between tasks. The chain of activities where the earliest and latest dates are identical, meaning there is no scheduling flexibility at all, is the critical path.
CPM is documented as a core scheduling technique within PMI's PMBOK Guide and Standard for Project Management, and it is examinable content in the PMP certification as well as in PMI's dedicated scheduling credential, the PMI Scheduling Professional (PMI-SP). It is not owned by any single tool or vendor; scheduling software such as Primavera P6 and Microsoft Project both implement CPM calculations automatically, but understanding the underlying maths is what allows a project manager or scheduler to sanity check software output, explain a schedule to stakeholders, and make sound decisions about where to focus schedule risk management.
Within the PMBOK Guide's process framework, CPM sits inside schedule network analysis, one of several techniques used during the Develop Schedule process, alongside methods such as resource optimisation, schedule compression, and what-if scenario analysis. In practice this means CPM is rarely used entirely on its own; it establishes the baseline critical path, and other techniques are then layered on top of that baseline to handle resource constraints, compress the timeline, or model risk. Understanding CPM in isolation is nonetheless the essential first step, because every other scheduling technique used alongside it assumes the scheduler already knows which activities are critical.
Building the Network Diagram

Before any calculation happens, activities are arranged into a network diagram that shows which activities must finish before others can start. The dominant modern approach is the Precedence Diagramming Method, where each activity is drawn as a node or box and arrows show dependency relationships between them. This replaced the older Activity-on-Arrow style, where activities were represented by arrows and nodes marked only milestones, largely because Activity-on-Node diagrams handle the four dependency types (finish-to-start, start-to-start, finish-to-finish, and start-to-finish) more clearly and are easier for modern scheduling software to render and update.
Forward Pass: Earliest Start and Finish
The forward pass moves through the network from the first activity to the last, calculating the earliest start (ES) and earliest finish (EF) of each activity:
- EF = ES + duration for the activity being calculated.
- When an activity has more than one predecessor, its ES is the largest EF among all its predecessors, since it cannot start until every predecessor has actually finished.
Backward Pass: Latest Start and Finish
The backward pass then moves from the last activity back to the first, calculating the latest finish (LF) and latest start (LS):
- LS = LF - duration for the activity being calculated.
- The final activity's LF is set equal to its EF from the forward pass, anchoring the backward pass to the project's calculated finish date.
- When an activity has more than one successor, its LF is the smallest LS among all its successors, since it must finish in time for the earliest-starting successor.
Float (Slack) and the Critical Path
Float, also called slack, measures how much an activity can slip before it affects the project finish date. Total float is calculated as Float = LF - EF, which is mathematically equivalent to LS - ES. Any activity with zero float sits on the critical path; delaying it by even one day delays the entire project by the same amount. Activities with float greater than zero have scheduling flexibility and are sometimes referred to as being on a "near-critical" or non-critical path, depending on how much float they carry.
Worked Example
Consider a small project with six activities. A has no predecessor and takes 4 days. B and C both start after A; B takes 3 days and C takes 6 days. D starts after B and takes 2 days. E starts only once both C and D are finished and takes 4 days. F is the final activity, starting after E, and takes 3 days.
| Activity | Duration | ES | EF | LS | LF | Float | Critical? |
|---|---|---|---|---|---|---|---|
| A | 4 | 0 | 4 | 0 | 4 | 0 | Yes |
| B | 3 | 4 | 7 | 5 | 8 | 1 | No |
| C | 6 | 4 | 10 | 4 | 10 | 0 | Yes |
| D | 2 | 7 | 9 | 8 | 10 | 1 | No |
| E | 4 | 10 | 14 | 10 | 14 | 0 | Yes |
| F | 3 | 14 | 17 | 14 | 17 | 0 | Yes |
Working through the forward pass, E cannot start until both C (EF 10) and D (EF 9) are finished, so its ES is 10, the larger of the two. The project finishes on day 17. Running the backward pass from that finish date back through the network shows that A, C, E, and F all carry zero float, so the critical path is A to C to E to F, totalling 4 + 6 + 4 + 3 = 17 days, exactly matching the project duration. B and D each carry one day of float and could each slip by a day without affecting the finish date, but not both at once if they share a successor's constraint.
Free Float vs Total Float
Total float, the figure used to identify the critical path, considers an activity's effect on the entire project finish date. Free float is narrower: it measures how much an activity can slip without delaying its immediate successor, regardless of what happens further down the network. In the worked example above, activity D has one day of total float because delaying it by more than a day would push the project finish date out. Its free float is also one day here because D has only one successor, E, and delaying D by a day still lets E start on its planned date once C also finishes on time. The two figures diverge on more complex networks where an activity has float relative to the project overall but would still delay an immediate successor if used carelessly, which is why schedulers track both rather than relying on total float alone.
CPM Formula Cheat Sheet
| Term | Formula | Meaning |
| Earliest Finish | EF = ES + Duration | Earliest an activity can finish given its earliest start |
| Earliest Start (multiple predecessors) | ES = MAX(predecessor EFs) | Cannot start until all predecessors finish |
| Latest Start | LS = LF - Duration | Latest an activity can start without delaying the project |
| Latest Finish (multiple successors) | LF = MIN(successor LSs) | Must finish in time for the earliest-starting successor |
| Total Float | Float = LF - EF (or LS - ES) | How much an activity can slip without delaying the project |
| Critical Path | All activities where Float = 0 | The longest path through the network; sets project duration |
Critical Path Method vs Critical Chain Method
The Critical Path Method is often confused with the Critical Chain Method (CCM), but the two solve different problems. CPM assumes resources are available whenever an activity is scheduled to run and focuses purely on task dependencies and duration. CCM assumes resources are constrained and adds explicit time buffers to protect the schedule against both resource conflicts and human behaviours such as the "student syndrome," where work is delayed until close to a deadline.
| Aspect | Critical Path Method (CPM) | Critical Chain Method (CCM) |
|---|---|---|
| Primary focus | Task dependencies and duration | Resource constraints and behavioural risk |
| Protection mechanism | Float (slack) | Project and feeding buffers |
| Resource assumption | Assumes resources are always available | Explicitly models limited, shared resources |
| Exam relevance | Calculation-based; candidates compute float and critical path | Conceptual; candidates are expected to know the theory, not draw CCM diagrams |
In practice, many organisations use CPM as the default scheduling technique and only introduce CCM concepts when resource contention across multiple concurrent projects becomes the dominant scheduling risk.
Why CPM Skills Matter for Project Schedulers
Fluency in CPM calculations signals that a project professional can build, defend, and troubleshoot a schedule rather than simply accept whatever a scheduling tool outputs. This matters commercially because schedule slippage is one of the most common and most visible ways projects fail to deliver value, and being able to explain precisely why a delay on one activity does or does not threaten the finish date is a direct, defensible way to manage stakeholder expectations. Professionals who can run forward and backward pass calculations by hand are also better placed to validate software-generated schedules in tools like Primavera P6 or Microsoft Project, catching logic errors such as missing dependencies or incorrect duration entries before they cause costly surprises. This skill is examined directly in the PMP certification and forms the technical core of Simpliaxis's PMI Scheduling Professional (PMI-SP) Certification Training, both of which enterprise employers recognise as evidence of scheduling competence beyond general project management awareness.
Where Forward and Backward Pass Calculations Go Wrong
- Forgetting to take the largest EF among multiple predecessors during the forward pass, which understates how late a downstream activity can actually start.
- Forgetting to take the smallest LS among multiple successors during the backward pass, which overstates float on an activity.
- Assuming the critical path is fixed for the life of the project; it can shift if a non-critical activity is delayed enough to consume all its float, or if a critical activity is compressed.
- Confusing total float, which considers the whole network, with free float, which only considers the immediate successor activity.
- Treating every activity with float as unimportant; an activity with only one or two days of float is still close to critical and deserves monitoring.
- Applying crashing or fast tracking to activities that are not on the critical path, which adds cost or risk without shortening the project at all.
- Building a network diagram with missing or incorrect dependencies, which produces a critical path calculation that looks precise but is based on flawed logic.
Why Primavera P6 and CPM Are Inseparable on Capital Projects
Critical path scheduling is standard practice across construction, engineering, IT infrastructure, aerospace, and defence programmes, industries where schedule delay carries direct financial and contractual penalties. Enterprise PMOs typically require CPM-based schedules to be maintained and re-baselined throughout a project's life, and scheduling software such as Primavera P6, which is built specifically around CPM logic, remains an industry standard for large capital projects. Because CPM is embedded in PMI's PMBOK Guide and Standard for Project Management, project professionals holding PMI credentials are expected to demonstrate this skill directly, which is one reason enterprise learning and development teams look for Simpliaxis's Primavera P6 Professional Fundamentals Certification Training alongside broader project management certification when building scheduling capability across a PMO.
Handling Multiple Critical Paths and Negative Float
Two situations regularly trip up an otherwise correct CPM calculation. The first is multiple critical paths: when two or more paths through the network tie for the longest duration, every activity on every tied path carries zero float, and a delay on any one of them delays the project. Schedulers sometimes miss a second critical path because they stop checking once they find the first chain of zero-float activities, when in fact the full float table needs to be checked for every activity, not just the ones on the path found first.
The second is negative float, which shows up when a required finish date is imposed on the project (an imposed date constraint) that falls before the date CPM actually calculates. If the backward pass is run from an imposed finish date earlier than the calculated earliest finish, some activities end up with a latest finish earlier than their earliest finish, producing negative float. Negative float is a direct, numerical signal that the schedule as planned cannot hit the imposed date without compression, added resources, or a change in scope, and it should prompt a schedule compression conversation rather than being treated as a rounding error.
These edge cases show up constantly in practice: a construction scheduler tracking a concrete curing activity with three days of float watches it slip by two days and can confirm, from the float figure alone, that escalation is not yet needed, only monitoring. An IT programme manager asked to pull a go-live date forward reruns the forward and backward pass, applies crashing only to the activities that are actually on the critical path, and avoids spending schedule-compression budget on activities that were never going to shorten the project. A PMO analyst comparing several projects' float tables uses the size of the smallest float value, not the number of activities, to decide which project's schedule risk gets reviewed first.
From Activity List to Critical Path in Seven Steps
- List every project activity along with its duration and its predecessor and successor dependencies.
- Draw the network diagram using the Precedence Diagramming Method, showing each activity as a node connected by dependency arrows.
- Run the forward pass from the first activity to the last, calculating ES and EF for every activity.
- Run the backward pass from the last activity back to the first, calculating LF and LS for every activity.
- Calculate float for every activity as LF minus EF, and mark every activity with zero float as part of the critical path.
- Review near-critical activities, those with small but non-zero float, and monitor them closely since they can become critical if delayed.
- Practise the calculation manually on sample networks before relying on scheduling software, so you can validate its output rather than accept it blindly.
Conclusion
The Critical Path Method reduces a complex project schedule down to a clear, calculable question: which sequence of activities, if delayed even slightly, delays the entire project. Once the network diagram is built correctly, the forward pass, backward pass, and float calculation are mechanical and repeatable, which is exactly why CPM remains the foundation of professional scheduling practice across industries and why it is tested directly in PMI's certification programmes. Learning to run these calculations by hand, even if scheduling software will normally do it for you, is what turns a scheduler from someone who reads a Gantt chart into someone who can defend and troubleshoot one.
Key Takeaways
- The critical path is the longest chain of dependent activities in the network; every activity on it has zero float.
- Forward pass gives earliest start/finish (EF = ES + duration, ES = MAX of predecessor EFs); backward pass gives latest start/finish (LS = LF - duration, LF = MIN of successor LSs).
- Float = LF - EF (or LS - ES); zero float means critical, positive float means scheduling flexibility.
- A project can have more than one critical path, and negative float signals an imposed date the current plan cannot meet without compression.
- CPM assumes unlimited resources; Critical Chain Method adds resource constraints and buffers instead of float.
- Crashing and fast tracking should only be applied to activities actually on the critical path, or they add cost without shortening the project.


























