Flow and Constraints
Read a system by its flow: name the goal, find the one constraint that sets the pace, and subordinate everything else to it instead of optimizing parts in isolation.
- Depth
- Practical
- Steps
- 9 existing graph entries
- 1
Optimize the Whole
The performance of a system comes from how its parts work together, not from each part maximizing its own output. Optimizing a subsystem in isolation usually degrades the whole; the goal is fast, smooth flow through the entire system. Four Fundamental Team Types and Team Inter...
Begin with the lens: the output of a system comes from how its parts work together, not from each part maximizing its own.
Related within this path
- References: Batch Size
- References: Bottlenecks
- References: Define the Goal
- References: Dependent Events and Variation
- References: Throughput
- 2
Define the Goal
Before improving a system you must state its true goal and the few measurements that show whether you are moving toward it. Any action that does not advance the goal is not productivity, however busy it looks. Without an explicit goal and the right measures, people optimize pr...
Name the goal of the whole, because flow can only be judged against what the system exists to produce.
Related within this path
- References: Optimize the Whole
- Related To: Theory of Constraints
- Related To: Throughput
- 3
Throughput
The rate at which a system achieves its goal. In The Goal it is the rate at which an organization generates money through sales, measured at the point of delivered value, not the rate at which any single part produces output. Local output and utilization can rise while through...
Measure the system by what it actually delivers end to end, not by how busy each part looks.
Related within this path
- References: Optimize the Whole
- Related To: Batch Size
- Related To: Bottlenecks
- Related To: Define the Goal
- Related To: Theory of Constraints
- 4
Bottlenecks
The resource whose capacity is less than the demand placed on it. A bottleneck, the constraint, sets the maximum throughput of the entire system: everything downstream waits on it and everything upstream piles up before it. A system's output is governed by its single binding c...
Find the one constraint that sets the pace, since improving anything else is motion without gain.
Related within this path
- References: Optimize the Whole
- Related To: Dependent Events and Variation
- Related To: Drum-Buffer-Rope
- Related To: Theory of Constraints
- Related To: Throughput
- 5
Theory of Constraints
A method for improving any system by managing its constraint, through five focusing steps: identify the constraint, exploit it (get the most from it as it is), subordinate everything else to it, elevate it (add capacity), then repeat, without letting inertia leave an old const...
Subordinate the rest of the system to that constraint rather than optimizing locally.
Related within this path
- Related To: Bottlenecks
- Related To: Define the Goal
- Related To: Drum-Buffer-Rope
- Related To: Throughput
- 6
Dependent Events and Variation
When steps depend on one another and each varies statistically, delays accumulate and rarely cancel out, because a step can only catch up so far but can fall behind without limit. The combination of dependency and variation, not either alone, is what drags a system down. It ex...
See why local efficiency fails: dependent steps plus variation make fluctuations accumulate.
Related within this path
- References: Optimize the Whole
- Related To: Bottlenecks
- Related To: Drum-Buffer-Rope
- 7
Drum-Buffer-Rope
A scheduling approach built around the constraint. The constraint sets the pace (the drum); a time buffer of work in front of it protects it from upstream variation (the buffer); and material is released into the system only at the rate the constraint consumes it (the rope). I...
Schedule to the constraint, buffering it and releasing work at its pace.
Related within this path
- Related To: Bottlenecks
- Related To: Dependent Events and Variation
- Related To: Theory of Constraints
- 8
Batch Size
The amount of work moved through a process in one increment. Small batches mean changes are made, integrated, and released in frequent tiny pieces rather than large infrequent ones. Reducing batch size is a core lean principle: it shortens cycle time, smooths flow, and surface...
Shrink batches to shorten feedback and let flow smooth out.
Related within this path
- References: Optimize the Whole
- Related To: Throughput
- 9
Verification Over Authorship
The durable difficulty in software was never typing the code; it was deciding what the code should do and establishing that it actually does it. Producing an implementation is the cheap, fast part; specifying intent precisely and verifying correctness is the scarce, hard, last...
Close on the thesis: once flow is the goal, the scarce work is specifying what "done" means and verifying it, not pushing more output through faster.