Blog / Lookaheads & pull planning
How to Run a Pull Planning Session
A pull planning session gets the people who will do the work into a room and has them build the sequence backward from a milestone, one handoff at a time. Done well, it produces a phase plan the trades believe and a list of constraints to clear. Done badly, it produces a wall of sticky notes that gets photographed and forgotten. This post is the practical version: what to prepare, how to run the room, and what to do with the result.
What pull planning is and isn't
Pull planning is the phase-scheduling step of the Last Planner System. Instead of a scheduler pushing work forward from today ("framing starts Monday, so board starts in two weeks"), the team starts at a target milestone and asks, working backward: what has to be finished for this to start, and who does it?
Each handoff is a request and a promise between two trades. The drywall finisher asks the board hanger, "When will rooms 301 to 312 be hung so I can tape?" The hanger answers, and in turn asks the inspector and the electrician what they need.
It is not a replacement for the CPM schedule. The master schedule still sets milestones, carries the contract dates, and computes the critical path across the whole job. Pull planning details one phase at a time, typically six to twelve weeks of work, with the people who'll do it.
Before the session
Most of the session's success is decided before anyone walks in.
Pick the milestone
Choose one milestone that ends a phase and that everyone understands. "Level 3 ready for ceiling close-in" works. "Interiors complete" is too vague; nobody can tell when it's true. The milestone should come from the master schedule, with its current date. If you need help picking meaningful ones, see milestones that actually mean something.
Write a one-line definition of done for the milestone. For ceiling close-in: above-ceiling MEP installed, inspected, and signed off; sprinkler branch lines and drops in; fireproofing touch-up complete; above-ceiling punch walked.
Invite the right people
You want the foreman or superintendent from each trade who will run the work, not the project manager who will sell it. The person who places the sticky note should be the person who'll be held to it. For a ceiling close-in phase, that might be: framing and drywall, mechanical, plumbing, electrical, fire sprinkler, fire alarm, low voltage, fireproofing, ceiling installer, and the GC superintendent. Invite the inspector coordinator if inspections are a known bottleneck.
Tell people ahead of time what milestone you'll plan to and ask them to bring their crew sizes and any known material lead times.
Prepare the wall
You need a long wall or a large board, a timeline across the top in workdays (with holidays marked), the milestone on the right end, and lanes or color codes by trade. Have sticky notes in a color per trade, or one color with the trade written on each. If you use a digital board, set it up the same way and test it with one person before the meeting.
Each sticky note should carry the same fields:
| Field | Example |
|---|---|
| Trade | Electrical |
| Task | Above-ceiling conduit and boxes, east wing |
| Duration (workdays) | 4 |
| Crew size | 3 |
| What I need before I start | Duct mains hung, east wing |
| Constraints | Fire alarm device layout approved |
Running the session
Plan for two to three hours for one phase. Longer than that and people stop thinking.
Open with the milestone and the rules
Restate the milestone, its date, and its definition of done. Then the rules: put down only work you'll actually do, use your own crew-size durations, and every note needs a "what I need before I start." Nobody pads because they think someone else will be late; slack gets handled together later.
Pull backward from the milestone
Start at the milestone and ask: what must be complete immediately before this? Each trade that has a task ending at the milestone places its note just to the left. Then, for each note placed, ask that trade what they need before they can start, and have the trade that supplies it place their note to its left. Keep pulling.
A short example for an east wing above-ceiling sequence, working backward:
Milestone: East wing ready for ceiling close-in
Above-ceiling inspection and sign-off (GC / AHJ) 1d needs punch walk items closed
Above-ceiling punch walk (GC) 1d needs all above-ceiling trades done
Fire alarm devices above ceiling (FA) 2d needs conduit and boxes
Sprinkler branch lines and drops (FP) 3d needs branch duct and VAV boxes set
Above-ceiling conduit and boxes (Elec) 4d needs duct mains hung
Branch duct and VAV boxes (Mech) 5d needs duct mains hung
Duct mains (Mech) 4d needs sprinkler mains hung
Sprinkler mains (FP) 4d needs hanger layout
When the wall is done, read the whole thing out loud from left to right as a forward sequence. This is where people catch the handoffs they missed: "Wait, who's doing fireproofing touch-up after we drill the hangers?"
Find the gap and close it
Now compare the earliest start on the wall to today (or to when the phase can realistically start). Usually the pulled plan is longer than the time available. Sometimes it's shorter, and you have buffer.
If it's too long, go back through the sequence as a group and ask:
- Can any of these overlap? (Could electrical start in the west wing while mechanical finishes the east?)
- Is a duration based on a crew size that could change?
- Is a handoff really finish-to-start, or can the next trade start once a zone is clear?
- Are we waiting on an inspection we could split into two?
If there's leftover time, don't let anyone absorb it into their task durations. Keep it as a visible buffer before the milestone, owned by the team.
Capture constraints as you go
Every time someone says "I can't start until..." about something that isn't another trade's task (a submittal, an RFI answer, a delivery, an owner decision), write it on a separate constraint note with an owner and a date. By the end you should have a list. That list becomes the start of the constraint log, covered in make-ready planning and constraint logs.
Facilitation notes
- Keep the GC from placing other trades' notes. If the superintendent writes the plumber's durations, it's a CPM schedule with extra steps.
- Call out padding gently. If a four-day task shows up as ten, ask what's driving it. Often there's a real constraint hiding behind the padding.
- Watch for missing trades. Gaps on the wall with nobody's color usually mean someone who should be there isn't. Note the gap and follow up.
- Don't fight the master schedule in the room. If the pulled plan says the milestone can't be met, write that down and take it to the project team afterward. The session isn't the place to renegotiate the contract date.
- Photograph everything before anyone touches it. Then transcribe it the same day.
After the session
Within a day or two:
- Transcribe the wall into whatever tool the team uses, with the same tasks, durations, handoffs, and trade responsibility.
- Circulate it to everyone who attended and ask for corrections within a few days.
- Load the constraints into the constraint log with owners and due dates.
- Feed the phase plan into the three-week lookahead as the phase gets close.
- Reconcile the pull plan with the master schedule: update durations and logic where the pull plan showed the CPM was wrong, and flag the milestone date if it's at risk. Connecting pull plans back to the master schedule walks through that.
If you use schedule.construction, the pull planning board lets each trade place and move its own tasks, so transcription is one fewer step.
Checklist
- One milestone, with a date from the master schedule and a written definition of done.
- Foremen invited, not just PMs. Every trade in the phase represented.
- Wall or board with workday timeline, holidays marked, milestone at the right.
- Notes with trade, task, duration, crew size, predecessor need, and constraints.
- Pull backward, then read forward out loud.
- Compare to available time, compress as a group, keep any buffer visible and shared.
- Constraints captured with owners and dates.
- Plan transcribed, circulated, and reconciled with the CPM within a few days.