The day you don't believe the software
It will happen. You'll open the schedule, look at the critical path, and something will be wrong.
It's running through the car park. It's running through a two-day activity while the tower crane erection sits comfortably off it. Everything in your site experience says that can't be right.
And in that moment there are two kinds of planner. The one who shrugs and prints it. And the one who can work it out by hand.
This week you become the second kind. There's less maths than you think — three formulas, and you'll have them in ten minutes.
Six numbers per activity
Every activity in a network carries six numbers. Four are dates the engine calculates, one is your duration, and one falls out of the rest.
Early start and early finish: the soonest this work could possibly happen.
Late start and late finish: the latest it could happen without pushing the project out.
And the gap between those two — the wiggle room — is float.
Three formulas run the whole thing:
ES + duration = EF. Go forwards.
LF − duration = LS. Go backwards.
Float = LS − ES. What's left over.
That's it. That's CPM. Everything Primavera does is this, forty thousand times.
Walk it forwards
Take a small job. Excavate (5 days), pour blinding (2), foundations (10), then erect the steel (8). Meanwhile the steel has to be fabricated (6 days) and delivered (3). And backfill (4 days) can happen once the foundations are done.
Start at day zero and walk forward, adding durations as you go.
Excavation runs day 0 to 5. Blinding, 5 to 7. Foundations, 7 to 17.
Now the important bit — the moment two chains meet. Erecting steel needs both the foundations (done day 17) and the delivered steel (done day 14). When paths converge, you take the later one. You cannot start when the first predecessor finishes; you start when the last one does.
So steel erection starts on day 17, not day 14. It runs to day 25.
Your project is 25 days long. Nobody typed that. The logic produced it.
Walk it backwards
Now go the other way. Stand at day 25 and ask each activity: what's the latest you could possibly finish without making me late?
Steel erection has to finish by day 25, so it can't start later than day 17. Foundations must be done by day 17. Blinding by day 7. Excavation by day 5.
Same rule, mirrored. Where one activity feeds several others, you take the earliest of their late starts — because you have to satisfy the most demanding one.
Now compare the two passes. Excavation could start on day 0, and it must start by day 0. Zero room. Foundations: earliest day 7, latest day 7. Zero room.
String those zero-float activities together and you have your critical path — excavate, blinding, foundations, erect steel. Twenty-five days. Lose one day anywhere on that chain and the project finishes a day later. There is no give in it.
Notice what the critical path is not. It's not the expensive work. It's not the difficult work. It's not the work that worries you most. It's simply the longest chain of dependent activities. That's all it has ever been.
The float trap
Look at the steel fabrication. Its early start is day 5, its late start is day 8. Three days of float. Comfortable.
Here's where planners get burned.
Fabrication shows 3 days of float. Delivery also shows 3 days of float. So there's six days spare on that chain, right?
No. There are three. Total float belongs to the path, not the activity. If fabrication runs three days late, it uses up all three — and delivery, which still says "3 days float" on your last printout, now has none. It just became critical, and nobody sent a memo.
That's why there's a second number. Free float is how long an activity can slip without delaying its immediate successor. Fabrication's free float is zero. Slip it by a single day and the delivery date moves that same day — even though the project, for now, doesn't.
Total float tells you when the project starts hurting. Free float tells you when the next crew starts hurting. The foreman waiting on that delivery only cares about the second one.
And one more, the number nobody wants to see: negative float. If an activity must finish by day 20 but the logic says day 24, you'll see −4. That isn't a warning. That's the model telling you the plan is already impossible — and it has been for a while.
"In God we trust. All others must bring data."
— W. EDWARDS DEMING
Engineer and statistician · 1900–1993
The software is a very fast calculator. It is not a witness. When it hands you a critical path that runs through the car park, the answer isn't to trust it or to override it — it's to walk the chain yourself and find the bad link. Nine times out of ten, that's exactly what you'll find.
Practical insight
Take your live schedule and find the critical path. Then trace it, activity by activity, and ask one question at each step: does this genuinely have to wait for the one before it?
Then look at what has the most float. If the model says your riskiest, most weather-dependent work has forty days of float, you haven't found comfort. You've found a missing link.
The critical path should read like a story about how the building goes up. If it reads like nonsense, it is nonsense — and now you can prove it.
Key takeaways
✔ Three formulas: ES + duration = EF, LF − duration = LS, float = LS − ES.
✔ Forward pass finds the earliest dates; where paths converge, take the later one.
✔ Backward pass finds the latest dates; where paths diverge, take the earlier one.
✔ The critical path is the chain with zero float — the longest chain, not the hardest work.
✔ Total float belongs to the path and is shared; one activity can spend it all.
✔ Free float is what an activity can slip without moving the next crew.
✔ Negative float means the plan is already impossible, not that it's getting tight.
✔ If the critical path doesn't read like a story about the building, go and find the bad link.
What's coming next
Our network now calculates a date. But it's still living in a fantasy: it quietly assumes you have unlimited crews, unlimited cranes, and unlimited money.
Next week we take that away. Resource loading, resource leveling, and what to do when the answer comes back later than the contract allows — the real trade-offs behind crashing and fast-tracking, and how to choose without wrecking the job.
The maths gave us a date. Reality is about to argue with it.
Enjoyed this lesson?
Join with Google to get each new lesson the moment it's published — and help me see which topics matter most to you. No spam, one email a week, unsubscribe anytime.
Already following on LinkedIn works too — this is just for the weekly email.