WIP Limits Guide | Reduce Cycle Time, Boost Flow
Set and enforce WIP limits to cut cycle time by 50%. Learn initial calculations, per-column strategies, and adjustment metrics for optimal flow in GitScrum.
7 min read
Work-in-progress limits are the engine of flow optimization in Kanban. When properly implemented, WIP limits reduce context switching, reveal bottlenecks, and help teams focus on finishing work rather than starting new tasks. GitScrum provides configurable WIP limits with visual enforcement.
WIP Limit Fundamentals
Why WIP Limits Work
IMPACT OF WIP LIMITS:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β WITHOUT WIP LIMITS: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β IN PROGRESS: 12 items (no limit) ββ
β β ββ
β β SYMPTOMS: ββ
β β β’ Everything started, nothing finished ββ
β β β’ High context switching ββ
β β β’ Unpredictable delivery ββ
β β β’ Bottlenecks hidden ββ
β β β’ Long cycle times ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β WITH WIP LIMITS: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β IN PROGRESS: 4 items (limit: 5) ββ
β β ββ
β β BENEFITS: ββ
β β β’ Focus on finishing ββ
β β β’ Reduced context switching ββ
β β β’ Bottlenecks visible immediately ββ
β β β’ Predictable flow ββ
β β β’ Shorter cycle times ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Little's Law
LITTLE'S LAW EXPLAINED:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β FORMULA: β
β β
β Cycle Time = WIP / Throughput β
β β
β EXAMPLE: β
β Team completes 10 items/week (throughput) β
β β
β Scenario A: WIP = 20 β
β Cycle Time = 20 / 10 = 2 weeks β
β β
β Scenario B: WIP = 10 β
β Cycle Time = 10 / 10 = 1 week β
β β
β INSIGHT: β
β Lower WIP = Shorter cycle time β
β (assuming same throughput) β
β β
β This is why WIP limits accelerate delivery β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Setting WIP Limits
Initial Calculation
WIP LIMIT FORMULAS:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β ACTIVE WORK COLUMNS (In Progress, Development): β
β β
β Formula: Number of team members Γ 1 to 1.5 β
β β
β Example: 5 developers β
β Conservative: 5 Γ 1 = 5 β
β Buffer: 5 Γ 1.5 = 7-8 β
β β
β REVIEW COLUMNS (Code Review): β
β β
β Formula: Team size Γ 0.5 to 1 β
β β
β Example: 5 developers β
β WIP = 5 Γ 0.5 = 2-3 items β
β (Each person reviews while doing other work) β
β β
β QUEUE COLUMNS (Ready, Waiting): β
β β
β Formula: Team throughput Γ 1-2 sprints β
β β
β Example: Team does 15 items/sprint β
β Ready queue: 15-30 items β
β β
β SYSTEM WIP (Total): β
β β
β Formula: Team size Γ 2-3 β
β Example: 5 developers Γ 2.5 = 12-15 total items β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Per-Column Strategy
TYPICAL DEVELOPMENT BOARD:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β TEAM: 5 developers, 1 QA β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β COLUMN β WIP β RATIONALE β
βββββββββββββββββΌβββββββββΌββββββββββββββββββββββββββββββββββββ
β Backlog β None β Prioritized queue β
β Ready β 8 β 1-2 sprints of refined work β
β In Progress β 6 β 5 devs Γ 1.2 (slight buffer) β
β Code Review β 3 β Encourage fast reviews β
β QA Testing β 3 β QA capacity + buffer β
β Staging β 2 β Limit unreleased work β
β Done β None β Completed work β
β β
β TOTAL SYSTEM WIP: ~22 items β
β (Backlog and Done excluded from system WIP) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Enforcement and Response
Visual Indicators
WIP LIMIT VISUALIZATION:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β STATUS INDICATORS: β
β β
β UNDER LIMIT (Green): β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β IN PROGRESS [3/5] β
β β βββββββββββββββββββββββββββββββββββββββββ 60% β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β AT LIMIT (Yellow/Warning): β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β IN PROGRESS [5/5] β οΈ β
β β ββββββββββββββββββββββββββββββββββββββββββ 100% β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β OVER LIMIT (Red/Alert): β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β IN PROGRESS [7/5] β β
β β ββββββββββββββββββββββββββββββββββββββββββββ 140% β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β BOARD VIEW: β
β Column header color changes based on status β
β Team can see at a glance where problems are β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
When Limits Are Reached
WIP LIMIT REACHED - ACTION GUIDE:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β IMMEDIATE ACTIONS: β
β β
β 1. FINISH BEFORE STARTING β
β Don't pull new work until something completes β
β β
β 2. HELP UNBLOCK β
β Swarm on blocked items β
β Pair to speed completion β
β β
β 3. LOOK DOWNSTREAM β
β Clear items waiting for next stage β
β Is the bottleneck actually later? β
β β
β 4. IDENTIFY ROOT CAUSE β
β Why is this column backing up? β
β Skill gap? Waiting on external? Too complex? β
β β
β DON'T: β
β β Automatically raise the limit β
β β Bypass with "exceptions" β
β β Move items backward β
β β Ignore the limit β
β β
β EXCEPTION: True emergencies may exceed limit β
β but must be discussed and tracked β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Optimization
Adjusting Limits
WHEN TO ADJUST WIP LIMITS:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β LOWER THE LIMIT IF: β
β β’ Cycle time is increasing β
β β’ Items sit idle waiting for attention β
β β’ Context switching complaints β
β β’ Quality issues from rushed multitasking β
β β
β RAISE THE LIMIT IF: β
β β’ Team frequently idle, waiting for work β
β β’ Column always empty β
β β’ Blocking legitimate work too often β
β β’ Team composition changed (more people) β
β β
β ADJUSTMENT PROCESS: β
β β
β 1. Observe current state for 2+ weeks β
β 2. Discuss in retrospective β
β 3. Agree on adjustment (+/- 1 typically) β
β 4. Try for 2 weeks β
β 5. Evaluate and iterate β
β β
β NEVER: Make large jumps (e.g., 5 β 10) β
β Small incremental changes reveal optimal limits β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Measuring Effectiveness
WIP LIMIT METRICS:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β CYCLE TIME TREND: β
β Should decrease or stabilize as limits mature β
β β
β Before limits: ββββββββββββββββββββββββββββ 15 days β
β Week 4: ββββββββββββββββββββββββββββ 12 days β
β Week 8: ββββββββββββββββββββββββββββ 8 days β
β Week 12: ββββββββββββββββββββββββββββ 7 days β β
β β
β WIP LIMIT VIOLATIONS: β
β Track how often limits are exceeded β
β β
β Week 1: ββββββββ 8 violations (expected during adoption) β
β Week 4: ββββββββ 3 violations β
β Week 8: ββββββββ 1 violation β
β Week 12: ββββββββ 0 violations β β
β β
β THROUGHPUT: β
β Should remain stable or improve β
β If dropping significantly, limits may be too tight β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