Courses / Scheduling Fundamentals / Lesson 3.1
The forward pass
In this lesson
- Calculate early start and early finish for every activity in a network
- Handle merge points, where several predecessors meet
- Read the numbers the lab shows in the ES and EF columns
The forward pass answers one question for every activity: what is the earliest it can start and finish? It works from the start of the network to the end, left to right.
The numbers
CPM counts time in working days from the project start. An activity’s early start (ES) is the point in time when it can start, and its early finish (EF) is the point when it finishes:
EF = ES + duration
An activity with ES 0 and a duration of 3 works on Days 1, 2 and 3, and has EF 3. Its finish-to-start successor has ES 3, which is the morning of Day 4. So ES n means starts on Day n + 1, and EF n means finishes at the end of Day n.
Some textbooks start counting at 1 and write EF = ES + duration − 1. It is the same schedule with different arithmetic. The lab, like most software, uses the zero-based numbers above, and shows Day numbers or dates next to them.
The rules
- An activity with no predecessors starts at the project start: ES = 0.
- EF = ES + duration.
- A finish-to-start successor can start when its predecessor finishes: ES = EF(predecessor) + lag.
- At a merge point, where several relationships lead into one activity, take the largest value. The activity has to wait for all of them.
A worked example
The product-launch network in the lab has eight activities. All relationships are finish-to-start with no lag.
| ID | Activity | Dur | Predecessors | ES | EF |
|---|---|---|---|---|---|
| A | Define requirements | 3 | none | 0 | 3 |
| B | Design the product | 4 | A | 3 | 7 |
| C | Plan the marketing | 2 | A | 3 | 5 |
| D | Build the product | 5 | B | 7 | 12 |
| E | Produce the campaign | 6 | C | 5 | 11 |
| F | Set up the web shop | 3 | C | 5 | 8 |
| G | Launch rehearsal | 4 | D, E | 12 | 16 |
| H | Go live | 2 | F, G | 16 | 18 |
G is a merge point. D finishes at 12 and E at 11, so G waits for D: ES = max(12, 11) = 12. We say D drives G, and the lab draws that relationship as a solid line; E → G is dashed. H is another merge point: max(8, 16) = 16.
The last activity finishes at 18, so the project takes 18 working days and Go live is complete at the end of Day 18.
What the early dates are
The early dates are the as early as possible schedule. They are the dates you normally see in the Start and Finish columns of P6 or Microsoft Project before any progress is recorded. They say nothing yet about which activities have room to move. For that you need the backward pass, in the next lesson.
Your turn
Open the lab and click Step through CPM. The lab reveals one activity at a time, in calculation order, and the CPM math tab shows the working. Say each ES out loud before you click Next. Then make E Produce the campaign 8 days long and see which path drives G now.
Lab
Product launch: the forward pass
Step through the forward pass one activity at a time. Predict each early start before you click Next, then check the CPM math tab.