Anatomy
① New ② In review ③ Approved ④ Complete
─────────── ─────────── ─────────── ───────────
owner: sales owner: ops owner: finance —
▸ this one has been in "In review" for 6 days
└── age is what makes stuck work visible
Four properties, and a process that lacks any one of them is not really linear:
- A fixed order, the same for every record.
- One current stage, stored as a single field.
- An owner per stage, so whose turn it is never needs asking.
- A recorded history of every transition.
Why it works
Linear is the topology worth hoping for, because it is the only one where the next question is always the same: is this record moving, and if not, who is holding it. That makes two things nearly free — a review queue per stage, and an ageing report that finds stuck work without anyone remembering to look.
The history is what turns it from a status field into a process you can improve. Once transitions are recorded, "where does work actually stall" is a query rather than an opinion, and that is usually the first genuinely surprising thing a business learns from its own software.
The honesty test
The most common mistake is forcing a branching process to be linear. The symptom is unmistakable once you know it: people start using a stage to mean something it does not, or they move a record forward and then edit it backwards, or a stage called "On hold" appears that is not a stage at all.
When that happens, the process was never linear. Adding an exception path is better than having everyone quietly lie to the system, because a system people route around stops being a record of anything.
Getting it wrong
- No stage age. Without it, a record can sit for three weeks and look identical to one that arrived this morning.
- No owner per stage, so every stall becomes a conversation.
- A "next" button that says "Update status". Name the outcome — the button is where people learn what the stage means.
- Silent backward moves. If work can go back, the history must say so, or the audit trail is fiction.
Exemplars
A publishing pipeline — draft, edit, legal, scheduled, live — is the canonical case, and shows why the owner-per-stage rule matters: four teams, and the only interesting question is which one is holding it.
GitHub pull requests are linear at the core (open, merged) with everything that is genuinely optional — review, checks, drafts — pulled out into separate fields rather than crammed into the sequence. That separation is what keeps the main line honest.
The extractable rule: a linear workflow's value is the ageing, not the sequence. Anyone can display four stages. Knowing that stage two has held eleven records for over a week is what changes how the business runs.