BLR-330 · Lesson 3 of 12 · 20 min
Scheduling, critical path and manpower
Two weeks before the shutdown Heather Quan pins a long printed schedule to the wall of the Ironbridge trailer. It runs from the left end of the room to the right, one bar for every task in Ironbridge's scope, coloured by crew, with a red line threading through it. "That red line is the critical path," she tells the lead hands. "If anything on it slips by a shift, the whole turnaround slips by a shift, unless somebody finds a way to make it up. Everything else has float, and float is what lets us survive the surprises." This lesson explains how turnaround schedules are built, what the critical path and float mean, how manpower is loaded onto a schedule and how a lead hand uses the schedule every shift.
From packages to a schedule
A schedule takes the work packages and puts them in order in time. Each package is broken into activities: isolate and blind, remove insulation, open the manway, clean, inspect, repair, close, test and deblind. Each activity has a duration, the crew and equipment it needs, and logic that ties it to other activities. Some logic is physical: a bundle cannot be cleaned before it is pulled. Some is about resources: two jobs that need the same crane cannot use it at the same time. And some is about permits and safety: hot work cannot start until gas freeing is complete.
Turnaround schedules are usually built in hours or shifts rather than days, because the work runs around the clock and the difference of one shift matters. They are large: a big refinery turnaround may have tens of thousands of activities. Schedulers use project scheduling software, but the method underneath is the critical path method, which every lead hand should understand well enough to read the schedule and spot problems.
| Logic type | Example | Why it matters |
|---|---|---|
| Finish to start | Pull bundle, then clean bundle | The most common link: one task must finish before the next starts |
| Start to start | Scaffold starts, insulation removal starts a shift later | Lets work overlap safely |
| Resource | Crane needed for E-2201A and E-2203 | Only one lift at a time |
| Permit or safety | Gas freeing before hot work | Hazards must be removed before work can begin |
The critical path method
The critical path method works out, for every activity, the earliest it can start and finish and the latest it can start and finish without delaying the end of the job. The forward pass goes through the activities from the start: each activity's early start is the latest early finish of the activities before it, and its early finish is its early start plus its duration. The end of the forward pass gives the shortest possible duration of the whole network. The backward pass goes the other way: each activity's late finish is the earliest late start of the activities after it, and its late start is its late finish minus its duration.
The difference between an activity's late start and early start is its float, sometimes called slack. Float is the time an activity can slip without delaying the finish. Activities with zero float are critical: any delay to them delays the whole job. The chain of critical activities from start to finish is the critical path. On most turnarounds the critical path runs through the largest, slowest jobs, such as reactor catalyst changes, heater work or major column repairs, and the turnaround manager watches it every hour.
Worked problem
The critical path of the E-2201A package
The E-2201A package has ten activities, with durations in 12-hour shifts, crew sizes and logic as listed in the program. Work out the early and late dates, the float for each activity, the critical path, the duration and the crew needed on each shift if every activity starts as early as it can.
Show solution
- Forward pass: early start is the latest early finish of the predecessors.
- Backward pass: late finish is the earliest late start of the successors.
- Float is late start minus early start; zero float is critical.
- Add the crew of every activity working in each shift.
Answer: The package takes 11 shifts. The shell inspection and nozzle repair branch is critical; cleaning and testing the bundle has two shifts of float.
# Critical path for an exchanger work package: forward and backward pass, float, crew loading
tasks = { # task: (duration in 12 h shifts, crew size, predecessors)
"isolate and blind": (1, 4, []),
"remove channel cover": (1, 6, ["isolate and blind"]),
"pull bundle": (1, 8, ["remove channel cover"]),
"clean bundle": (2, 3, ["pull bundle"]),
"inspect shell": (2, 2, ["pull bundle"]),
"repair shell nozzle": (3, 4, ["inspect shell"]),
"inspect and test bundle": (1, 3, ["clean bundle"]),
"reinstall bundle": (1, 8, ["inspect and test bundle", "repair shell nozzle"]),
"close and torque": (1, 6, ["reinstall bundle"]),
"hydrotest and deblind": (1, 4, ["close and torque"]),
}
es, ef = {}, {}
for t, (d, n, pre) in tasks.items(): # tasks are listed in a workable order
es[t] = max((ef[p] for p in pre), default=0)
ef[t] = es[t] + d
finish = max(ef.values())
ls, lf = {}, {}
for t in reversed(list(tasks)):
succ = [s for s, (_, _, pre) in tasks.items() if t in pre]
lf[t] = min((ls[s] for s in succ), default=finish)
ls[t] = lf[t] - tasks[t][0]
print(f"{'task':26} ES EF LS LF float")
for t in tasks:
fl = ls[t] - es[t]
print(f"{t:26} {es[t]:2} {ef[t]:2} {ls[t]:2} {lf[t]:2} {fl:3}{' critical' if fl == 0 else ''}")
print(f"Package duration: {finish} shifts ({finish / 2:.1f} days on two 12 h shifts)")
print("Crew on each shift if every task starts early:")
for sh in range(finish):
n = sum(tasks[t][1] for t in tasks if es[t] <= sh < ef[t])
print(f" shift {sh + 1:2}: {n:2} " + "#" * n)task ES EF LS LF float isolate and blind 0 1 0 1 0 critical remove channel cover 1 2 1 2 0 critical pull bundle 2 3 2 3 0 critical clean bundle 3 5 5 7 2 inspect shell 3 5 3 5 0 critical repair shell nozzle 5 8 5 8 0 critical inspect and test bundle 5 6 7 8 2 reinstall bundle 8 9 8 9 0 critical close and torque 9 10 9 10 0 critical hydrotest and deblind 10 11 10 11 0 critical Package duration: 11 shifts (5.5 days on two 12 h shifts) Crew on each shift if every task starts early: shift 1: 4 #### shift 2: 6 ###### shift 3: 8 ######## shift 4: 5 ##### shift 5: 5 ##### shift 6: 7 ####### shift 7: 4 #### shift 8: 4 #### shift 9: 8 ######## shift 10: 6 ###### shift 11: 4 ####
The result surprises Kiera. She had assumed the bundle was the critical work, because it is the biggest and dirtiest part of the job. But the critical path runs through the shell: the inspector expects to find a corroded nozzle on the shell, and its repair, at three shifts, takes longer than cleaning and testing the bundle. The bundle work has two shifts of float. If the bundle cleaning contractor is late by a shift, the job still finishes on time; if the nozzle repair is late by a shift, the whole package is late.
Float belongs to the job
Float is a resource, and it is shared. If one crew uses all the float on a branch by working slowly, the next crew on that branch has none left when it meets a problem. On most turnarounds float belongs to the project, not to any one crew, and using it needs the scheduler's agreement. A lead hand who knows where the float is can make good decisions: when a crew member is needed elsewhere for a shift, the work with float can wait, but the critical work cannot.
Float also changes during the turnaround. When the inspector finds a problem, emergent work is added to the network and a branch that had float may become critical. When a job finishes early, the float on its branch grows. That is why the schedule is updated every shift: the critical path on day 10 is often not the one planned on day 1. Heather's daily update shows the lead hands which of their activities are now critical, and each morning's meeting starts with those.
| Situation | Effect on the schedule | Lead hand's response |
|---|---|---|
| Critical task slips one shift | Turnaround finish slips one shift unless recovered | Report at once; look for ways to recover |
| Task with float slips one shift | Float on that branch drops by one shift | Report; keep watching the branch |
| Inspector finds a repair | New activities added; path may change | Get the emergent work written up and planned |
| Task finishes early | Float on the branch grows | Report; the crew may be moved to critical work |
Manpower loading and levelling
A schedule also says how many people are needed on each shift. When every activity starts as early as it can, the crew needed shifts up and down from shift to shift, as the program's histogram shows. A crew cannot grow and shrink like that: people are hired by the turnaround, not by the shift, and on Ironbridge's job Kiera has eight people every day. The scheduler therefore levels the manpower, using float to move activities so that the crew needed stays close to the crew available.
Levelling has limits. Activities on the critical path cannot be moved without delaying the job, so the peaks they cause must be met by bringing in more people or by working overtime. Moving an activity with float later reduces the float left for surprises. Good schedulers level just enough to make the crew plan workable, and keep some float in reserve. On the E-2201A package the two peaks of eight, in shifts 3 and 9, come from pulling and reinstalling the bundle, which are both critical, so levelling cannot remove them. Heather plans them instead: for those two shifts Kiera's whole crew works the bundle, with a rigger from the crane crew, and the shell inspection waits until the bundle is clear. In shifts 7 and 8, when only the nozzle repair is running, the rest of the crew moves to the E-2201B package next door, which has float of its own.
Across the whole turnaround the same process sets the number of each trade that the contractors must bring. The total boilermaker hours of every package, spread over the shifts, give a manpower curve that rises quickly after the shutdown, stays high through the main execution weeks and falls during box-up and start-up. Ironbridge hires to that curve through the union hall, and Rosa assigns crews so that the people with the right skills arrive when their work begins.
Shifts, productivity and the real day
Turnarounds usually run two twelve-hour shifts, days and nights, seven days a week. Long shifts and long runs of them wear people down, and fatigue causes injuries and mistakes. Owners and contractors set limits on consecutive shifts and hours, and many build rest days into the rotation. The schedule must reflect real productivity, which is lower at night, in extreme weather and in the first days of the job, and it must allow for the time lost at the start and end of each shift.
Kiera works out what a twelve-hour day shift really holds for her crew. The shift starts at the muster area with the toolbox meeting, then the walk to the unit, the permit signing and the gas test. There are two breaks and a lunch, and at the end of the shift the crew must clean up, return tools and hand over. On a good day that leaves about eleven productive hours; on the first day of the turnaround, when everyone is still finding their way, it may be eight. She notes it in her shift plan so that she does not promise more than her crew can deliver.
The schedule is also a communication tool. Each morning the turnaround manager's meeting reviews the critical path and the top problems. Each area holds its own meeting, and each lead hand leaves with a list of the activities for the shift. At the end of the shift, the lead hand reports which activities are complete and what percentage of the others is done, and notes anything that will affect the next shift. Those reports feed the next schedule update, and the cycle starts again.
Common mistakes
MistakeAssuming the biggest job is always on the critical path.
InsteadCalculate it; the critical path is the longest chain of logic, which may run through a smaller job.
MistakeUsing float without telling anyone.
InsteadFloat belongs to the job; using it reduces the margin for every crew downstream.
MistakePlanning twelve productive hours in a twelve-hour shift.
InsteadAllow for toolbox meetings, permits, travel, breaks and clean-up.
MistakeIgnoring the daily schedule update.
InsteadThe critical path changes as work is found and finished; check it every shift.
Summary and key terms
- A schedule puts activities in order using physical, resource and permit logic.
- The forward pass gives early dates and the duration; the backward pass gives late dates.
- Float is late start minus early start; activities with zero float are on the critical path.
- Float belongs to the job and changes as work is found and finished.
- Levelling uses float to keep crew sizes steady, within limits.
- Real shifts hold fewer productive hours than their length, especially early in the job.
- Critical path
- The longest chain of linked activities, with zero float; it sets the duration.
- Float
- The time an activity can slip without delaying the finish.
- Forward pass
- The calculation of early start and early finish dates from the start of the network.
- Backward pass
- The calculation of late finish and late start dates from the end of the network.
- Levelling
- Moving activities within their float to smooth the manpower needed.
- Histogram
- A bar chart of the people needed in each shift.
Practice problems
Work each problem on paper first, then reveal the answer to check.
An activity has an early start of shift 3 and a late start of shift 5. What is its float?
Show answer
Two shifts.
The nozzle repair on E-2201A slips one shift. What happens to the package?
Show answer
It is on the critical path, so the package finish slips one shift unless the time is recovered.
Why is levelling done mainly with activities that have float?
Show answer
Moving them does not delay the finish; moving critical activities would.
Kiera's crew finishes the bundle cleaning a shift early. What should she do?
Show answer
Report it; the extra float may let her move people to critical work.
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.