Of Course It Went Right / Systems That Assume Reality

You Never Eliminate a Bottleneck, You Just Move It

Relieving pressure in one place relocates it elsewhere, and that is normal.

10 min read

You Never Eliminate a Bottleneck, You Just Move It

Category: Systems That Assume Reality Relieving pressure in one place relocates it elsewhere, and that is normal.


A hospital pathology lab is, when you look at it plainly, a flow system: samples come in at one end, results go out the other, and in between there is a chain of steps that each take a certain amount of time. Blood arrives, gets booked in, gets centrifuged, gets loaded onto an analyser, gets reported by someone qualified to sign it off, and finally lands back in the hands of a clinician who is waiting to make a decision. The whole thing is only ever as fast as its slowest link.

For a long stretch, the slowest link in this particular lab was the analysers. There weren’t enough of them, and the ones that existed ran flat out, with a queue of trays backed up in front of them from the middle of the morning onwards. Everyone knew this, because the analysers were where the visible pile sat, and a visible pile is where attention goes. So the lab made the case, won the funding, and bought more analysers. The pile in front of them dissolved almost overnight. The trays no longer stacked up; the machines coasted with capacity to spare.

What a less experienced team might have expected next was that the whole lab would now be faster — that having unblocked the obvious blockage, results would simply fly out the other end. What actually happened was that the queue reappeared, a few feet upstream, in front of the booking-in desk, where two staff were now hopelessly outpaced by the volume the faster analysers could swallow. The bottleneck had not been eliminated. It had moved.

The lead biomedical scientist had seen this coming, and was not in the least dismayed by it. She had told the team, before the new analysers even arrived, that the queue would relocate and that their job afterwards was to go and find where it had gone. The relief in one place was the relocation to another. That wasn’t the plan failing. That was the plan working exactly as a flow system always works, and the only question worth asking was where to look next.


The Principle

Every flow system has one binding constraint — the single tightest point that sets the pace of the whole. Relieve it and the constraint does not vanish; it moves to the next-tightest point. The mature posture is to expect the move, go and find the new constraint deliberately, and stop pouring effort into places that are no longer the bottleneck.

The intuitive picture of a bottleneck is a blockage you clear, the way you’d unblock a drain: deal with it once and the obstruction is gone. But a flow system isn’t a single drain — it’s a chain of links in series, and at any given moment exactly one of them is the slowest. That slowest link governs the throughput of everything. When you make it faster, you don’t reach some new state of having no slowest link; you simply promote whichever link was second-slowest into first place. There is always a tightest point, because “tightest” is a relative property of a chain, not an absolute fault you can remove. Improvement doesn’t abolish the constraint. It relocates it, and reading where it has gone is the actual skill.

Why It Is Inevitable

This isn’t a quirk of badly designed systems that better ones avoid; it’s a property of how chains of dependent steps behave, and no amount of investment makes it stop being true.

A flow system runs at the rate of its slowest step, because the steps depend on one another in order — work can’t reach the end faster than the narrowest point lets it through, however quick everything else is. That means at every moment, one step is the constraint, by simple arithmetic, whether or not anyone has identified it. When you improve that step, the system speeds up only until it hits the next slowest step, at which point that one becomes the limit. You haven’t created a constraint-free system; you’ve revealed the one that was sitting just behind the one you fixed, previously hidden because it was never the thing holding everything up.

And the constraint genuinely was hidden, which is the part that surprises people. While the analysers were the bottleneck, the booking-in desk looked perfectly adequate — it kept pace easily, because it only ever had to feed a queue that was already backed up downstream. Its true capacity was never tested. It only became visibly inadequate the moment the thing in front of it got faster and started demanding more from it. So the new bottleneck doesn’t arrive from nowhere, and it isn’t a sign that the fix was wrong. It was there all along, masked by the old constraint, waiting to be exposed the instant the pressure ahead of it lifted. Any system you improve will do this, because improving the limiting step is precisely what unmasks the next one. The movement of the bottleneck is not a side effect of progress. It is progress, seen from the right angle.

