CON-335 · Lesson 4 of 12 · 24 min

Flow on repetitive floors: zones, trade trains and stacking

Larkspur Commons has four residential floors that are almost identical. The same ten interior steps must happen in each of eight zones, by the same trades, in the same order. Repetitive work like this is a gift to a superintendent, because it can be planned as a flow: each trade moves from zone to zone at a steady pace, the trades follow one another without gaps or collisions, and every crew knows where it will be every week until the end. It can also be a trap. If each trade plans its own work independently, they bunch up in some zones and leave others empty, crews wait and then rush, and the floors finish in a ragged order that makes turnover and inspections harder.

CON-210 introduced linear and location-based scheduling, and CON-410 explained takt time planning and line of balance in detail, including their origins in the work of Kenley and Seppänen on location-based management and of Frandson, Tommelein and others on takt planning in construction. This lesson does not re-derive those methods. It applies them to the Larkspur Commons interiors, from choosing zones and a takt time to spotting trade stacking and deciding what to do about it.

Choosing zones

The first decision is how to divide the building. Zones work best when they contain roughly the same amount of work for each trade, are physically separate enough that crews do not get in each other's way, and match natural boundaries such as fire separations, stair cores and inspection areas. Smaller zones give a faster flow and less work in progress, but need more coordination and more handoffs. Larger zones are simpler to manage but make each trade wait longer for the one in front.

Zone choices for the residential floors.
Zone choice for Larkspur CommonsZonesAdvantagesDisadvantages
Whole floor4Simple; matches floor-by-floor inspectionsEach trade waits for the previous trade to finish a whole floor; long cycle
Half floor (chosen)8Balanced work; natural break at the central stair and gridline 5; inspections can be stagedTwo trades share each floor; corridor work needs coordination
Quarter floor16Fast flow; little work in progressMore handoffs and inspections; zones may be too small for some crews
Individual suites112Very fine controlImpractical to manage by hand; crews keep moving

Dana chose half floors. The central stair and elevator core at gridline 5 makes a natural break, each half has 14 homes of similar layout, and the City will inspect half a floor at a time if the request is clear. The corridors and the common areas on each floor are treated as part of the zone they sit in, with a few corridor-wide items, such as corridor ceiling ducts, planned as their own short tasks.

Takt time and the trade train

A takt time is the fixed interval at which each trade moves from one zone to the next. If the takt time is five working days, every trade spends one week in each zone and then moves on, and a new zone is released to the first trade every week. The trades become wagons in a trade train, each one zone apart. Lesson 2 listed the ten interior steps. Dana's team grouped them into ten wagons, each sized so that the crew the trade could supply would finish a zone in about five days.

Some steps took more or less than five days at first. The drywall taping and priming step needed six days with the usual crew, so the drywall finisher agreed to add two workers to bring it to five. The framing touch-up step needed only three days, so it was given a five-day wagon with time to spare, which became a small buffer at the start of the train. Balancing wagons to the takt time is the main work of takt planning. CON-410 called it work structuring.

With eight zones, ten wagons and a five-day takt, the interior duration is easy to calculate. The first wagon enters the first zone in week 1; the last wagon enters the last zone after the train has moved forward once for each zone and once for each wagon behind the first. The total is (zones + wagons − 1) × takt.

\[T = (n_{\text{zones}} + n_{\text{wagons}} - 1) \times t_{\text{takt}} = (8 + 10 - 1) \times 5 = 85 \text{ working days}\]

Eighty-five working days is seventeen weeks for the interiors of all four residential floors. The master schedule had allowed about nineteen weeks for the same work, planned as overlapping floor-by-floor activities. The takt plan is shorter because the trades follow each other closely and steadily, and it is more reliable because every trade's workload is level from week to week.

# Takt plan for the Larkspur Commons interiors: which wagon is in which zone each week
zones = ["L3W", "L3E", "L4W", "L4E", "L5W", "L5E", "L6W", "L6E"]
wagons = ["Touch-up", "Plumb+spr", "HVAC+elec", "Insp+insul", "Board",
          "Tape+prime", "Cabinets", "Floor+tile", "Finish MEP", "Paint+clean"]
