Three printable worksheets that build from foundations to mastery, or build your own from any module’s questions.
Earliest start times · Latest start times · Scanning a network
In a building project, Activity A (foundations, 4 days) must finish before Activities B (framing, 3 days) and C (plumbing, 5 days) can start. B and C both feed into D (roofing, 2 days).
Before reading on, what is the earliest day roofing (D) can start? And: what is the latest day framing (B) can start without delaying the final completion date?
The Earliest Start Time (EST) at any node is the earliest moment (in days, weeks, etc.) that the work after that node can begin. You find it by running a forward scanmoving left to right through the network.
Network: Start → A(3) → B(4) → End; Start → C(5) → End (C also feeds into End).
Network: Two parallel paths from S to End.
Step 1, EST(S) = 0
Step 2, EST(A) = EST(S) + dur(SA) = 0 + 3 = 3
Step 3, EST(C) = EST(S) + dur(SC) = 0 + 5 = 5
Step 4, EST(B) = EST(A) + dur(AB) = 3 + 4 = 7
Step 5, EST(End): Two paths arrive: via B → 7; via C → 5. Take max: EST(End) = 7
Minimum project duration = 7 days.
EST (Earliest Start Time) at each node is found by the forward scan: set EST = 0 at start, then at each node take the maximum of (predecessor EST + activity duration). The final node's EST is the minimum project duration.
Pause, copy the forward scan rule: EST at each node = maximum of (predecessor EST + activity duration), and explain why maximum is used, you can only start when ALL predecessors have finished into your book.
The forward scan sets EST = 0 at the start node and works left to right, taking the maximum of (predecessor EST + activity duration) at each merge node. This gives the earliest each event can occur. To find the latest each activity can start without pushing the project over time, the backward scan reverses the process: start at the final node with LST = EST, then subtract activity durations right to left, taking the minimum at each burst node.
The Latest Start Time (LST) at any node is the latest the work after that node can begin without pushing out the project completion date. You find it by running a backward scanmoving right to left through the network.
Network: EST values found above: S=0, A=3, C=5, B=7, End=7.
Step 1, LST(End) = EST(End) = 7
Step 2, LST(B) = LST(End) − dur(B→End) = 7 − 4 = 3
Step 3, LST(C) = LST(End) − dur(C→End) = 7 − 5 = 2
Wait, but we calculated EST(C) = 5. Check: LST = 2, EST = 5? That cannot be right because LST < EST is impossible in a valid network. Let me re-examine: C has duration 5 and goes directly to End (LST 7). LST(C) = 7 − 5 = 2.
Note: In this network C is NOT on the critical path (it has float = 2 − 0 = 2 days at the start node side; the actual float equals LST(node after C) − EST(node before C) − dur(C) = 7 − 0 − 5 = 2). This is fine, float means slack.
Step 4, LST(A) = LST(B) − dur(A→B) = 3 − 4 = −1? No, check again. B has duration 4 coming from A. LST(B) is the LST of node B. LST(A) = LST(B) − dur(AB) = 3 − 3 = 0.
LST (Latest Start Time) is found by the backward scan: set LST = EST at the final node, then work right to left subtracting activity durations. When paths diverge backwards, take the minimum of outgoing LST − duration.
Pause, copy the backward scan rule: LST at each node = minimum of (successor LST − activity duration), and explain why minimum is used, you must not push any successor activity past its latest start time into your book.
The forward scan gives EST and the backward scan gives LST at every node. Recording both in split boxes (EST on the left, LST on the right) immediately shows which nodes are on the critical path: wherever EST = LST, there is zero float, that node must occur at exactly that time or the project is delayed. The difference LST − EST at any other node is the float available for those activities.
On network diagrams, each node is drawn as a split box:
Precedence table:
| Activity | Duration (days) | Depends on |
|---|---|---|
| A | 2 | |
| B | 4 | A |
| C | 3 | A |
| D | 5 | B |
| E | 2 | C, D |
Forward scan (EST):
Backward scan (LST):
Node boxes:
| Node | EST | LST | On critical path? |
|---|---|---|---|
| 1 (Start) | 0 | 0 | Yes (EST=LST) |
| 2 (after A) | 2 | 2 | Yes (EST=LST) |
| 3 (after B) | 6 | 6 | Yes (EST=LST) |
| 4 (after C) | 5 | 9 | No (float = 4) |
| 5 (End) | 11 | 11 | Yes (EST=LST) |
Critical path: Start → A → B → D → End (total = 2+4+5 = 11 days). Activity C has 4 days float.
Each node box shows EST on the left and LST on the right. When EST = LST, the node is on the critical path (no float). Float = LST − EST at any node (activity can be delayed this many time units without delaying the project).
Pause, copy the split-box format (EST | LST), the critical-path condition EST = LST at a node, and the float formula: float = LST − EST (zero on critical path) into your book.
A project has the following activities:
| Activity | Duration | Depends on |
|---|---|---|
| P | 3 | |
| Q | 6 | P |
| R | 4 | P |
| S | 2 | Q, R |
Using the network from Activity 1 (P=3, Q=6, R=4, S=2), now perform a complete backward scan. Fill in the LST for each node and identify which activities have float.
Q1. During a forward scan, when two paths arrive at the same node with path totals of 8 and 11, the EST of that node is:
Q2. The backward scan begins at the:
Q3. A node has LST = 7 and EST = 4. The float on the path through that node is:
Q4. Activity X has duration 5. The node before X has EST = 3 and the node after X has LST = 10. The float of activity X is:
Q5. Which statement about node boxes is correct?
SAQ 1. A project network has activities: A(5), B(3) after A, C(4) after A, D(2) after B and C. Perform a complete forward and backward scan. Show all EST and LST values in a table.
SAQ 2. Explain in your own words why we take the maximum in a forward scan but the minimum in a backward scan when multiple paths meet at a node.
Q1 → D (11)Forward scan takes the maximum of incoming paths.
Q2 → CBackward scan starts at the final node, setting LST equal to EST of that node.
Q3 → C (3)Float = LST − EST = 7 − 4 = 3.
Q4 → B (2)Float = LST(end node) − EST(start node) − duration = 10 − 3 − 5 = 2.
Q5 → DEST = LST means zero float, so the node is on the critical path.
SAQ 1: Forward: Start=0, after A=5, after B=8, after C=9, End=max(8+2, 9+2)=max(10,11)=11. Backward: End=11, before D (from B side)=11−2=9, before D (from C side)=11−2=9. Before B: 9−3=6. Before C: 9−4=5. Before A: min(6−5, 5−5)=min(1,0)=0. Node table: Start(0,0)✓, after A(5,5)✓, after B(8,6)float2, after C(9,9)✓, End(11,11)✓. Critical path: Start→A→C→D→End = 5+4+2 = 11.
SAQ 2: Forward scan, at a merge node all predecessors must be complete before work can continue, so we wait for the last one: maximum ensures every required activity is done. Backward scan, at a fork node the activity must start early enough for the most urgent branch to meet its deadline: minimum ensures no deadline is missed.
Foundations (A=4 days) must finish before framing (B=3) and plumbing (C=5) start. Both B and C must finish before roofing (D=2) starts.
Forward scan: EST(start)=0, EST(after A)=4, EST(after B)=7, EST(after C)=9. EST(End) = max(7+2, 9+2) = max(9, 11) = 11. Roofing (D) can start on day 9 at earliest (after C finishes).
Backward scan: LST(End)=11. LST(before D)=9. LST(after A, B side)=9−3=6. LST(after A, C side)=9−5=4. LST(after A)=min(6,4)=4. LST(start)=4−4=0.
Framing (B) must start by day 6 (LST of node after A via B = 6). It can start as early as day 4 (EST), giving 2 days of float.
You can now perform forward and backward scans on activity networks and record EST/LST values in node boxes.
Work through this topic 1-on-1 with an experienced HSC tutor.
Book a free session →