CIV-450 · Lesson 5 of 12 · 20 min
Scheduling and the critical path method
A construction schedule is a model of how the work will unfold in time: which activities must happen, in what order, how long each takes, and which ones control the finish date. On the Ridgeway package the schedule is also a contract document. The contractor must submit a baseline schedule within a set number of days after award, update it monthly, and use it to show the effect of any delay or change. The contract administrator reviews it, not to approve the contractor's methods, but to check that it is complete, logical and consistent with the contract's milestones and restrictions. This lesson builds the critical path schedule for the project and a linear schedule for the road crews. CON-210 covers planning and scheduling software and practice in more depth.
Breaking the work down
Scheduling starts with a work breakdown structure, a hierarchy that divides the project into manageable pieces: the culvert, the east road segment, the west segment, the storm sewer, the wall, the roundabout and so on, each divided further into activities that a single crew can carry out with a clear start and finish. Activities should be small enough to be measured and tracked, typically lasting no more than a few weeks on a project of this size, but not so small that the schedule becomes unreadable. Each activity gets a duration, estimated from the quantity and the crew's production rate, and its logical relationships to other activities.
Relationships come in four types. Finish-to-start, the most common, means the successor cannot start until the predecessor finishes: the culvert cannot be installed until its excavation is complete. Start-to-start allows activities to overlap: granular placement can start a few days after excavation starts. Finish-to-finish ties the ends of activities together. Start-to-finish is rare. Lags add a delay to a relationship, such as curing time for concrete. Good practice keeps the logic simple and uses finish-to-start relationships wherever possible, because overlaps and lags can hide where the float really lies.
The critical path method
The critical path method calculates, for every activity, the earliest and latest times it can start and finish without delaying the project. The forward pass runs from the start through the network: each activity's early start, ES, is the latest early finish of its predecessors, and its early finish is ES plus its duration. The largest early finish is the project duration. The backward pass runs from the end: each activity's late finish, LF, is the earliest late start of its successors, and its late start is LF minus its duration. Total float, LS minus ES, is how long an activity can slip without delaying the project. Free float is how long it can slip without delaying any successor. Activities with zero total float form the critical path.
The Ridgeway network has 15 activities. Northline's baseline schedule, prepared by Joel Ostrowski and reviewed by Sofia, uses working days on the contract's six-day week, Monday to Saturday, excluding statutory holidays, with day 1 on May 3.
# Critical path for the Ridgeway Road East contract (durations in working days),
# then a linear schedule for the road crews
UNITS = "US"
SI = UNITS == "SI"
acts = { # code: (description, duration, predecessors)
"A": ("Mobilize, traffic staging", 10, []),
"B": ("Utility relocations (by others)", 25, ["A"]),
"C": ("Cofferdam and creek diversion", 8, ["A"]),
"D": ("Culvert excavation and dewatering", 10, ["C"]),
"E": ("Install culvert, embed bed", 15, ["D"]),
"F": ("Backfill, road over culvert", 8, ["E"]),
"G": ("West segment: excavate, granulars", 20, ["B"]),
"H": ("East segment: excavate, granulars", 22, ["B"]),
"I": ("Storm sewer", 30, ["A"]),
"J": ("Retaining wall", 25, ["H"]),
"K": ("Roundabout", 30, ["F", "H"]),
"L": ("Curb and gutter", 18, ["G", "I", "J"]),
"M": ("Base asphalt lifts", 10, ["K", "L"]),
"N": ("Lighting and bioretention", 15, ["M"]),
"O": ("Surface lift, markings, cleanup", 8, ["N"]),
}
ES, EF = {}, {}
for a, (_, d, pre) in acts.items(): # listed in a valid order, so one forward pass works
ES[a] = max((EF[p] for p in pre), default=0); EF[a] = ES[a] + d
T = max(EF.values())
LF, LS = {}, {}
for a in reversed(list(acts)):
succ = [s for s, (_, _, pr) in acts.items() if a in pr]
LF[a] = min((LS[s] for s in succ), default=T); LS[a] = LF[a] - acts[a][1]
print(f"{'':3s}{'activity':36s}{'dur':>4s}{'ES':>5s}{'EF':>5s}{'LS':>5s}{'LF':>5s}{'TF':>5s}{'FF':>5s}")
for a, (name, d, pre) in acts.items():
succ = [s for s, (_, _, pr) in acts.items() if a in pr]
ff = min((ES[s] for s in succ), default=T) - EF[a]
tf = LS[a] - ES[a]
print(f"{a:3s}{name:36s}{d:4d}{ES[a]:5d}{EF[a]:5d}{LS[a]:5d}{LF[a]:5d}{tf:5d}{ff:5d}{' critical' if tf == 0 else ''}")
print(f"Project duration: {T} working days; critical path: {'-'.join(a for a in acts if LS[a] == ES[a])}")
# the permit's in-water window opens on working day 12: the cofferdam cannot start before then
window = 12
print(f"Cofferdam held to day {window}: culvert chain C-D-E-F float falls from {LS['C'] - ES['C']} to {LS['C'] - max(ES['C'], window)} days")
# linear schedule: production rates along the 1.3 km east segment and the gap each crew keeps
L = 1300.0 if SI else 4265.0
crews = [("excavation", 90 if SI else 295), ("granulars", 110 if SI else 360), ("curb and gutter", 75 if SI else 245)]
u = "m" if SI else "ft"
start = 0.0
print(f"\nLinear schedule along {L:,.0f} {u}:")
prev = None
for name, rate in crews:
dur = L / rate
if prev:
p_start, p_rate = prev
# the follower must not catch up: check the gap at both ends of its run
gap_start = 3.0 # days of buffer wanted at every chainage
s1 = p_start + gap_start # start-end buffer
s2 = p_start + L / p_rate - dur + gap_start # finish-end buffer (matters if follower is faster)
start = max(s1, s2)
print(f" {name:16s} {rate:4d} {u}/day {dur:5.1f} days starts day {start:5.1f} finishes day {start + dur:5.1f}")
prev = (start, rate)activity dur ES EF LS LF TF FF A Mobilize, traffic staging 10 0 10 0 10 0 0 critical B Utility relocations (by others) 25 10 35 10 35 0 0 critical C Cofferdam and creek diversion 8 10 18 29 37 19 0 D Culvert excavation and dewatering 10 18 28 37 47 19 0 E Install culvert, embed bed 15 28 43 47 62 19 0 F Backfill, road over culvert 8 43 51 62 70 19 6 G West segment: excavate, granulars 20 35 55 62 82 27 27 H East segment: excavate, granulars 22 35 57 35 57 0 0 critical I Storm sewer 30 10 40 52 82 42 42 J Retaining wall 25 57 82 57 82 0 0 critical K Roundabout 30 57 87 70 100 13 13 L Curb and gutter 18 82 100 82 100 0 0 critical M Base asphalt lifts 10 100 110 100 110 0 0 critical N Lighting and bioretention 15 110 125 110 125 0 0 critical O Surface lift, markings, cleanup 8 125 133 125 133 0 0 critical Project duration: 133 working days; critical path: A-B-H-J-L-M-N-O Cofferdam held to day 12: culvert chain C-D-E-F float falls from 19 to 17 days Linear schedule along 4,265 ft: excavation 295 ft/day 14.5 days starts day 0.0 finishes day 14.5 granulars 360 ft/day 11.8 days starts day 5.6 finishes day 17.5 curb and gutter 245 ft/day 17.4 days starts day 8.6 finishes day 26.0
Reading the schedule
The project takes 133 working days, finishing on October 8. The critical path is A-B-H-J-L-M-N-O: mobilization, the utility relocations, the east segment earthworks, the retaining wall, curb and gutter, the base asphalt, lighting and bioretention, and the surface lift. Two features stand out. First, the utility relocations, activity B, are on the critical path, but they are done by the utility companies, not by Northline. The contract must say who carries the risk if a utility is late, and the city must coordinate the utilities actively, because a delay there flows straight to the completion date. Second, the retaining wall, which sits on the soft varved clay, is also critical; any problem at its foundation will delay the project. Lesson 9 shows exactly that happening.
The culvert chain, C-D-E-F, has 19 days of total float in the unconstrained network. But the permit for in-water work sets a window, from May 15 to September 15 for this creek, during which the cofferdam may be installed and the creek diverted. Holding the cofferdam to the window's opening on day 12 cuts the chain's float to 17 days. A real schedule must include such date constraints, and the contract administrator should check that the contractor's schedule shows them; a baseline that ignores a permit window will be wrong from the first day.
Free float matters in daily management. The storm sewer, activity I, has 42 days of both total and free float, so Northline can move it to suit crews without affecting anyone. The culvert backfill, F, has 19 days of total float but only 6 days of free float, because any slip beyond 6 days pushes the start of the roundabout, which has its own float. Using up float on one activity uses it for the whole chain.
Worked problem
Forward and backward pass for the roundabout
The roundabout, K, lasts 30 days and follows F, which finishes on day 51, and H, which finishes on day 57. Its only successor, M, has a late start of 100. Find ES, EF, LS, LF and total float for K.
Show solution
- \[ES_K = \max(51, 57) = 57, \quad EF_K = 57 + 30 = 87\]
- \[LF_K = LS_M = 100, \quad LS_K = 100 - 30 = 70\]
- \[TF_K = 70 - 57 = 13\ \text{days}\]
Answer: The roundabout can slip 13 working days without delaying completion.
Who owns the float?
Float is a shared resource, and contracts treat it differently. Some state that float belongs to the project and may be used by whichever party needs it first; others say it belongs to the contractor, which planned the work. The answer matters when an owner's change uses up float on an activity: if float belongs to the project, the change causes no compensable delay until the float runs out. Many modern contracts adopt the shared-float approach and require the contractor to show float honestly, without hiding it in inflated durations or preferential logic. Reviewing the baseline for such tricks, and for missing activities, is one of the contract administrator's most valuable early tasks.
Linear scheduling for road work
Bar charts and networks show when activities happen but not where. On linear projects, roads, pipelines, rail lines, crews move along the job, and the key question is whether a following crew will catch up with the one ahead. A linear schedule, also called a time-chainage or time-location diagram, plots location against time; each crew's progress is a line whose slope is its production rate. Lines that would cross mean a conflict: two crews in the same place at once.
Along the 4,265 ft east segment, excavation advances at about 295 ft a day, granular placement at 360 ft a day and curb and gutter at 245 ft a day. Because the granular crew is faster than the excavation crew, it must start late enough not to catch up at the far end; because the curb crew is slower than the granular crew, the critical gap is at the start. With a three-day buffer at every station, the code gives start days of 0, 5.6 and 8.6 and a finish of the three crews in about 26 working days, instead of the 43.7 days they would take one after another.
The network in the CPM model treats the east segment as one 22-day activity; the linear schedule shows how the work inside it actually flows. The two views are complementary. Many road contractors plan with linear schedules in the field and report with networks to the owner.
The schedule as a contract document
The Ridgeway contract requires a baseline schedule within 15 working days of award, monthly updates showing actual progress and any changes to logic, and a narrative explaining the critical path and any slippage. The contract administrator reviews and accepts the baseline, or returns it with comments. Acceptance does not mean the engineer agrees with the contractor's methods; it means the schedule is a reasonable basis for measuring progress and assessing delays. Updates are the record from which delays are analyzed in lesson 9, so their quality matters long after the work is done.
Practical points
- Break the work into measurable activities with clear logic, mostly finish-to-start.
- Find the critical path and watch the activities on it, especially those done by others.
- Include date constraints such as in-water windows, road closure limits and paving seasons.
- Use linear schedules to keep moving crews from colliding.
- Review the contractor's baseline for missing work, hidden float and impossible logic.
Common mistakes
MistakeIgnoring activities done by others, such as utility relocations.
InsteadThey can be critical; schedule and coordinate them like any other work.
MistakeLeaving permit windows out of the network.
InsteadModel them as date constraints; they can consume float or create a new critical path.
MistakeUsing lags and overlaps everywhere.
InsteadComplex logic hides the true float; keep relationships simple.
MistakeAssuming total float can be used freely on every activity in a chain.
InsteadFloat is shared along a chain; use it once.
Summary and key terms
- The critical path method computes early and late dates by forward and backward passes.
- Total float is LS minus ES; activities with zero total float are critical.
- The Ridgeway schedule runs 133 working days; the critical path passes through the utility relocations and the retaining wall.
- The in-water work window is a date constraint that reduces the culvert chain's float from 19 to 17 days.
- Linear schedules show where crews are and whether a following crew will catch up.
- The baseline and updates are contract documents used later to analyze delays.
- Work breakdown structure
- A hierarchy dividing the project into deliverables and activities.
- Critical path
- The longest path through the network; its activities have zero total float.
- Total float
- The time an activity can slip without delaying project completion.
- Free float
- The time an activity can slip without delaying any successor.
- Forward pass
- The calculation of early start and finish dates from the start of the network.
- Backward pass
- The calculation of late start and finish dates from the end of the network.
- Linear schedule
- A time-location diagram showing crew progress along a linear project.
- Date constraint
- A restriction on when an activity may start or finish, such as a permit window.
Practice problems
Work each problem on paper first, then reveal the answer to check.
Activity X has ES 20, duration 12 and a single successor with LS 40 and ES 35. Find its total and free float.
Show answer
EF = 32, LF = 40, LS = 28, TF = 8; FF = 35 − 32 = 3.
If utility relocations, B, take 30 days instead of 25, what is the new project duration?
Show answer
138 working days: B is critical, so the 5-day slip passes straight through.
A paving crew advances at three times the speed of the curb crew ahead of it. Where does the minimum gap between them occur?
Show answer
At the far end of the segment, because the faster follower closes the gap as it goes.
Why might an owner insist that float belongs to the project?
Show answer
So that owner changes that use float do not automatically entitle the contractor to more time or money.
Lesson quiz · 5 questions
Score 60% or more to complete this lesson.
Create a free account to save your progress, take quizzes and earn a certificate.