takt = 5                                    # working days per zone
weeks = len(zones) + len(wagons) - 1
print("Week " + "".join(f"{z:>6}" for z in zones))
for w in range(weeks):
    row = []
    for zi in range(len(zones)):
        k = w - zi                          # wagon number in this zone this week
        row.append(f"{k + 1:>6}" if 0 <= k < len(wagons) else f"{'.':>6}")
    print(f"{w + 1:>4} " + "".join(row))
print(f"Duration {weeks} weeks = {weeks * takt} working days;"
      f" a zone is finished every week from week {len(wagons)}")
Output
Week    L3W   L3E   L4W   L4E   L5W   L5E   L6W   L6E
   1      1     .     .     .     .     .     .     .
   2      2     1     .     .     .     .     .     .
   3      3     2     1     .     .     .     .     .
   4      4     3     2     1     .     .     .     .
   5      5     4     3     2     1     .     .     .
   6      6     5     4     3     2     1     .     .
   7      7     6     5     4     3     2     1     .
   8      8     7     6     5     4     3     2     1
   9      9     8     7     6     5     4     3     2
  10     10     9     8     7     6     5     4     3
  11      .    10     9     8     7     6     5     4
  12      .     .    10     9     8     7     6     5
  13      .     .     .    10     9     8     7     6
  14      .     .     .     .    10     9     8     7
  15      .     .     .     .     .    10     9     8
  16      .     .     .     .     .     .    10     9
  17      .     .     .     .     .     .     .    10
Duration 17 weeks = 85 working days; a zone is finished every week from week 10

Each number in the table is a wagon. Reading down a column shows one zone receiving the wagons in order, one per week. Reading across a row shows where every trade is in that week: in week 5, for example, wagon 5 (board) is in level 3 west while wagon 1 is starting in level 5 west. From week 10 onward, a finished zone comes off the end of the train every week, which suits the owner's plan to lease floor by floor.

A takt chart with weeks across the bottom and the eight zones up the side, showing ten parallel diagonal bands, one for each wagon, moving up through the zones one zone per week
The Larkspur Commons takt plan. Each band is a wagon; parallel bands mean steady flow without collisions.

Line of balance view

The same plan can be drawn as a line of balance or flowline chart, with time on one axis and location on the other. Each trade appears as a line rising through the zones. Parallel lines mean the trades move at the same pace and never collide. A line that is steeper than the one in front means the trade is faster and will catch up, so it either waits or must be slowed; a line that is flatter means the trade is slower and gaps will open behind it. The takt plan above is a special case in which all lines are parallel by design.

The flowline view is especially useful when the trades do not move at the same rate, as happens in the podium or when a trade cannot add crews. CON-210 showed how to calculate the buffer needed between two trades of different rates so that the faster one never catches the slower one. On Larkspur Commons, Dana uses the flowline chart at the weekly meeting because foremen read it easily: each foreman finds his line and sees who is in front and who is behind.

Trade stacking

Trade stacking happens when too many trades work in the same area at the same time. It is the opposite of flow. Stacked trades get in each other's way, compete for space, power and access, damage each other's work and create safety hazards, such as one trade's materials blocking another's exit or overhead work above other crews. Studies of construction productivity have repeatedly found that stacking reduces output well below what the same crews would achieve working alone. MCAA and other industry factors, discussed in CON-305, give typical loss percentages, but the exact figures vary and should be treated as indicative.

Stacking usually comes from one of three causes. Trades that fall behind are pushed to catch up and end up working in the same zones as the trades that follow them. Trades that are ahead jump into zones early because they have nothing else to do. Or the schedule itself puts several trades in the same area at once because activities were planned floor by floor with overlapping dates. The takt plan prevents the third cause by design, but the first two can still occur when the plan meets reality.

Before switching to the takt plan, Omar had collected the trades' own two-week plans for level 3 and level 4. He checked them for stacking by counting how many trades each plan put in each zone on each day.

