Project Management guide · Scheduling and time
Forward and Backward Pass: Step-by-Step Worked Example
The forward pass and backward pass are the two calculations at the heart of the critical path method. The forward pass works from start to finish to find each activity's earliest dates; the backward pass works from finish to start to find the latest dates. Comparing them gives the float.
Key takeaways
- Forward pass: EF = ES + duration, take the largest EF at merges.
- Backward pass: LS = LF - duration, take the smallest LS at bursts.
- Total float = LS - ES; zero float marks the critical path.
- Free float shows how much an activity can slip without affecting its successors.
Formulas
| Pass | Formula | Rule when there are several links |
|---|---|---|
| Forward | EF = ES + duration | ES = the largest EF of all predecessors |
| Backward | LS = LF - duration | LF = the smallest LS of all successors |
| Float | Total float = LS - ES = LF - EF | Free float = earliest ES of successors - EF |
This guide uses the day-0 convention: the first activity starts at 0 and a successor starts at its predecessor's EF. Some textbooks use a day-1 convention where ES = previous EF + 1; the float and critical path come out the same.
The example network
| Activity | Duration (days) | Predecessors |
|---|---|---|
| A | 3 | - |
| B | 4 | A |
| C | 2 | A |
| D | 5 | B |
| E | 3 | C |
| F | 2 | D, E |
Step 1: forward pass
- A: ES = 0, EF = 0 + 3 = 3.
- B: ES = 3 (EF of A), EF = 3 + 4 = 7.
- C: ES = 3, EF = 3 + 2 = 5.
- D: ES = 7, EF = 7 + 5 = 12.
- E: ES = 5, EF = 5 + 3 = 8.
- F: two predecessors, D (EF 12) and E (EF 8). Take the largest: ES = 12, EF = 12 + 2 = 14.
- Project duration = 14 days.
Step 2: backward pass
- F: LF = 14 (project finish), LS = 14 - 2 = 12.
- D: LF = 12 (LS of F), LS = 12 - 5 = 7.
- E: LF = 12, LS = 12 - 3 = 9.
- B: LF = 7 (LS of D), LS = 7 - 4 = 3.
- C: LF = 9 (LS of E), LS = 9 - 2 = 7.
- A: two successors, B (LS 3) and C (LS 7). Take the smallest: LF = 3, LS = 3 - 3 = 0.
Step 3: float and the critical path
| Activity | ES | EF | LS | LF | Total float | Free float |
|---|---|---|---|---|---|---|
| A | 0 | 3 | 0 | 3 | 0 | 0 |
| B | 3 | 7 | 3 | 7 | 0 | 0 |
| C | 3 | 5 | 7 | 9 | 4 | 0 |
| D | 7 | 12 | 7 | 12 | 0 | 0 |
| E | 5 | 8 | 9 | 12 | 4 | 4 |
| F | 12 | 14 | 12 | 14 | 0 | 0 |
Activities with zero total float, A-B-D-F, are the critical path. C has 4 days of total float but no free float: if C slips, E starts later. E has 4 days of both, because F does not need it until day 12. See float and slack.
Common mistakes
- Taking the smallest EF instead of the largest in the forward pass at a merge point.
- Taking the largest LS instead of the smallest in the backward pass at a burst point.
- Mixing the day-0 and day-1 conventions in one calculation.
- Forgetting to add lags: with FS+2, ES of the successor = EF of the predecessor + 2; see leads and lags.
Free templates for this topic
Frequently asked questions
What is a forward pass?
A calculation from the start of the network to the end that finds each activity's early start and early finish.
What is a backward pass?
A calculation from the end of the network to the start that finds each activity's late finish and late start.
Why take the largest EF in a forward pass?
Because an activity cannot start until all its predecessors are finished, so the latest-finishing one controls it.
Why take the smallest LS in a backward pass?
Because an activity must finish in time for its earliest-needed successor, otherwise that successor is delayed.
How do you calculate float from the forward and backward pass?
Total float = LS - ES, or LF - EF. Both give the same answer.
What is the difference between total float and free float after a forward and backward pass?
Total float is delay allowed without moving the project finish; free float is delay allowed without moving any successor.
Should a forward pass start at day 0 or day 1?
Either works if you are consistent. Day 0 is simpler to calculate; day 1 matches calendar dates more naturally.
What if the required finish date is earlier than the forward pass finish?
Start the backward pass from the required date. Some activities will then have negative float, showing how much time must be recovered.
Do I need to do the forward and backward pass by hand?
Scheduling software does it automatically, but doing a small example by hand helps you understand and check the results. It is also a common exam topic.
Is the forward and backward pass on the PMP exam?
Network calculations such as float and critical path are commonly covered in PMP preparation; see PMP certification.