Ask ten people on a chemical project site what the critical path is and you will get ten answers. Most of them will say the reactor, the imported column, or the line item with the biggest number on it. None of that is the critical path. The critical path does not care what anything costs — it is an arithmetical property of the dependency network, and on a well-built schedule it usually runs through something nobody is watching: a drawing approval loop, a boiler inspectorate submission, a QC method validation.
The precise definition, the six-step calculation you can do on paper, a ten-activity worked example, and a fully computed 72-activity network for a ₹180–220 Cr multiproduct batch plant — 103 weeks from design basis freeze to first on-spec batch, with two parallel critical paths. Every number in the worked examples is calculated from the logic shown, not asserted. The three interactive tools on this page run the same forward-pass / backward-pass solver live in your browser, so you can break the network yourself and watch what happens.
1. The fallacy of the big equipment
You cannot erect a reactor until three things are ready: the foundation (10 weeks), the reactor itself (30 weeks), and a crane (1 week to mobilise). All three start today and run at the same time.
The earliest you can erect is 30 weeks from now. The reactor sets that date. The foundation has 20 weeks of spare time and the crane has 29 — either can slip by that much and the erection date will not move. The reactor has none. Delay it by a week and you erect a week later.
That is the textbook definition, and three things about it are routinely ignored.
- Longest, not most important. The path is set by summed duration through logic links. A ₹18 Cr autoclave with a 32-week fabrication cycle is probably on it. A ₹4 lakh sample cooler is probably not — unless it is the last item needed to close a system for hydro test, in which case it is, and its price is irrelevant.
- It is a property of the network, not of the bar chart. If the schedule was built by typing in dates, there is no critical path in it at all. Dates are outputs of the calculation, not inputs to it.
- It always exists, and there can be more than one. Even a project eight months late has a critical path. If no path shows zero float, the network has open ends or hard constraints hiding the answer. Two or more paths of equal length are common and must be managed simultaneously — the worked example below has exactly this.
Working vocabulary
| Term | Meaning |
|---|---|
| Duration | Working time to complete the activity, on the applicable calendar |
| Predecessor / successor | Logic link between activities; usually finish-to-start (FS) |
| Lag | Imposed waiting time on a link (e.g. concrete curing). Not a substitute for an activity |
| Early Start (ES) | Earliest the activity can start given all its predecessors |
| Early Finish (EF) | ES + duration |
| Late Finish (LF) | Latest it can finish without delaying the project |
| Late Start (LS) | LF − duration |
| Total float (TF) | LS − ES. Delay the activity can absorb before the project end date moves |
| Free float | Delay it can absorb before the next activity’s early start moves |
| Critical path | The chain of activities where total float = 0 |
| Near-critical | Float small relative to project duration — in practice, under about 10% |
Total float belongs to the project, not to whichever contractor is sitting on it. Put that in the conditions, or in month fourteen you will find a vendor consumed twelve weeks of float on a non-critical item and three paths are now critical at once.
2. The six-step calculation, by hand
The method is a forward pass, a backward pass, and a subtraction. It takes ten minutes on paper for a twenty-activity network. Doing it by hand once teaches more than three years of clicking Schedule in Primavera.
| # | Step | What it means in practice |
|---|---|---|
| 1 | Define the finish | Mechanical completion, RFSU, first product, or first on-spec product at design rate? On a multiproduct plant the gap between mechanical completion and first on-spec batch is routinely four to six months. Pick first on-spec batch — it is the only definition a promoter recognises. |
| 2 | Decompose | One activity, one owner, one verifiable deliverable. Duration one to four weeks on a two-year job. Longer than two reporting cycles means it will sit at “60% complete” for five months. |
| 3 | Assign logic, not dates | Predecessors and successors only. Every hard constraint (“start no earlier than”) is a point where the network stops calculating and starts obeying — and obedient schedules warn you about nothing. |
| 4 | Forward pass | ES = the latest EF among all predecessors; EF = ES + duration. Work left to right. The largest EF in the network is the project duration. In plain words — Walk the project from day one towards the end, asking the same question at every activity: what is the earliest this could possibly begin? Nothing can start until every one of its predecessors is finished, so you look at all of them and take the latest one. Add the duration and you have the earliest it can finish. Keep walking forward and the last number you write down is the earliest date the project can finish — not the date anyone promised, the date the logic permits. It is the arithmetic of planning a journey outward: leave at six, reach the first stop at eight, the next at eleven. |
| 5 | Backward pass | LF = the earliest LS among all successors; LS = LF − duration. Work right to left from the project end date. In plain words — Start with a flight you have to board at 9:00 am. You do not plan this forwards from the time you wake up; you fix the 9:00 and work backwards through every step. Boarding is 9:00, and check-in and security take an hour, so you must be at the airport by 8:00. The drive takes two hours, so you must leave home by 6:00. That 6:00 is not the time you would like to leave. It is the last possible moment you can leave and still make the flight — leave at 6:15 and the flight goes without you. That is the backward pass, and the technical version is the same arithmetic. You start at the project finish date and work right to left. An activity must be complete before the latest start of every one of its successors, so its late finish is the earliest of those late starts, and its late start is LS = LF − duration. Note the mirror: going forwards you took the latest of the predecessors, going backwards you take the earliest of the successors. When you finish, every activity in the network carries its own private deadline — the last date it can move before the plant moves with it. So why bother, when the forward pass already gave you dates? Because the forward pass answers only “when can this happen”, and on its own it makes all seventy-two activities look equally urgent. It cannot tell you which ones you are allowed to be late on. The backward pass supplies the second number — “when must this happen” — and only with both in hand can you subtract one from the other. That subtraction is the float in step 6: the gap between the earliest an activity could start and the latest it is allowed to start. Skip the backward pass and you have no deadlines, no float and no critical path, just a list of early dates with no way of telling which of them actually decide your first on-spec batch. |
| 6 | Float, and the answer | TF = LS − ES. Every activity with TF = 0 is on the critical path. String them together in ES order. In plain words — Float is simply the gap between the two answers you have just calculated: how late an activity is allowed to start, minus how early it could have started. It is spare time — how long that activity can be delayed before the finish date itself moves. Twenty weeks of float means twenty weeks can be lost with no effect on the end date. Zero float means there is no spare time at all, so any delay at all is a delay to the plant. That is the entire definition of the critical path: the activities that have no spare time. And float belongs to the schedule, not to the team sitting on it — whoever spends it first has spent it for everyone downstream. |
The two omissions that break most networks
These are not scheduling errors. They are the environment in which activities actually get done, left out of the model.
- Approval loops. “TBE” is not one week. It is technical evaluation, commercial comparison, negotiation, internal note and sign-off — six weeks in most Indian corporates, ten if a board sub-committee is involved. Put the real number in.
- Non-construction activities. Statutory consent, licensor deliverables, catalyst procurement, analytical method development, operator recruitment and training, product-specific gaskets and seal elastomers. None of these appear in a contractor’s schedule, because none of them are the contractor’s scope. They are still on your critical path.
3. Worked example A — ten activities, on paper
One block of a multiproduct plant — the high-pressure hydrogenation module — reduced to ten activities. Durations in weeks from design basis freeze. Work through the tables with a pencil; the arithmetic is the whole skill.
Input: activity list and logic
| ID | Activity | Duration (wks) | Predecessor |
|---|---|---|---|
| A | P&IDs issued for design — hydrogenation block | 13 | — |
| B | Autoclave mechanical datasheet | 3 | A |
| C | RFQ float and quote receipt | 4 | B |
| D | TBE, CBE, PO release | 6 | C |
| E | Vendor GA drawing + IBR Form III-C approval | 8 | D |
| F | Fabrication (Hastelloy C-276) | 32 | E |
| G | Foundation design (needs vendor load data) | 4 | E |
| H | Piling and foundation execution | 14 | G |
| I | Final inspection, dispatch, transit, ODC permits | 6 | F |
| J | Erection and alignment | 3 | H, I |
Work the forward pass yourself, then open this to check
| ID | Logic | Dur | ES | EF | Note |
|---|---|---|---|---|---|
| A | start | 13 | 0 | 13 | |
| B | after A | 3 | 13 | 16 | |
| C | after B | 4 | 16 | 20 | |
| D | after C | 6 | 20 | 26 | |
| E | after D | 8 | 26 | 34 | |
| F | after E | 32 | 34 | 66 | |
| G | after E | 4 | 34 | 38 | branches from E |
| H | after G | 14 | 38 | 52 | |
| I | after F | 6 | 66 | 72 | |
| J | after H and I | 3 | 72 | 75 | ES = max(52, 72) |
Project duration for this block: 75 weeks.
Backward pass and float
| ID | ES | EF | LS | LF | Total float | Critical |
|---|---|---|---|---|---|---|
| A | 0 | 13 | 0 | 13 | 0 | YES |
| B | 13 | 16 | 13 | 16 | 0 | YES |
| C | 16 | 20 | 16 | 20 | 0 | YES |
| D | 20 | 26 | 20 | 26 | 0 | YES |
| E | 26 | 34 | 26 | 34 | 0 | YES |
| F | 34 | 66 | 34 | 66 | 0 | YES |
| G | 34 | 38 | 54 | 58 | 20 | |
| H | 38 | 52 | 58 | 72 | 20 | |
| I | 66 | 72 | 66 | 72 | 0 | YES |
| J | 72 | 75 | 72 | 75 | 0 | YES |
Reading the result
The critical path is A → B → C → D → E → F → I → J. Now look at what that means on site.
The civil work carries twenty weeks of float. Piling, foundations — the thing visible from the gate, the thing that generates photographs for the monthly review. It is not critical, and will not become critical unless someone lets it slip five months.
The critical path is a paper trail. Thirty-four of the seventy-five weeks are consumed before a single piece of steel is cut: drawings, a datasheet, an enquiry, a comparison statement, an internal approval, and a boiler inspectorate stamp.
The vendor GA drawing feeds both fabrication and foundation design. It is the highest-leverage single activity in the network — a one-week slip there costs a week of end date and burns a week of civil float at the same time. Those are the activities to protect. They are rarely the ones getting attention.
Where the network splits into two paths
Up to this point the network is single file. A → B → C → D → E is one activity after another: 13 + 3 + 4 + 6 + 8 = 34 weeks, with nothing to choose between and nothing to compare. At E that ends.
Activity E — the vendor GA drawing and its IBR Form III-C approval — releases two successors at the same instant. F (fabrication) can start because the vendor finally has an approved drawing to cut metal against. G (foundation design) can start because that same drawing carries the load data the civil designer has been waiting for. From week 34 the project is running two chains that never touch each other again until erection.
| Branch leaving E at week 34 | Chain | Weeks of work | Arrives at J |
|---|---|---|---|
| Equipment | F fabrication (32) → I inspection, dispatch, transit, ODC permits (6) | 38 | week 72 |
| Civil | G foundation design (4) → H piling and foundation execution (14) | 18 | week 52 |
Activity J, erection and alignment, needs both — a vessel on site and a foundation to stand it on. So J does not start when the first chain arrives in week 52. It starts when the last one arrives in week 72, and the block finishes at 72 + 3 = week 75.
Along a chain you add. 32 + 6 = 38 weeks of fabrication and logistics.
At a merge you take the larger and discard the smaller. max(72, 52) = 72.
The discarded 52 is not wasted information. The gap between the two arrivals is the float: 72 − 52 = 20 weeks — which is exactly the total float the backward pass hands to G and H.
What you get if you refuse to split
Add all ten durations: 13 + 3 + 4 + 6 + 8 + 32 + 4 + 14 + 6 + 3 = 93 weeks. Eighteen weeks too pessimistic. It pretends the civil team stands idle until the vessel lands, which is precisely what the logic says they do not do.
Quote the longest activity: fabrication, 32 weeks. Forty-three weeks too optimistic. It ignores the 34 weeks of paperwork that must finish before fabrication can begin, and the 9 weeks of handling and erection after it.
Only max(72, 52) produces 75. Splitting the network is not a refinement of the calculation — it is the calculation.
Why the split is the thing you actually track
Once the two chains are separated they are not equally important, and they do not become equally important again until the float is gone. Hold fabrication steady and let only the civil chain slip:
| Civil slips by | Civil reaches J | J starts | First batch | Civil float left | What has actually happened |
|---|---|---|---|---|---|
| 0 | 52 | 72 | 75 | 20 wk | On plan |
| 5 wk | 57 | 72 | 75 | 15 wk | No delay. Float absorbed it, silently |
| 10 wk | 62 | 72 | 75 | 10 wk | Still no delay. Half the buffer is gone |
| 20 wk | 72 | 72 | 75 | 0 | Still no delay — but now two critical paths |
| 25 wk | 77 | 77 | 80 | −5 wk | Five weeks late. The critical path has moved to the civil chain |
Read the last two rows again. Twenty-five weeks of slip produced five weeks of delay, because twenty weeks of it were paid for out of a float balance nobody was watching. And somewhere between those two rows the critical path stopped running through fabrication and started running through piling — the migration section 7 deals with.
Now do the same thing to the equipment chain and the arithmetic is brutally different. Every week of fabrication slip moves first batch by exactly one week, starting with the very first week. There is no buffer to spend. One week late on F is one week late on the plant.
Twenty weeks lost on piling costs nothing. One week lost on fabrication costs a week. A progress report that does not separate the two chains cannot tell you which of those two things happened this month.
The number that lies
Stand at week 52 and look at this project honestly.
- Seven of the ten activities are complete — A, B, C, D, E, G and H. The dashboard reads 70 per cent.
- The civil chain is finished. It will consume no more float and it can no longer hurt you.
- The equipment chain has completed 18 of its 38 weeks: 47 per cent. It is the only thing standing between you and first batch.
- Twenty-three weeks remain, and not one of them belongs to civil.
The seventy per cent is arithmetically correct and managerially worthless. It reads high precisely because the cheap, easy, visible chain finished early — and it will keep reading high right up to the week the vessel fails to arrive.
One line per path, never one line for the project. Equipment chain: required week 72, forecast week ___. Civil chain: required week 72, forecast week ___, float 20 weeks.
Report float as a falling balance, not as a status. Twenty weeks, then fifteen, then ten is a trend you can see coming months in advance. “Civil — on track” gives you nothing, and both statements can be true on the same day.
Set the alarm well before zero. At twenty weeks of civil slip the project acquires a second critical path and twice as many ways to be late. That moment — not the first day of visible delay — is when people and money should move.
Ten activities give you one fork and two paths, and you can hold both in your head. The plant in the next section has seventy-two activities. The arithmetic does not change at all; only the bookkeeping does.
4. Worked example B — the 72-activity multiproduct plant
Now the full network. Basis: a multiproduct batch facility of the order of ₹180–220 Cr — glass-lined and stainless trains for chlorination and nitration service, a separate high-pressure hydrogenation block, solvent recovery, scrubbing and effluent, DCS with ESD, three product campaigns planned in year one. Design basis frozen at Day 0. Finish defined as first on-spec batch of Product 1.
| Parameter | Value |
|---|---|
| Start point | Design basis freeze, Week 0 |
| Finish point | First on-spec batch of Product 1 |
| Activities | 72, across five workstreams |
| Time unit | Weeks; single 6-day working calendar assumed |
| Relationship type | Finish-to-start throughout; no leads, no lags, no hard constraints |
| Computed duration | 103 weeks — approximately 24 months |
| Critical paths found | Two, running in parallel and converging at hydro test (C120) |
| Longest fabrication | Hastelloy C-276 autoclave, 32 weeks |
The activity register — what every code on this page means
Every activity in the network carries a code. The letter is the workstream — Engineering, Procurement, Construction, Statutory, and X for commissioning — and the number is its position in that workstream. Codes such as E070 or S070 appear throughout the rest of this article, and every one of them is a link: click any code and the register below opens at that activity, with its duration, its predecessors and its computed float. Hovering a code shows the activity name without leaving the paragraph.
Open the full activity register — all 72 activities, with duration, logic and computed float
ES, EF and total float are computed by the same forward-pass / backward-pass solver that drives every calculator on this page, on the baseline durations. Enter your own durations in the Gantt builder below and those numbers move; this register always shows the published baseline.
Long-lead process datasheets (E070) are released off the issued-for-review P&IDs rather than waiting for HAZOP close-out. This is standard fast-tracking and it saves three weeks — but it is also the reason HAZOP carries eleven weeks of float in the result. Fast-tracking does not remove risk from the schedule. It converts duration risk into change risk.
Tweak the inputs
What the network now says
| Path / gate | Float | State |
|---|
What the calculation returns
Seven findings, none of which would be visible on a Gantt chart.
| # | Finding | Why it matters |
|---|---|---|
| 1 | There are two critical paths, not one | The autoclave chain (E070→P010→P020→P030→P040→P050→P060→P070→C070→C100) and the column chain (E070→P130→P140→P150→P160→P170→C090→C110) both arrive at hydro test in week 78. Both carry zero float. Recovering one buys nothing unless you recover the other. |
| 2 | The first 29 weeks contain no physical work | From design basis freeze to the IBR Form III-C stamp, the critical path is entirely drawings, enquiries, comparison statements, internal approvals and a regulator. Every week lost here is lost permanently, because everything downstream is fixed-duration fabrication or fixed-duration statutory processing. |
| 3 | The glass-lined reactor train has one week of float | One week on a 103-week job is not float, it is rounding. The GLR train is functionally critical and must be managed as a third critical path. The distinction between “critical” and “one week of float” exists only in the software. |
| 4 | The Consent to Operate has one week of float | S070 finishes in week 98 against a need date of 99. A statutory approval you do not control, one week from driving the end date. This is the single most fragile item in the network and it appears nowhere on a construction dashboard. |
| 5 | Civil has four to six weeks of float, not twenty | Piling and foundations look independent but wait on E140 (load data), which waits on vendor GA drawings. The civil path is not long — it is late-starting. Its float is an artefact of when it is allowed to begin, not of how much slack it has. |
| 6 | Site enabling, which starts first, has 28 weeks of float | The activity everyone begins on day one is among the least critical in the network. Early visible progress and schedule health are unrelated. |
| 7 | HAZOP carries eleven weeks of float — and that is a warning | The float exists only because long-lead datasheets were fast-tracked off IFR P&IDs. The float is real, but so is the exposure: any HAZOP outcome that changes the autoclave datasheet costs the eleven weeks plus a re-approval cycle. |
The paths that are not critical, and their real exposure
| Path or activity | Total float | Assessment |
|---|---|---|
| Autoclave chain | 0 wks | Critical. Fixed-duration fabrication — nothing recoverable after week 29. |
| Column chain | 0 wks | Critical, in parallel. Same profile. |
| Glass-lined reactor train | 1 wk | Functionally critical. Manage identically. |
| Consent to Operate (S070) | 1 wk | Functionally critical and outside your control. Highest fragility in the network. |
| Piling and foundations | 4 wks | Input-constrained, not duration-constrained. Protect the load-data handover, not the crew. |
| Technological structure fabrication | 10 wks | Comfortable, provided E140 holds. |
| QC method validation (X020) | 13 wks | Comfortable on paper. Frequently forgotten entirely, at which point it becomes an eight-week critical activity discovered in week 99. |
| DCS package (P180–P210) | 23 wks | Comfortable, but the IO list freeze that starts it is not. |
| HT power connection (S050) | 25 wks | Comfortable only because it was applied for in week 18. Apply in week 45 and it is critical. |
| Piping and E&I bulks | 28–29 wks | Genuine float. Candidate for cash-flow deferral if working capital is tight. |
| CTE amendment (S010) | 68 wks | Enormous float — and zero resilience to a product-slate change after week 71. |
| Factory building plan approval (S020) | 89 wks | Effectively unconstrained. See the audit note below — this one is unconstrained for a structural reason, not a scheduling one. |
For any activity whose duration is set by a third party, schedule to the late finish but start at the early start. A statutory activity with 68 weeks of float that you begin 68 weeks late is a critical path activity with a regulator on the other end of it. The float protected nothing.
5. Build the Gantt from your own lead times
Every duration in the network above is an assumption — ours. Yours will be different: a different TBE cycle, a different fabrication slot, a different state pollution control board. So rather than ask you to accept the numbers, the tool below hands you all seventy-two of them as editable fields.
Type a duration and the forward pass, backward pass and float calculation re-run across the whole network, and the bar chart underneath is drawn from that result — bar positions, critical path colouring and float tails included. It is not a stored picture with numbers written on it. If your approval loops really do take ten weeks, put ten weeks in and read your own end date off the chart.
Lead-time assumptions — edit any of the 72 durations (weeks)
Computed schedule
Hover or tap any bar for its early start, early finish, late finish and total float. Codes in the labels match the activity register above.
6. The 100-day delay stress test
This is DCMA check 12, and it is the fastest way to find out whether a schedule is a network or a picture. Insert a large delay on an activity you believe is critical. If the end date does not move by the same amount, the logic is broken — an open end, a dangling activity, or a hard constraint absorbing the delay. Two minutes, and it catches errors that otherwise surface in month eighteen.
A hundred working days on the 6-day calendar used here is 17 weeks. The tool below applies exactly that to whichever activity you select and re-solves the whole network.
Select the activity to delay
Or try the classic comparison
Result
The arithmetic, step by step
| Insert a delay above and every line of the calculation appears here. |
Delay Factory building plan approval by a hundred days, by a year, by a decade: the end date never moves. That is not resilience, it is an open end. S020 has a predecessor but no successor, so the network has nothing to compare it against and hands it 89 weeks of float by default. This is DCMA check 1 and check 6 firing at the same time, and it is the most common single defect in real schedules.
The fix is not to delete the activity. It is to ask the question the network is refusing to ask: what cannot happen until the factory building plan is approved? Occupancy certificate, most likely, and therefore CTO. Draw that link and S020’s float drops from 89 weeks to something that means something. We left the open end in this published network on purpose, so the audit checklist below has something real to catch.
7. The critical path migrates — and each move catches somebody
The largest single error in project controls is calculating the critical path once, printing it, and laminating it. On a plant of this type the path moves in a recognisable pattern.
| Phase | Path runs through | What to actually do |
|---|---|---|
| Wk 0–30 Engineering & long-lead PO | Drawings, datasheets, enquiries, TBE, PO, vendor GA and IBR approval | This is the only phase where the critical path is entirely inside your own office — and the phase where organisations are most relaxed about it. A P&ID review cycle that slips two weeks because a reviewer was travelling has cost the project two weeks of end date, and nobody will connect those events fourteen months later. Compress the approval loops, not the engineering. |
| Wk 25–65 Fabrication | Vendor shop floors — autoclave, column, GLR train | You can do almost nothing about the critical item; it is being welded. Two things matter. Attend every stage inspection — material clearance, weld stage, hydro, final — because each unattended stage is a potential three-week rework. And stop watching the critical path; watch the near-critical ones. Your next critical path is being manufactured in a smaller vendor’s shop with a sub-supplier problem nobody has mentioned. |
| Wk 60–88 Construction | Equipment erection, then piping and E&I in the densest module | The transition is abrupt and usually noticed a month late. Watch for it when equipment erection reaches roughly 60%: the constraint stops being “has the equipment arrived” and becomes “can four trades work in the same eight metres of pipe rack.” CPM assumes infinite resources; there are not infinite welders qualified for Hastelloy. Resource-level the last three months. |
| Wk 82–103 Commissioning | Utilities, statutory clearance, analytical readiness | The path moves to places most schedules never contained. Utilities must be live before anything else commissions, so it runs through chilled brine and thermic fluid, not through the reactor. CTO and PESO become the last gates. And QC method validation for Product 1 is a real eight-week activity on nobody’s contract that has stopped more first batches than any equipment failure. |
The multiproduct-specific problem
On a single-product plant there is one critical path to one finish. On a multiproduct plant there is a critical path to first batch, and then a separate, shorter critical path for every subsequent campaign — changeover and cleaning validation, product-specific gaskets and seal elastomers, product-specific effluent characterisation, and sometimes a product-specific consent condition.
Two rules follow, and both are commercial decisions dressed as scheduling ones.
- Sequence the technically simplest product first, not the most profitable one. The first campaign is a commissioning event, not a revenue event. Running the highest-margin, tightest-spec product first means debugging the plant and the process simultaneously, and you will not be able to tell which one is failing.
- Treat each campaign as its own mini-project with its own network. Otherwise campaign 2 arrives with nobody having ordered the Kalrez seals, and it is discovered at changeover.
8. Float erosion — the chart that warns you first
Percentage complete is an opinion. Remaining duration is a claim that can be tested. The difference between the two is visible in the chart below, which plots a real twenty-four-month scenario on the same 72-activity network: a glass-lined reactor vendor who starts slipping quietly in month three and never recovers.
Both panels below are computed from the same network, re-solved at every monthly data date. Watch the month the two panels disagree.
Panel A — Total float on the four monitored paths (weeks)
Panel B — Duration-weighted progress reported to the board (%)
The autoclave and column chains started this project critical and stayed on programme the whole way — and by month 13 both show nine weeks of float. They did not improve. They stopped being critical because something else got worse. A project manager watching only “the critical path” would have reported improving health for eight consecutive months while the completion date moved twelve weeks.
Meanwhile the progress line in Panel B never once bends. It cannot: it is measuring work done against a schedule that is itself moving. A percentage-complete curve cannot show a slip, because the denominator slips with the numerator.
9. Keeping the critical path honest
| Frequency | Activity | Detail |
|---|---|---|
| Weekly | Progress update against the network | Actual start, actual finish, remaining duration. Not percentage complete — remaining duration. “80% complete” is an opinion; “eleven days remaining” is a claim that can be tested. |
| Monthly | Full recalculation with re-logic | Answer four questions in writing: What is the critical path this month? What are the top three near-critical paths and their float? Which paths lost float since last month, and why? Has the critical path changed — and did anyone notice at the time? |
| Monthly | Float erosion chart | Plot total float of the top five paths week by week. A path steadily losing float is your next critical path, and the chart says so before the arithmetic does. This single graph is worth more than most monthly review decks. |
| At each rebaseline | Critical path test | Insert a 100-day delay on an activity you believe is critical. If the end date does not move by 100 days, the logic is broken. |
| At each rebaseline | Network structure audit | Run the fourteen checks below. |
| Every change request | Test before approval, not after | A design change adding two weeks to a non-critical path is free. The same change on the critical path costs two weeks of end date and a quantifiable amount of interest during construction. The approving authority is entitled to know which one it is at the time of approval. |
10. The 14-point network audit
Adapted from the DCMA 14-point check for chemical project networks. Run it at every rebaseline, and run it on any contractor schedule before you accept it.
| # | Check | Threshold | What a failure means |
|---|---|---|---|
| 1 | Logic — open ends | Every activity has a predecessor and a successor, except project start and finish | Dangling activities absorb delay silently; the critical path test will fail |
| 2 | Relationship types | At least 90% finish-to-start | Heavy SS/FF use usually means the decomposition is wrong |
| 3 | Leads (negative lag) | Zero | A lead is almost always a modelling cheat for overlap that should be an activity |
| 4 | Lags | Under 5% of links; none longer than the activity it connects | A long unexplained lag is a duration someone did not want to name |
| 5 | Hard constraints | Under 5% of activities | The network has stopped calculating and started obeying |
| 6 | High float | Under 5% of activities above 44 working days | Usually missing successor logic, not genuine slack |
| 7 | Negative float | Zero | The schedule is already telling you the date is unachievable |
| 8 | High duration | Under 5% above 44 working days | Activities too coarse to measure or to place on a path |
| 9 | Invalid dates | No actuals in the future, no forecasts in the past | Progress data is not being maintained |
| 10 | Resources | Loaded on all activities with cost or manpower | Without this you cannot detect the week 60–88 congestion shift |
| 11 | Missed tasks | Under 5% finishing late against baseline | Baseline is drifting from reality |
| 12 | Critical path test | 100-day delay moves the end date by 100 days | Broken logic |
| 13 | CPLI | At or above 0.95 | Critical path is losing efficiency |
| 14 | BEI | At or above 0.95 | Activities are completing slower than baselined |
11. How the critical path gets hidden
What to look for when a schedule looks too comfortable.
| Pattern | How it looks | What it is actually doing |
|---|---|---|
| Lags as concealed duration | A 30-day FS lag with no stated reason | Hiding a duration nobody wanted to own |
| Constraint-driven schedule | “Start no earlier than” on forty activities | The network is being told what to do instead of calculating |
| Level-of-effort on the path | “Project management” as a 500-day bar | Sits on the critical path and tells you nothing |
| Contractor schedule with no client interfaces | Clean, all-FS, ends exactly on the contract date | Free-issue items, client-supplied catalyst, licensor DCS logic and owner approvals are absent — so the contractor’s critical path is fiction and yours is unknown |
| Missing approval cycles | PO placed the week after TBE | Four to ten weeks of undeclared duration on a typical Indian project |
| No calendar applied | A schedule on 365 working days | Monsoon restrictions on heavy lifts, festival shutdowns and tie-in windows — off by roughly 15% before it starts |
| Baseline never re-run | The same critical path in month 4 and month 18 | Nobody has recalculated; the real path moved two phases ago |
Appendix — building this in Excel
Three sheets. The design below reproduces the 72-activity calculation exactly and stays maintainable through the life of the project. You do not need Primavera to do this properly; you need correct logic and the discipline to re-run it.
Sheet 1: ACTIVITIES
One row per activity. Columns A–E are entered; F–K are calculated; L onward are for progress tracking.
| Col | Header | Type | Content / formula (row 2) |
|---|---|---|---|
| A | ID | Entry | Unique activity ID, e.g. P050. Keep the workstream prefix — it makes filtering trivial |
| B | Workstream | Entry | Engineering / Procurement / Construction / Statutory / Commissioning |
| C | Activity | Entry | Description. One owner, one deliverable |
| D | Duration | Entry | Working weeks (or days — stay consistent) |
| E | Predecessors | Entry | Comma-separated IDs. Reference only; the LINKS sheet drives the maths |
| F | ES | Calc | =MAXIFS(LINKS!$E:$E, LINKS!$B:$B, $A2) |
| G | EF | Calc | =F2+D2 |
| H | LS | Calc | =I2-D2 |
| I | LF | Calc | =IF(COUNTIF(LINKS!$A:$A,$A2)=0, $P$1, MINIFS(LINKS!$F:$F, LINKS!$A:$A, $A2)) |
| J | Total float | Calc | =H2-F2 |
| K | Critical | Calc | =IF(J2=0,"YES",IF(J2<=ROUND($P$1*0.05,0),"NEAR","")) |
| L | Owner | Entry | Named individual, not a department |
| M | Baseline finish | Entry | Frozen copy of EF at baseline. Paste as values |
| N | Actual start | Entry | Blank until started |
| O | Remaining duration | Entry | Updated weekly. This is what you ask for, not % complete |
| P | Float last period | Entry | Paste of column J from last month, as values |
| Q | Float delta | Calc | =J2-P2 — negative means the path is eroding |
Put the project duration in a single named cell (shown above as $P$1) with =MAX(G:G). Activities with no successor take their LF from it.
Sheet 2: LINKS
This is the sheet that makes the formulas work. One row per relationship — an activity with three predecessors gets three rows. Normalising the logic this way avoids all the fragile text-splitting that comma-separated predecessor lists otherwise force on you.
| Col | Header | Type | Content / formula (row 2) |
|---|---|---|---|
| A | Predecessor | Entry | Activity ID that must happen first |
| B | Successor | Entry | Activity ID that follows |
| C | Type | Entry | FS, SS, FF. Keep it at FS unless you can justify otherwise |
| D | Lag | Entry | Usually 0. Anything non-zero needs a written reason in column G |
| E | Pred EF + lag | Calc | =INDEX(ACTIVITIES!$G:$G, MATCH($A2, ACTIVITIES!$A:$A, 0)) + $D2 |
| F | Succ LS − lag | Calc | =INDEX(ACTIVITIES!$H:$H, MATCH($B2, ACTIVITIES!$A:$A, 0)) - $D2 |
| G | Reason for lag | Entry | Blank if lag = 0. If not blank, it should read like an activity |
ES depends on predecessor EF, which depends on that activity’s ES, and so on. The dependency graph is acyclic so it resolves correctly, but Excel’s reference tracker flags it as circular. Go to File → Options → Formulas → Enable iterative calculation, maximum iterations 100, maximum change 0.001. The forward and backward passes then converge in a fraction of a second.
The one-paragraph version
The critical path is not the expensive equipment, and it is not the thing your monthly review has photographs of. It is the longest chain of dependent activities in a network you actually built, and on a chemical plant it spends its first thirty weeks inside your own office and its last twenty weeks inside a regulator’s. Calculate it from logic, recalculate it every month, track remaining duration rather than percentage complete, and watch the float on the paths that are not critical — because one of them is about to be.
Have questions about your plant schedule or project bottlenecks?
We build and audit execution networks for chemical and specialty chemical projects — critical path determination from first principles, DCMA-style schedule audits, float erosion tracking, and independent review of contractor programmes before you accept them. If you would like your own network looked at, or a second opinion on a schedule that suddenly looks comfortable, send the question straight through to our engineering team.
It reaches Saswat Satpathy at Orissa Engineering directly. Prefer email? saswatsatpathy080390@gmail.com
About the calculation. Every figure in this article — the 75-week block, the 103-week network, all ES / EF / LS / LF / total float values, and every result the three tools produce — is computed by a forward-pass / backward-pass CPM solver running on the 72-activity register described above. Nothing is hardcoded and nothing is asserted. The network deliberately retains one open end (S020) so the audit section has a live defect to demonstrate. Published by Orissa Engineering, orissaengineering.com.