# Detect trade stacking from the trades' own plans (days 1-10, illustrative)
plans = {  # trade: list of (zone, first day, last day)
    "Plumbing":   [("L3W", 1, 5), ("L3E", 4, 8), ("L4W", 9, 10)],
    "Sprinkler":  [("L3W", 2, 4), ("L3E", 3, 6), ("L4W", 7, 10)],
    "HVAC":       [("L3W", 3, 7), ("L3E", 6, 10)],
    "Electrical": [("L3W", 4, 8), ("L3E", 5, 9), ("L4W", 9, 10)],
    "Low voltage":[("L3W", 6, 9)],
}
LIMIT = 2                                   # trades per zone per day the zone can take
load = {}
for trade, items in plans.items():
    for zone, a, b in items:
        for d in range(a, b + 1):
            load.setdefault((zone, d), []).append(trade)
stacked = {k: v for k, v in load.items() if len(v) > LIMIT}
for (zone, d), trades in sorted(stacked.items(), key=lambda kv: (kv[0][1], kv[0][0])):
    print(f"Day {d:>2} {zone}: {len(trades)} trades - {', '.join(trades)}")
print(f"{len(stacked)} zone-days over the limit of {LIMIT} trades")
Output
Day  3 L3W: 3 trades - Plumbing, Sprinkler, HVAC
Day  4 L3W: 4 trades - Plumbing, Sprinkler, HVAC, Electrical
Day  5 L3E: 3 trades - Plumbing, Sprinkler, Electrical
Day  5 L3W: 3 trades - Plumbing, HVAC, Electrical
Day  6 L3E: 4 trades - Plumbing, Sprinkler, HVAC, Electrical
Day  6 L3W: 3 trades - HVAC, Electrical, Low voltage
Day  7 L3E: 3 trades - Plumbing, HVAC, Electrical
Day  7 L3W: 3 trades - HVAC, Electrical, Low voltage
Day  8 L3E: 3 trades - Plumbing, HVAC, Electrical
Day  9 L4W: 3 trades - Plumbing, Sprinkler, Electrical
Day 10 L4W: 3 trades - Plumbing, Sprinkler, Electrical
11 zone-days over the limit of 2 trades

The trades' plans put three or four trades in level 3 west and level 3 east on several days, and three in level 4 west, even though each zone can take only about two rough-in trades at once without interference. Each trade's plan looked reasonable on its own. Only when they were combined did the stacking appear. This is the main reason the general contractor, not the individual trades, must own the zone plan.

Limits on trades per zone

How many trades a zone can hold depends on its size, the type of work and the access. A suite under rough-in can hold a plumber and an electrician in different rooms, but not a duct crew with a scissor lift in the same corridor. Dana uses a simple limit for planning: no more than two rough-in trades in a zone at once, and one wet trade, such as taping or tile, at a time in each suite. The limit is not a law of physics; it is a planning rule that keeps the work orderly. Lesson 10 looks at crew density in more detail, including the space each worker needs.

Keeping the train on time

A takt plan only works if every wagon finishes its zone within the takt time. When a wagon falls behind, the wagons behind it must either wait, which breaks the flow, or start in a zone that is not ready, which creates stacking and rework. Dana's team uses four tools to keep the train on time.

  • Daily checks against the takt. Each morning the foremen report whether their wagon is on track to leave its zone by the end of the week. A wagon that is a day behind on Wednesday gets help on Wednesday, not on Friday.
  • Buffers. The plan includes small buffers: the underused touch-up wagon at the front, a day of slack after the inspection wagon, and a spare week at the end before the first floor turnover. Buffers absorb small slips without disturbing the whole train.
  • Swing crews. One or two general laborers and a small finishing crew are kept available to help any wagon that falls behind, especially on clean-up and protection tasks that slow the trades.
  • Fixing the cause. When the same wagon is late twice, the team looks for the reason: an undersized crew, missing materials, an inspection problem or an unrealistic wagon. The cause is then fixed, rather than relying on overtime every week.

The early weeks are the hardest. Crews are learning the layout, the first inspections reveal misunderstandings, and materials may not yet be flowing smoothly. Dana planned the first two zones with a slightly longer takt in mind, keeping the extra days as buffer, and expects the trades to reach the five-day takt by the third zone. Lesson 10 shows how the learning curve on repetitive work supports that expectation.

Takt in the podium and common areas

