Most process improvement efforts focus on what happens inside the process. Faster cycle times. Better handoffs. Less rework. All worthwhile.
But the most powerful lever is often outside the process: controlling what enters it in the first place.
The Firehose Problem
Picture a garden hose filling a bucket. If water comes in faster than it drains out, the bucket overflows. No amount of bucket optimization fixes this. You need to turn down the hose.
Processes work the same way. When work arrives faster than you can complete it:
- Queues grow without bound
- Lead times explode
- Quality suffers (people rush, cut corners, make errors)
- Morale tanks (the backlog never shrinks)
The solution isn't working harder. It's controlling the input.
Types of Input Control
1. Arrival Rate Limiting
Don't accept work faster than you can process it. This sounds obvious but most organizations do the opposite — they say yes to everything and hope capacity magically appears.
Examples:
- Appointment slots (healthcare, services)
- Order caps per day (e-commerce during peak)
- Sprint capacity limits (software teams)
- Reservation systems (restaurants, airlines)
2. Batch Scheduling
Instead of processing work as it arrives, accumulate batches and process them at set times. This trades some responsiveness for predictability and efficiency.
Examples:
- Batch production runs (manufacturing)
- Nightly data processing jobs
- Weekly planning cycles
- Consolidated shipments
3. Triage and Prioritization
Not all work is equal. Some must be done immediately. Some can wait. Some shouldn't be done at all. Explicit triage rules at the input prevent low-value work from consuming capacity needed for high-value work.
Examples:
- ER triage (acuity-based prioritization)
- Service level tiers (premium vs. standard)
- MoSCoW prioritization (must/should/could/won't)
- Economic value scoring
4. Demand Shaping
Change when and how demand arrives through pricing, incentives, or policy. Move demand from peak periods to off-peak. Consolidate small requests into larger ones. Discourage demand that isn't worth serving.
Examples:
- Surge pricing (ride-sharing, utilities)
- Early-bird discounts (restaurants, airlines)
- Minimum order quantities
- Self-service options (deflect low-complexity requests)
The Pull System: Input Control Built In
The most elegant input control is a pull system — work only enters when capacity is available. Instead of pushing work into the process and hoping it comes out the other end, you pull work when you're ready for it.
Kanban is a pull system. An empty slot signals "I'm ready for more." Until that signal appears, nothing new enters. WIP stays bounded. Lead times stay predictable.
Compare to push systems where work enters on schedule regardless of downstream capacity. Push systems create piles. Pull systems create flow.
Why This Feels Wrong
Input control requires saying no. Or "not yet." Or "here's the tradeoff."
This is uncomfortable. Customers want what they want when they want it. Sales wants to take every order. Leaders want to show they can handle anything.
But uncontrolled inputs don't serve anyone:
- Customers get long lead times and inconsistent quality
- Workers get stress and burnout
- The business gets bloated WIP and poor margins
Explicit input control makes capacity constraints visible. That's a feature, not a bug. Visible constraints get addressed. Hidden constraints just cause suffering.
Making It Work
1. Know your capacity. You can't control inputs relative to capacity if you don't know what capacity is. Measure actual throughput, not theoretical maximum.
2. Make limits explicit. "We accept X new orders per day" or "Sprint capacity is Y points" or "Each slot takes Z patients." Published limits set expectations.
3. Protect the limit. Limits only work if they're honored. Every exception ("just this once") erodes the system.
4. Communicate transparently. "We can start your work on [date]" is honest. "We'll try to fit it in" is a lie that becomes a broken promise.
5. Build pressure relief valves. What happens when demand exceeds capacity? Overflow to a partner? Premium expedite pricing? Waitlist? Design this before it happens.
Controlling the inputs isn't admitting defeat. It's acknowledging reality. Every system has finite capacity. You can manage that constraint deliberately or let it manage you chaotically.
Deliberate wins.