How It Shows Up

  • A long-standing blockage is relieved, the system speeds up, and within days or weeks a fresh queue appears somewhere it never used to — usually just upstream or just downstream of the place that was fixed.
  • The new bottleneck is in a step that previously looked fine, because it only ever had to keep pace with a constraint that was already slowing everything down.
  • Throughput improves, but by less than the investment seemed to promise, because the gain is capped by whichever step is now slowest rather than by the one that was just sped up.
  • Effort spent improving steps that aren’t the current constraint produces no change in overall output at all, however hard people work or however much faster those steps individually become.
  • Teams that understand this treat “where is the bottleneck now?” as a permanent, recurring question rather than a problem they expect to finish answering.
  • The people who manage these systems well seem oddly unbothered when a constraint reappears — they were expecting it, and they go looking for it rather than treating it as a failure of the last fix.

Why It Causes Benefit

A team that expects the bottleneck to move, and reads its system as a chain of relocating constraints, gets something steady and cumulative that a team chasing isolated problems never does: real throughput, improved one true constraint at a time, without wasted motion.

The benefit comes first from not wasting effort. The hard truth of a flow system is that improving any step which isn’t the current constraint changes the overall output by precisely nothing — the analysers running faster did nothing for the lab once booking-in became the limit. A team that understands this stops optimising the wrong places. It doesn’t pour money, attention, or clever engineering into steps that feel slow or look busy but aren’t actually the thing holding the system back. Every unit of effort goes to the one point that will move the whole, which means the effort actually shows up in the result. That alone separates teams that improve their systems from teams that exhaust themselves polishing links that were never the limit.

It comes, too, from speed of redirection. Because the team expects the constraint to move, they aren’t dismayed when it does, and they don’t waste time arguing about whether the last fix was a mistake. They simply turn and find the new tightest point, and start work there. The reappearing queue isn’t a setback to be explained away; it’s the system telling them, for free, exactly where the next gain is. A team that reads it that way gets a continuous stream of signposts to the most valuable place to work next — and that, repeated patiently over time, is what turns a sluggish flow system into a fast one. Not a single heroic fix, but a long sequence of correctly-located ones, each handed to them by the relief of the last.

How To Cultivate It

  • Before you relieve a constraint, say out loud where you expect the queue to reappear, and plan to go and look there next. Naming the move in advance turns a nasty surprise into a confirmed prediction, and gets the team looking forward instead of recriminating.
  • Find the current constraint before you improve anything. The slowest step is usually where work is visibly piling up — but check, because the obvious pile and the true limit aren’t always the same place, and effort spent anywhere else is wasted.
  • Refuse to optimise steps that aren’t the current bottleneck, however slow or busy they look. A step running below the constraint’s pace has spare capacity by definition; making it faster changes nothing and costs real effort. Protect that effort for the one place it counts.
  • Treat “where is the constraint now?” as a standing question with a recurring answer, not a problem you solve once. Build the habit of re-asking it after every meaningful improvement, because every improvement moves the answer.
  • Resist the urge to read a reappearing bottleneck as a failure of the last fix. The last fix worked — that’s why the constraint moved. Reward the team for finding the new one quickly, not for never causing it to appear.
  • Watch the step behind the one you’re about to speed up. The constraint usually relocates to whatever was second-tightest, which is often hiding in plain sight just upstream, looking adequate only because it never had to do more.

What Good Looks Like

A team that reads its system as a chain of moving constraints, and works it that way without drama. They know there is always one binding limit, and they spend their effort there and nowhere else — declining, calmly, to improve the steps that aren’t currently holding things back, however tempting or visibly busy those steps are. When they relieve a constraint, they aren’t surprised that a new queue forms somewhere else; they predicted it, named the likely spot in advance, and turn straight to it. Each relocation is treated as information — the system pointing, for free, at the next most valuable place to work — rather than as a fix coming undone. Over time the whole thing gets genuinely faster, not through one dramatic intervention but through a long, patient sequence of correctly-located ones. From the outside it can look almost unambitious, this refusal to fix everything at once and this equanimity about constraints reappearing. It is in fact the opposite: it’s what it looks like when a team has stopped fighting the nature of flow systems and started using it — chasing the one constraint that matters, letting it move, and following it.

A Reflective Question

In your system, can you name the single step that is currently setting the pace of the whole — and if you sped it up tomorrow, do you already know where the queue would reappear, or would you be surprised? And how much of the effort going into your system right now is landing on steps that aren’t the constraint at all?