Not every area fits a takt plan. The podium retail units are shells with different services; the lobby and amenity areas have complex, one-off finishes; the parking level needs heavy services and different trades. Dana plans these areas with a conventional look-ahead and uses them as backlog work, as Lesson 2 described. The stairwells and elevator shafts are planned as vertical zones with their own sequences, because their work runs from the bottom to the top of the building rather than floor by floor.

The roof and the mechanical penthouse are also planned separately, but they interact with the residential floors: the rooftop units must be running before the corridor air system can be balanced, and the risers must be complete before the top floor can be tested. These interactions appear on the look-ahead as cross-zone constraints, which Lesson 6 explains.

Common mistakes

  • MistakeLetting each trade plan its own zones independently.

    InsteadCombine the trades' plans into one zone plan owned by the general contractor and check it for stacking.

  • MistakeChoosing zones of very different sizes.

    InsteadDivide the building into zones of similar work that match natural boundaries such as cores and fire separations.

  • MistakeSetting a takt time without balancing the wagons.

    InsteadSize each wagon's crew so that it finishes a zone within the takt time, adding crew where needed.

  • MistakeResponding to a late wagon by letting the next trade start anyway.

    InsteadHelp the late wagon recover within the takt, using buffers and swing crews, rather than creating stacking.

  • MistakeForcing one-off areas into the takt plan.

    InsteadPlan podium, lobby, amenity and vertical zones separately and use them as backlog work.

Summary and key terms

  • Repetitive floors can be planned as a flow in which each trade moves from zone to zone at a steady pace.
  • Zones should hold similar work, follow natural boundaries and balance flow speed against coordination effort; Larkspur Commons uses half floors.
  • A takt time sets the interval at which every trade moves on; trades become wagons in a trade train.
  • Interior duration with a takt plan is (zones plus wagons minus one) times the takt time: 85 working days at Larkspur Commons.
  • Flowline charts show trades as lines through the zones; parallel lines mean no collisions.
  • Trade stacking puts too many trades in one area and reduces productivity and safety; it appears when the trades' separate plans are combined.
  • A limit on trades per zone keeps the work orderly.
  • Daily checks, buffers, swing crews and fixing root causes keep the train on time; one-off areas are planned separately.
Takt time
The fixed interval at which each trade moves from one zone to the next.
Trade train
The sequence of wagons moving through the zones one behind another.
Line of balance
A chart of location against time in which each trade is a line through the zones.
Trade stacking
Too many trades working in the same area at the same time.
Work in progress
Work that has been started but not finished; in takt planning, zones occupied by the train.
Buffer
Spare time or capacity placed in a plan to absorb small delays.
Swing crew
A small crew kept available to help any trade that falls behind.
Vertical zone
A stair, shaft or riser planned from bottom to top as a single zone.

Practice problems

Work each problem on paper first, then reveal the answer to check.

  1. Calculate the interior duration for 8 zones, 10 wagons and a 4-day takt.

    Show answer

    (8 + 10 − 1) × 4 = 68 working days.

  2. Why did Dana choose half floors as zones?

    Show answer

    The central core at gridline 5 makes a natural break, each half has 14 similar homes, and the City will inspect half floors.

  3. What did the drywall finisher do to fit the takt time?

    Show answer

    Added two workers to bring the taping and priming wagon from six days to five.

  4. In the takt table, which wagon is in level 3 west in week 5?

    Show answer

    Wagon 5, drywall board.

  5. What does a flowline that is steeper than the one in front of it mean?

    Show answer

    The trade is faster and will catch up, so it will have to wait or be slowed.

  6. In the stacking check, what was the limit and how many trades did the worst zone-day have?

    Show answer

    The limit was two trades per zone per day; the worst zone-days had four trades (level 3 west on day 4 and level 3 east on day 6), and 11 zone-days were over the limit.

  7. Name the four tools Dana uses to keep the train on time.

    Show answer

    Daily checks against the takt, buffers, swing crews and fixing the root cause of repeated lateness.

  8. Why are stairs and shafts planned as vertical zones?

    Show answer

    Their work runs from the bottom to the top of the building rather than floor by floor.

Lesson quiz · 5 questions

Score 60% or more to complete this lesson.

Take the quiz