Most custom shops have stages — they just don't have an explicit stage flow. Cutting happens, then assembly, then finishing, then install. But the boundaries between them are fuzzy. The floor decides start times by walking around. The office finds out a job is stuck only when a client calls. Capacity planning is gut feel.
A real stage flow has three properties: each stage reflects how the floor actually works, each stage has one owner who decides when it's done, and each stage has a trigger that opens the next one. With those three things in place, your shop runs. Without them, it bounces between heroics and crises.
Why stage flow matters
The output of a stage flow isn't process compliance. It's predictability. When stage flow is right:
- The office knows where every job is without walking the floor.
- Capacity is visible before you commit to an install date.
- Blockers surface early — not the day before delivery.
- Quoted vs actual labour can be measured per stage, not just per job.
Rule 1 — Stages must reflect reality
The most common mistake is designing stages from a textbook (cut → assemble → finish → install) when the actual shop has more nuance. A joinery shop that does veneered work has a separate edge stage. A stone shop has a templating stage that's on-site. A metal shop has a powder coat stage that goes off-site to a third party.
If your stage list doesn't match what physically happens, the floor will work around it. Walk the floor. Ask each lead what their stage produces and what triggers it. Build the stage list from there.
Rule 2 — Each stage has one owner
Every stage must have one named person who owns its closure. Not a team. Not a department. One person. They decide when the stage is complete, they sign off on the QC checkpoint, they hand off to the next stage.
Multiple owners means no owner. If two people share a stage, neither feels accountable for closure delay. The job stalls between them and the office can't get a clean answer about why.
Rule 3 — Triggers, not vibes
Every stage must have an explicit trigger that opens it and a trigger that ends it. “Cutting is done when the parts are on the assembly bench” is a trigger. “Cutting is basically done” is not.
Strong triggers are physical, observable, and one-way: QC checklist signed, parts delivered to next bay, photo uploaded, materials issued. Weak triggers are the ones that depend on someone's judgment of completeness — those create the fuzz that lets jobs slip.
Where QC checkpoints belong
QC at the end of every stage is overkill. QC at the end of zero stages is negligent. Most shops need:
- Mid-assembly QC — catches construction errors before the piece is sealed up. Saves a re-build.
- End-of-finishing QC — last chance to catch surface defects before the customer sees the work.
- Pre-install QC — site readiness check; ensures the install crew arrives to a job that can actually be installed.
Other stages (cutting, edging) usually don't need explicit QC if the next stage's start trigger surfaces problems anyway (assembly will reject a wrong-sized cut).
Blocker workflows that escalate
A blocker is anything that prevents a stage from progressing — missing material, broken machine, unclear scope, vendor delay. Blockers must be:
- Logged — not muttered about. Every blocker has a record with timestamp, cause and current owner.
- Owned — one named person responsible for resolving it.
- Time-bounded — every blocker has a target resolution time.
- Escalating — if not resolved by the target time, the blocker auto-escalates to the next level.
Without auto-escalation, low-priority blockers languish for days. Then a big blocker arrives, and the office discovers two old ones have been silent in the corner.
Stage flows by trade
Joinery (kitchen / cabinet)
- Cut → 2. Edge → 3. Assemble → 4. Finish → 5. Pack → 6. Install
QC at end of Assemble (mid-stage and end), end of Finish, and start of Install (site readiness). Hardware blockers between Assemble and Finish are common; surface them early.
Stone studio
- Templating (on-site) → 2. Slab allocation → 3. CNC cut → 4. Edge profile → 5. Polish → 6. QC + photo → 7. Install
Templating is the highest-risk stage because it determines yield. QC after Polish; install requires a separate site-readiness stage given the weight involved.
Glass / aluminium
- Site measure → 2. Profile cut → 3. Glass cut → 4. Frame assembly → 5. Glaze + seal → 6. Site install
Two parallel paths between profile and glass — they reconverge at frame assembly. Tempered glass cannot be re-cut; QC the cut sizes against measure before tempering.
Metal fabrication
- Cut → 2. Bend / form → 3. Weld → 4. Grind → 5. Powder coat (often external) → 6. Inspect → 7. Pack → 8. Deliver / install
Powder coat is usually a vendor stage — manage it as an external blocker (your job sits in their queue). QC after grind and after coat — coating defects are easier to catch immediately.
Rolling it out
- Walk your floor. Write down every stage that physically happens.
- Name an owner for each. One person.
- Define the start trigger and end trigger for each stage. Make them physical.
- Decide where QC sits — usually 3 places, not 8.
- Set up the blocker workflow with target resolution times and auto-escalation.
- Run one job through the new flow. Adjust based on what actually happens.
- Roll out shop-wide once the first job closes cleanly.
That's a stage flow your floor will follow because it reflects what they already do — just made explicit and observable. The rest is review cadence: weekly check on whether triggers are firing, monthly check on whether stage durations are drifting.