Topic 06 · Isn’t It Obvious?
Full of the wrong work.
In the retail book, the shops are packed with what does not sell and empty of what does. Each shop forecasts and orders alone. The fix is not a better forecast. Stop pushing. Replenish from what was actually consumed. Software does the same thing with sprints, release trains, and a private copy of every shared library.
After Necessary. Six sections. The rope from Flow is this pull.
01
Push or pull
Push releases work because a plan said so. Pull releases it because the next stage can take it, or because something was actually used.
Push
Pull
Build
6
waiting
Review
8
waiting
Deploy
3
waiting
The sprint was filled on Monday. Each stage received work whether or not it could consume it. Review is holding 8. That is the stockout of attention, and the excess of half-done work.
02
Replenish from use
A shop gets more of a product when customers bought it. A feature reaches more people when the small slice was healthy. Not on a calendar.
- Exposed
- 100%
- Errors
- Everywhere
- Unused feature
- The whole batch
The release train pushed the feature because the date arrived. Support and monitoring were not ready. The previous feature is still unused. That is stock of the wrong product.
Flags
Ready is not the same as exposed. Expand from usage and errors.
Intake
Pull the next item when review, the specialist, or deploy has capacity. Do not tip a whole sprint in on Monday.
Libraries
Downstream adopts when it has room, not because a calendar said the upgrade is due.
Environments
Provision from actual use. Do not keep a permanent copy just in case.
03
Hold it once
Most of the stock at the centre, a little at the edge. Variability is absorbed where it is cheapest. The same move applies to a platform, a library, or a scarce review.
Payments
5
own fork, own wrapper
Search
5
own fork, own wrapper
Mobile
5
own fork, own wrapper
Billing
5
own fork, own wrapper
20 near-copies. Each team forecast its own need “to be safe.” The system has more inventory and still has stockouts, because the scarce expertise was fragmented.
04
The right pile
Zero inventory is not the goal. The minimum, in the place that protects Throughput.
In front of the constraint
A buffer of high-value, fully-kitted work, ready for review or deploy.
The shared capability
A platform, a library, an environment, available when a team pulls it. Not a hoard in every repo.
In front of users
Exposed when there is demand or capacity to absorb it. Not because the roadmap date arrived.
05
Where software pushes
These are the shop ordering on a guess. The pull version is a signal from the next stage, or from what was actually used.
A full sprint on Monday
Work is released because the plan said so, not because review can take it.
A release train
A large batch merges even when users, support, and monitoring cannot absorb it.
A private fork
Every team keeps its own copy of a shared dependency, to be safe.
A date in production
The feature goes live whether or not the last one was adopted.
A permanent environment each
Copies of data and staging sit forever, instead of being provisioned from use.
- Limit WIP. Pull the next item only when the constraint has capacity.
- Separate “code available” from “users exposed.” Expand from a signal.
- Shared changes stay small. Consuming teams pull them.
- Scarce review and shared components live once. Teams pull.
- Environments and data replenish from use.
- Measure whether the right work was at the constraint, and whether features were adopted. Not how much was pushed.
06
One place you push
Pick a single release of work. Sketch the pull. Try it for one cycle.
- Where you currently push: sprint start, a train, an upgrade, a standing environment.
- The signal from downstream capacity or from actual consumption.
- One cycle where the next item starts or promotes only when the next stage is ready.
- What happened to WIP, lead time, and whether the right work was there when it was needed.
This week
0/4
Cheat sheet
- Push
- Released on a forecast. The wrong work piles up. The right work is missing.
- Pull
- Released when the next stage has capacity, or when something was actually consumed.
- Replenish
- Often, from a more central point, using real use. Not each edge guessing.
- Aggregate
- Hold the shared thing once. Let teams pull. Total inventory falls. Availability rises.
- Not zero
- The goal is the right work in the right place. A buffer in front of the constraint is supposed to be there.
- In software
- WIP limits, flags that separate ready from exposed, a platform people pull, code ready that is not yet users exposed.
Check yourself
5 questions. No timer.