CON-410 · Lesson 7 of 12 · 26 min
Takt time planning and line of balance
Buildings with repeated floors, suites or zones offer a chance that one-off work does not: the same sequence of trades passes through the same kind of space again and again. If each trade takes the same time in each space and moves on in a steady rhythm, work flows like a production line in which the product stays still and the crews move. Takt time planning, developed for construction by researchers such as Iris Tommelein and Hylton Olivieri and widely used on residential, hotel, hospital and office fit-outs, plans this rhythm explicitly. Line of balance, which CON-210 lesson 11 introduced as a way of drawing repetitive work, shows whether trades flow smoothly or collide. This lesson develops both methods using the residential floors of Willowmere Residences.
Takt time
Takt is a German word for the beat or pulse in music. In manufacturing, takt time is the available production time divided by customer demand: if a plant runs 450 minutes a day and customers buy 90 units a day, it must finish one unit every five minutes. In construction, takt time is the fixed amount of time each trade spends in each area before moving to the next. Every trade works to the same takt, so the trades move through the building in step, like the wagons of a train.
Takt planning works in the other direction too. Instead of deriving takt from a deadline, the planner can choose zone sizes and crew sizes so that every trade can finish one zone in the same takt, typically one to five working days. The overall duration then follows from the number of zones and the number of trade steps.
Zones and the takt plan
Takt planning begins by dividing the building into takt areas or zones of roughly equal work content for each trade. On Willowmere, each typical residential floor of twelve suites is divided into four zones of three suites each, giving 7 × 4 = 28 zones. The trades that pass through each zone are grouped into a sequence of steps, called wagons, each of which must be finished in one takt. Where a trade's work in a zone would take longer than one takt, the planner either adds crew members, splits the work into two wagons or makes the zones smaller. Where a trade would take much less than a takt, it can be combined with another trade's work in the same wagon or work across two zones per takt.
| Wagon | Work in each zone (3 suites) | Trades |
|---|---|---|
| 1 | Layout and top track, framing of suite demising and partition walls | Framing |
| 2 | Mechanical rough-in: ducts, fan coils, sprinkler branch lines | Mechanical, sprinkler |
| 3 | Plumbing and electrical rough-in | Plumbing, electrical |
| 4 | In-wall inspection, firestopping, insulation | Northgate, firestop, insulation |
| 5 | Hang board on walls and ceilings | Drywall |
| 6 | Tape, mud and sand | Drywall finishing |
| 7 | Prime and first coat paint; tile in bathrooms | Painting, tile |
| 8 | Cabinets, countertops, doors and trim | Millwork, carpentry |
| 9 | Fixtures, devices, flooring, final paint and clean | Plumbing, electrical, flooring, painting, cleaning |
With nine wagons and a takt of two working days, the first zone is finished after 9 × 2 = 18 working days, and each later zone finishes two days after the one before. The last of the 28 zones starts its first wagon at day (28 − 1) × 2 = 54 and finishes 18 days later.
# Takt plan for Willowmere residential fit-out: 28 zones, 9 wagons, 2-day takt
zones, wagons, takt = 28, 9, 2
duration = (zones + wagons - 1) * takt
print(f"Fit-out duration: ({zones} + {wagons} - 1) x {takt} = {duration} working days")
# Which wagon is in which zone on a given day (zones numbered 1..28, floor = (z-1)//4 + 2)
def in_zone(day, wagon):
z = (day // takt) - (wagon - 1) + 1
return z if 1 <= z <= zones else None
for day in (0, 10, 20, 40):
row = []
for w in range(1, wagons + 1):
z = in_zone(day, w)
row.append(f"W{w}:{'L' + str((z - 1) // 4 + 2) + 'ABCD'[(z - 1) % 4] if z else '--'}")
print(f"day {day:>2}: " + " ".join(row))
# Compare with a conventional trade-by-trade CPM sequence (each trade does a whole floor before moving on)
cpm_floor_days = [6, 8, 8, 4, 8, 8, 6, 8, 10] # days per floor per trade, with typical start-to-start lags
cpm = sum(cpm_floor_days) + (7 - 1) * max(cpm_floor_days)
print(f"Floor-by-floor schedule with the slowest trade pacing: {cpm} working days")Fit-out duration: (28 + 9 - 1) x 2 = 72 working days day 0: W1:L2A W2:-- W3:-- W4:-- W5:-- W6:-- W7:-- W8:-- W9:-- day 10: W1:L3B W2:L3A W3:L2D W4:L2C W5:L2B W6:L2A W7:-- W8:-- W9:-- day 20: W1:L4C W2:L4B W3:L4A W4:L3D W5:L3C W6:L3B W7:L3A W8:L2D W9:L2C day 40: W1:L7A W2:L6D W3:L6C W4:L6B W5:L6A W6:L5D W7:L5C W8:L5B W9:L5A Floor-by-floor schedule with the slowest trade pacing: 126 working days
The takt plan finishes the residential fit-out in 72 working days. A conventional schedule in which each trade does a whole floor before moving on, with the slowest trade setting the pace between floors, takes 126 working days in this example. The difference does not come from working faster in any zone; it comes from smaller batches (zones rather than floors), a common rhythm that eliminates waiting between trades and balanced crews so that no single trade sets a slow pace. Real comparisons are rarely this dramatic, because good conventional schedules overlap trades too, but takt plans on residential and hospital fit-outs have often reported duration reductions of 10 to 30 % along with steadier crew sizes.
Balancing crews to the takt
The key engineering step in takt planning is balancing each wagon's work to the takt. The planner estimates the worker-hours each trade needs per zone, divides by the takt and the hours in a working day, and sets the crew size accordingly. Where the numbers do not divide evenly, the takt or zone size is adjusted, or work is moved between wagons. Crews sized this way stay constant for weeks, which trades value: they can plan their labor, avoid the boom and bust of conventional schedules and keep the same people on the job, which improves learning and quality.
Worked problem
Sizing the board crew for a two-day takt
Hanging board in one Willowmere zone (three suites, walls and ceilings) takes about 128 worker-hours. Crews work 8-hour days. What crew size is needed for a two-day takt?
Show solution
- Hours available per worker in one takt: 2 × 8 = 16 hours.
- Crew size = 128 ÷ 16 = 8 workers.
Answer: A crew of 8 board hangers can complete one zone per two-day takt. If the trade can only supply 6, the zone would take 128 ÷ (6 × 8) ≈ 2.7 days, longer than the takt; the planner would split the wagon, shrink the zone or ask for more workers.
# Crew sizes needed for each wagon at a 2-day takt (8-hour days), with utilization
hours_per_zone = {"framing": 92, "mechanical": 110, "plumb + elec": 120, "inspect/firestop/insul": 54,
"board": 128, "tape": 96, "paint + tile": 118, "millwork": 104, "finish trades": 140}
takt_days, day_h = 2, 8
import math
for wagon, h in hours_per_zone.items():
crew = math.ceil(h / (takt_days * day_h))
util = h / (crew * takt_days * day_h)
print(f"{wagon:<24}{h:>4} h/zone crew {crew:>2} utilization {util:5.1%}")framing 92 h/zone crew 6 utilization 95.8% mechanical 110 h/zone crew 7 utilization 98.2% plumb + elec 120 h/zone crew 8 utilization 93.8% inspect/firestop/insul 54 h/zone crew 4 utilization 84.4% board 128 h/zone crew 8 utilization 100.0% tape 96 h/zone crew 6 utilization 100.0% paint + tile 118 h/zone crew 8 utilization 92.2% millwork 104 h/zone crew 7 utilization 92.9% finish trades 140 h/zone crew 9 utilization 97.2%
Some wagons will have spare capacity at the chosen takt, shown by utilization below 100 %. That spare time is a capacity buffer: crews that finish early in a zone can complete deficiencies, help with preparation for the next zone or work on off-takt tasks. Lean practitioners generally prefer a small amount of spare capacity in each wagon to crews planned at 100 %, for the queueing reasons discussed in lesson 3.
Takt control
A takt plan needs daily control to hold its rhythm. Teams typically hold a short takt control meeting each day at the takt board, where each wagon reports whether it will finish its zone on time. If a wagon is at risk, the team intervenes immediately: shifting workers, clearing a constraint or allowing a short catch-up period. Because every trade depends on the one before it releasing the zone on time, a single late wagon can stop the whole train. Some plans include a buffer zone or a buffer takt between wagons where hand-offs are unreliable, at the cost of a longer duration. Lesson 8 discusses buffers in more detail.
| Element | Purpose |
|---|---|
| Takt board | Visual display of zones, wagons and status (green on track, amber at risk, red late) |
| Daily takt control meeting | Each wagon confirms today's zone and raises risks |
| Zone hand-off | Formal release of a zone by one wagon and acceptance by the next |
| Off-takt tasks | Work that does not fit the rhythm, planned separately |
| Buffers | Spare capacity in wagons or buffer zones to absorb variability |
Line of balance
Line of balance (LOB) is an older method, developed for repetitive manufacturing and housing in the mid-twentieth century, that plots each trade's progress as a line on a chart with units or locations on one axis and time on the other. The slope of each line is the trade's production rate: steep lines are fast trades, shallow lines slow ones. When lines are parallel, trades flow at the same rate. When a fast trade follows a slow one, its line converges toward the slow trade's line and they would collide; the fast trade must start later or slow down. When a fast trade precedes a slow one, the gap between them grows, creating work in progress and space between them.
# Line of balance: start times so that no trade overtakes the one before it
# floors 2..8 (7 units); each trade: rate in floors per week; minimum buffer of 0.5 week between trades
trades = [("framing", 1.75), ("rough-in", 1.0), ("drywall", 1.4), ("finishing", 1.0), ("final", 1.6)]
units, buffer = 7, 0.5
start = 0.0
prev = None
for name, rate in trades:
dur = units / rate
if prev:
p_start, p_rate = prev
# earliest start so the gap at the first unit and at the last unit is at least the buffer
s_first = p_start + 1 / p_rate + buffer - 1 / rate
s_last = p_start + units / p_rate + buffer - units / rate
start = max(s_first, s_last)
finish = start + dur
print(f"{name:<10} rate {rate:.2f} floors/wk start wk {start:5.2f} finish wk {finish:5.2f}")
prev = (start, rate)framing rate 1.75 floors/wk start wk 0.00 finish wk 4.00 rough-in rate 1.00 floors/wk start wk 0.07 finish wk 7.07 drywall rate 1.40 floors/wk start wk 2.57 finish wk 7.57 finishing rate 1.00 floors/wk start wk 2.79 finish wk 9.79 final rate 1.60 floors/wk start wk 5.91 finish wk 10.29
The calculation shows a basic rule of line of balance. When a trade is faster than the trade before it, the critical point is the last unit: it must start late enough that it does not catch up at the top floor. When it is slower, the critical point is the first unit. The total duration depends heavily on the slowest trades, so balancing rates, by adding crews to slow trades or slowing fast ones to match, shortens the overall schedule and keeps crews working continuously. Takt planning can be seen as a disciplined form of line of balance in which every line has the same slope by design.
Where takt works and where it does not
Takt planning is most effective where work repeats: multi-story residential and hotel buildings, hospital patient floors, office fit-outs, schools with repeated classroom wings, and linear projects such as pipelines and roads. It is harder to apply to unique spaces such as lobbies, mechanical rooms, kitchens and operating theaters, which are usually planned separately as off-takt work. It requires reliable hand-offs, which is why takt and the Last Planner System are often used together: takt sets the rhythm and the Last Planner System makes the work in each zone ready.
| Good fit | Harder fit |
|---|---|
| Repeated floors, suites, rooms or bays | Unique spaces such as lobbies and plant rooms |
| Interior fit-out after enclosure | Weather-exposed structural work |
| Stable crews from committed trades | Trades that move crews between many sites |
| Designs complete before fit-out | Designs still changing during construction |
Common mistakes
MistakeSetting a takt without checking each trade's crew can finish a zone in it.
InsteadBalance every wagon's worker-hours to the takt and adjust crews, zones or wagons.
MistakeUsing whole floors as the batch when zones would work.
InsteadUse smaller zones of equal work content to shorten cycle time.
MistakePlanning every crew at 100 % utilization of the takt.
InsteadLeave some spare capacity as a buffer against variability.
MistakeLetting a fast trade start right behind a slow one on a line of balance.
InsteadStart it late enough that it does not converge at the last unit.
MistakeForcing unique spaces into the takt train.
InsteadPlan lobbies, plant rooms and similar areas as off-takt work.
Summary and key terms
- Takt time is the fixed time each trade spends in each area, so trades move through the building in step.
- Takt planning divides the building into zones of equal work content and groups trades into wagons completed in one takt.
- Duration is (zones + wagons − 1) × takt; smaller batches and a common rhythm shorten duration.
- Crew sizes are balanced to the takt; a little spare capacity acts as a buffer.
- Daily takt control at a takt board keeps the rhythm and catches late wagons early.
- Line of balance plots each trade's production rate; converging lines signal conflicts.
- Takt suits repetitive work and is often combined with the Last Planner System.
- Takt time
- The fixed time each trade spends in each area in a takt plan.
- Takt zone
- An area of roughly equal work content for each trade, such as three suites.
- Wagon
- A group of work completed in one zone in one takt, by one or more trades.
- Trade train
- The sequence of wagons moving through zones in a common rhythm.
- Takt control
- Daily monitoring and intervention to keep wagons on takt.
- Line of balance
- A chart plotting units or locations against time to show each trade's production rate.
- Production rate
- Units of work completed per unit of time, shown as a slope on a line of balance chart.
- Off-takt work
- Work in unique areas planned outside the takt rhythm.
- Capacity buffer
- Spare crew time within a takt that absorbs variability.
- Batch size
- The amount of work handed from one trade to the next at a time.
Practice problems
Work each problem on paper first, then reveal the answer to check.
A building has 36 zones and 10 wagons with a 3-day takt. What is the duration?
Show answer
(36 + 10 − 1) × 3 = 135 working days.
A trade needs 150 worker-hours per zone. With a 2-day takt and 8-hour days, what crew size is needed?
Show answer
150 ÷ 16 = 9.4, so 10 workers.
What is the utilization of that crew?
Show answer
150 ÷ (10 × 16) = 94 %.
Why do smaller zones shorten duration?
Show answer
Trades can start sooner behind each other, reducing waiting and cycle time.
On a line of balance, what does a steeper line mean?
Show answer
A faster production rate.
A fast trade follows a slow one. Where is the critical point for avoiding a collision?
Show answer
At the last unit.
Give two kinds of space usually planned as off-takt work.
Show answer
Any two of lobbies, mechanical rooms, kitchens, operating theaters, amenity spaces.
What happens to the train if one wagon finishes late?
Show answer
Every following wagon is delayed unless there is a buffer.
Why do trades often like takt plans?
Show answer
Crew sizes stay steady and work is predictable.
How do takt planning and the Last Planner System work together?
Show answer
Takt sets the rhythm; LPS makes the work in each zone ready.
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.