Constraint

0/6

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

PlanBuildReviewDeploy

Pull

Deploy has roomReviewBuild
Push releases on a forecast, into every stage at once. Pull releases when the next stage signals that it can take the work.
  • 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.

  1. Limit WIP. Pull the next item only when the constraint has capacity.
  2. Separate “code available” from “users exposed.” Expand from a signal.
  3. Shared changes stay small. Consuming teams pull them.
  4. Scarce review and shared components live once. Teams pull.
  5. Environments and data replenish from use.
  6. 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.

  1. Where you currently push: sprint start, a train, an upgrade, a standing environment.
  2. The signal from downstream capacity or from actual consumption.
  3. One cycle where the next item starts or promotes only when the next stage is ready.
  4. 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.

1Pull, in a delivery system, means…
2A feature flag used as replenishment…
3Four teams each keeping a private wrapper of one library…
4The point of less inventory is…
5Filling the sprint on Monday is usually…