Forward and backward pass: a worked example
Six activities, finish-to-start links only, on a Monday-to-Friday 8-hour calendar starting Monday 7 September 2026. Two chains leave activity A and rejoin at F. Find the project duration, the critical path, and the float on the non-critical chain.
| Activity | Duration (working days) | Predecessors |
|---|---|---|
| A Site survey | 3 | — |
| B Detailed design | 4 | A |
| C Permit application | 2 | A |
| D Procurement | 5 | B |
| E Permit approval | 3 | C |
| F Installation | 2 | D, E |
1. Forward pass — earliest dates
Start at the beginning and work left to right. An activity can start as soon as all its predecessors have finished, so its early start is the latest early finish among them. Add the duration to get the early finish. Where two chains meet — here at F — the later one wins: F cannot start until both D and E are done.
2. Backward pass — latest dates
Now work right to left from the project finish. An activity's late finish is the earliest late start among its successors; subtract the duration to get its late start. This tells you the latest each activity could happen without delaying the project.
3. Total float
Total float is the gap between the two answers: late start minus early start, counted in working time. Zero float means the activity has nowhere to move — delay it by a day and the whole project slips a day.
4. The critical path
The critical path is the longest chain through the network — the one with no float. Note the direction of the logic: it is the chain that drives the finish date, not simply every activity that happens to show zero float.
The answer
The project takes 14 working days: Monday 7 September to Thursday 24 September 2026. The critical path is A → B → D → F. The permit chain (C and E) carries 4 working days of total float — the permit can be applied for four days late without moving the finish date. Notice that C and E finish well before D: their float is exactly the difference between the two chain lengths.
The network, live
This calculator holds the exercise above. Edit anything — durations, links, the calendar — and the dates, float and critical path recompute instantly. Nothing is saved to your own saved project.
Forward & backward pass
CPM schedule — start 2026-09-07 — sitraka.lu/checklists/scheduler
| ID | Activity | Type | Dur (d) | Predecessors | Early start | Early finish | TF (d) | |
|---|---|---|---|---|---|---|---|---|
| Mon 07 Sept 08:00 | Wed 09 Sept 17:00 | 0.0 ● | ||||||
| Thu 10 Sept 08:00 | Tue 15 Sept 17:00 | 0.0 ● | ||||||
| Thu 10 Sept 08:00 | Fri 11 Sept 17:00 | 4.0 | ||||||
| Wed 16 Sept 08:00 | Tue 22 Sept 17:00 | 0.0 ● | ||||||
| Mon 14 Sept 08:00 | Wed 16 Sept 17:00 | 4.0 | ||||||
| Wed 23 Sept 08:00 | Thu 24 Sept 17:00 | 0.0 ● | ||||||
Predecessors: B (finish-to-start), B:SS+2 (start-to-start, 2-day lag), B:FF-1, B:SF+3. Lags are in working days on the successor's calendar. Rows highlighted in red are on the longest path. Press Enter in the last row to add an activity.
Project finish
Thu 24 Sept 17:00
Duration
14 working days
Longest path
4 / 6 critical
Critical path
A → B → D → F
6 activities scheduled in 5 ms, entirely in your browser. Your data is saved locally and never uploaded: the “Copy link” button encodes the whole project into the URL itself.
Try it yourself
Add 5 days to activity E (permit approval) and reload the numbers: the float disappears and the critical path switches to A → C → E → F. That switch — one chain overtaking the other — is what a schedule risk analysis is really looking for.