- Home
- Blog
- Scheduling Concepts
- Why the Bottleneck Sets the Pace of the Whole Shop
The bottleneck sets the pace of the whole shop because it is the slowest step every job must pass through, so its hourly output is the plant's hourly output. You cannot ship parts faster than your constraint can process them, no matter how fast every other machine runs. An hour gained anywhere else is invisible; an hour gained at the bottleneck is an hour of extra throughput for the entire plant. EDGEBIC by User Solutions lets you flag a work center as a bottleneck so the engine schedules the rest of the routing around it, treating the constraint as the drum the whole shop marches to.
This idea comes from the Theory of Constraints, and the plain definition sits in glossary: bottleneck. What matters for scheduling is the consequence: the constraint's rate is the shop's rate.
The flow can only move as fast as its narrowest point
Picture your routing as a pipe with sections of different widths. Water flows through the whole pipe only as fast as its narrowest section allows. Widen every section except the narrow one and nothing changes; the narrow point still caps the flow. A shop works the same way. Parts move through cutting, milling, heat treat, and inspection, and the slowest of those caps how many finished parts come out the far end per day.
Because every job eventually reaches the constraint, the constraint's output is not one work center's number. It is the whole plant's number. That is why the bottleneck deserves attention out of all proportion to its size: it is the one resource whose rate is the business's rate.
An hour lost at the bottleneck is lost forever
Here is the asymmetry that trips up most shops. A non-bottleneck resource can lose an hour to a breakdown, a long changeover, or a coffee break, and recover it later, because it has spare capacity sitting idle at some point in the day. The bottleneck has no spare capacity, by definition. When it stops, the throughput it would have produced in that hour is gone and cannot be made up, because there is no idle time later to make it up in.
So a one-hour breakdown at a non-bottleneck costs nothing if the resource catches up. The same one-hour breakdown at the bottleneck costs the plant a full hour of finished-goods output, permanently. Protecting the constraint's uptime is worth more than optimizing every other machine combined.
A worked example: where to spend an improvement hour
A routing runs Cut, then Heat Treat, then Finish. Daily throughput of each:
| Work center | Parts per day |
|---|---|
| Cut | 120 |
| Heat Treat | 60 |
| Finish | 100 |
Heat Treat is the constraint at 60 parts per day, so the plant ships 60 parts per day. Cut and Finish have slack.
Now you have budget for one improvement that adds 20 parts per day of capacity. Spend it on Cut and it goes from 120 to 140; the plant still ships 60, because Heat Treat still caps the flow. Spend it on Finish, same result: 60. Spend it on Heat Treat and it goes from 60 to 80, and the plant now ships 80 parts per day, a 33 percent gain. The identical 20-part improvement is worth nothing on a non-bottleneck and worth a third more throughput on the constraint. The bottleneck is the only place the improvement counts.
Feeding the drum instead of flooding it
Once you accept that the constraint sets the pace, the right way to run everything else follows. Non-bottlenecks should not run flat out. Running Cut at 120 when Heat Treat can only take 60 just builds a mountain of work-in-process in front of the oven, which ties up cash and clutters the floor without adding a single shipped part.
Instead, non-bottlenecks run at the pace the bottleneck can consume, kept just far enough ahead to guarantee the constraint never sits idle waiting for parts. Their spare capacity is not waste. It is protective capacity, the buffer that keeps the drum fed, and treating it as slack to be eliminated is exactly why 100 percent utilization is a trap.
How the engine schedules around the drum
When you mark a work center as a bottleneck, EDGEBIC anchors the routing around it. The steps that feed the constraint are scheduled to arrive just before it needs them, and the steps that follow are scheduled to start right after it finishes, so the constraint stays busy and nothing waits on it unnecessarily. This anchor logic, and how it differs from working purely backward from a due date, is covered in anchor scheduling versus plain backward scheduling and in how finite capacity scheduling handles a shared bottleneck when several jobs compete for the same drum. Once a job is anchored to the constraint, every other step is ranked below it on a descending ladder, which is the subject of how a constraint schedule subordinates every other step.
Identifying that drum in the first place is the practical starting point, and the process is laid out in production bottleneck identification. Over 35-plus years, from GE Railcar's move to 90 percent on-time delivery to Cummins across 33 locations, the schedules that worked were the ones built around the constraint rather than around wishful throughput everywhere else. The full engine pipeline is in the scheduling engine guide, and you can flag your own constraint and watch the routing schedule around it in EDGEBIC.
The bottleneck sets the pace because it is the slowest step in the flow, so no amount of speed anywhere else can push more work through than the bottleneck can process. Every job in the routing eventually passes through it, which means the bottleneck's hourly output is the plant's hourly output. Feeding faster upstream only builds a pile in front of the constraint; it does not raise throughput. The constraint is the drum the whole shop marches to.
An hour lost at the bottleneck is an hour lost for the entire plant, because that hour of throughput can never be recovered downstream. A non-bottleneck can lose an hour and catch up later using its spare capacity. The bottleneck has no spare capacity by definition, so time it loses to a breakdown, a slow changeover, or starvation is gone permanently. This is why protecting and keeping the constraint busy matters far more than optimizing any other resource.
No. Running non-bottleneck machines at full speed only produces work faster than the bottleneck can absorb, which piles up work-in-process in front of the constraint and ties up cash. Non-bottlenecks should run at the pace the bottleneck can consume, staying just far enough ahead to keep the constraint fed. Their spare capacity is not waste; it is the protective buffer that keeps the bottleneck from ever starving.
Expert Q&A: Deep Dive
Q: We added a second CNC to speed things up but throughput barely moved. Why?
A: Because the CNC was probably not your bottleneck. If the real constraint is heat treat, adding CNC capacity just lets more parts reach heat treat faster, where they queue. Throughput is capped by heat treat's daily output, and nothing you do upstream or downstream of it raises that cap. The money spent on the second CNC would have moved the needle only if it had been spent on the constraint: another oven, a second shift on heat treat, or offloading heat treat work. Find the constraint first, then invest there.
Q: How do I know which resource is my drum?
A: Flag the resource where work consistently piles up in front and starves behind, then confirm it with a utilization view. The bottleneck is the work center running closest to its capacity ceiling while others have slack. In practice you mark it as a bottleneck so the engine anchors dependent operations around it, scheduling the feeding steps to arrive just before the constraint needs them and the following steps to start right after. The constraint's schedule becomes the pace everything else is timed against.
Frequently Asked Questions
Ready to Transform Your Production Scheduling?
User Solutions has been helping manufacturers optimize their production schedules for over 35 years. One-time license, 5-day implementation.

User Solutions Team
Manufacturing Software Experts
User Solutions has been developing production planning and scheduling software for manufacturers since 1991. Our team combines 35+ years of manufacturing software expertise with deep industry knowledge to help factories optimize their operations.
Share this article
Related Articles
Plan on Lead Time vs Require on Hand: the Material Availability Choice
A product's Material Availability setting decides whether a job without covering supply is planned on an assumption or reported as a shortage. Here is what each choice does to the plan.
Why a Missing Tool Stops the Job Instead of Scheduling Anyway
A step whose tool is inactive, unknown, or at zero quantity fails the run immediately and names the tool. Why that refusal is a feature, not a limitation.
Why a Tool Is Held for Setup and Run Alike
An operator can tend two machines at once. A fixture cannot be half mounted. Why tools book at the full rate for every hour, with no attention fraction and no escape.
