Two problems that look identical from a distance.
"This process is broken" and "this process has a bottleneck" get used interchangeably. They describe two genuinely different problems that need two genuinely different fixes.
Treating a bottleneck like it's broken — or a broken step like it's just slow — wastes real effort solving the wrong thing.
What is an operational bottleneck?
A bottleneck is a single point in an otherwise functioning process where capacity is lower than everywhere else.
Work piles up waiting for that one step, regardless of how well every other step performs. The process itself is working correctly. Every step does what it's supposed to do.
It's just that one step can't move work through as fast as the steps feeding into it can produce work.
A single reviewer approving every contract before it moves to signing is a bottleneck if contracts arrive faster than one person can review them, even if that reviewer never makes a single mistake.
The signature of a genuine bottleneck is that work backs up specifically and consistently at one point. Everything before that point moves smoothly, and everything after it, once work finally clears the bottleneck, also moves smoothly.
Speed up or add capacity at exactly that one point, and the whole process speeds up proportionally. That clean, predictable relationship is the actual diagnostic signal separating a bottleneck from something more structurally wrong.
What is the Theory of Constraints?
This isn't a loose idea — it's a formal management framework, developed by physicist Eliyahu Goldratt and introduced in his 1984 business novel The Goal.
The core claim is that every system has exactly one constraint at a time limiting its total output, and improving anything else does nothing for overall throughput.
Goldratt built a specific method around this called the Five Focusing Steps: identify the constraint, exploit it (get everything possible out of it without spending money), subordinate everything else to protect it, elevate it (invest to increase its capacity), then repeat, since removing one constraint always reveals the next one.
The framework also draws a precise distinction worth knowing: a bottleneck is any resource with lower capacity than the demand hitting it. A constraint is specifically the bottleneck currently limiting the whole system's output. Every constraint is a bottleneck, but not every bottleneck is the constraint — a resource can have less capacity than others and still not be what's actually holding the system back, if demand never pushes it that far.
What is the difference between a bottleneck and a broken process?
A broken process doesn't just move slowly. It produces wrong outputs, requires rework, or stalls unpredictably at inconsistent points rather than reliably at the same single spot every time.
If contracts sometimes get stuck at review, sometimes at legal sign-off, sometimes at signature routing, and the specific failure point shifts depending on the contract, that's not one capacity constraint.
That's a process without clear ownership, unclear rules for what happens at each step, or steps that were never well defined in the first place.
Adding capacity to a broken process — hiring another reviewer, for instance — often doesn't fix it, because the problem was never that one step lacked capacity.
The problem is that the process itself doesn't reliably produce a correct, predictable outcome. More people running the same unclear process usually just produces the same inconsistent results faster, or in more places at once.
Why are bottlenecks and broken processes confused?
Both a bottleneck and a broken process produce the same visible symptom from a distance: things take longer than expected, and people get frustrated waiting.
That surface similarity is exactly why the two get treated as the same problem, even though the underlying cause — and the fix — are completely different.
A genuine bottleneck responds directly and predictably to added capacity at the constraint point. A broken process usually doesn't, because throwing more resources at an unclear, poorly defined process just produces more volume moving through the same unclear, poorly defined process.
How do you identify a bottleneck?
The clearest diagnostic: does the delay happen consistently at the exact same point, every time, with everything before and after that point moving smoothly?
That's the signature of a bottleneck, and the fix is capacity at that specific point.
Does the delay, error, or rework show up at inconsistent, shifting points depending on the specific case — different steps stalling for different reasons on different runs through the process?
That's the signature of something structurally broken in the process design itself. The fix is redesigning the process — clarifying ownership, defining what each step actually requires, and removing ambiguity about what "done" means at each handoff — not adding people or capacity to whichever step happens to be visibly stuck this week.
Why does diagnosing the problem matter?
Misdiagnosing a broken process as a bottleneck leads to adding capacity that never actually solves the underlying problem, since the process itself was never capacity-constrained in the first place.
Misdiagnosing a genuine bottleneck as a broken process leads to a full redesign effort when a much simpler, more targeted fix — adding capacity or resources at one specific, identifiable point — would have solved it directly.
Getting the diagnosis right first is what determines whether the fix that follows actually addresses the real cause.
A bottleneck and a broken process share one symptom — things take longer than they should — and almost nothing else.
A bottleneck is a healthy process with one weak link, and the fix is adding capacity at that exact point. A broken process has no reliable single failure point at all, and the fix is redesigning it.
Diagnosing which one you actually have comes first. Everything that follows depends on getting that right.