← Back to all heuristics

Limit Work in Progress

WIP is invisible debt on your flow.

Flow

Heuristic

Limit WIP to expose bottlenecks and finish work.

Hook

Starting more feels like progress. Finishing is progress.

Problem

When too much work is in flight, attention fractures and lead time grows. Items wait in queues, handoffs multiply, and important work finishes later than it should.

Why it matters

WIP is inventory. Inventory creates waiting time, which stretches lead time and hides true bottlenecks. Limiting WIP forces focus and reveals where flow is actually constrained.

Signals you are here

  • Dozens of items are open but few are completed
  • People are context switching across many tasks
  • Reviews and QA queues keep growing
  • Lead time increases even as utilization is high

Anti-patterns

  • Keeping everyone busy instead of finishing work
  • Starting new work before finishing current work
  • No visible WIP limits on the board
  • Measuring progress by items started

Try this

  • Set explicit WIP limits per workflow stage
  • Swarm to finish blocked work before starting new items
  • Use pull-based intake with clear queues
  • Make blocked reasons visible and track time-in-state
  • Define done with shared acceptance criteria

Example

A team caps active PRs at two per developer. Reviews get faster, context switching drops, and throughput increases because items actually finish.

Reflection prompt

Count how many items are in progress right now. What would you stop to finish the most valuable ones first?

More like this

Heuristic

Optimize for Flow, Not Silos

If downstream is blocked, upstream speed is just inventory.

Flow

Heuristic

Avoid Local Optimization

Optimize the system, not the silo.

Flow

Heuristic

Empower Autonomous Teams

Autonomy with guardrails.

CollaborationFlow

Heuristic

Every Output Is Someone Else's Input

Handoff quality sets the pace of flow.

FlowCollaboration

Heuristic

Short Feedback Loops

Fast feedback beats perfect plans.

FlowLearning

Heuristic

Work in Small Batches

Small batches make failure cheap and learning fast.

FlowAutomationDelivery