Try free
7 min read Guide 677 of 877

Implementing WIP Limits

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         │
└─────────────────────────────────────────────────────────────┘