What to do when limits are hit, and how to use violations constructively.
When a WIP limit is reached, you have three options:
All three are valid depending on context. The key is that the violation is visible and conscious, not invisible and unconscious.
A violated limit is a signal: "Something unusual is happening. Pay attention."
If you never hit your WIP limits, they're too high. If you're constantly violating them, they're either too low or something systemic is wrong.
Step 1: Recognize the signal The limit is hit. This is the system working, not breaking.
Step 2: Ask why
Step 3: Choose a response
Step 4: Don't automatically violate The temptation is to say "but this is important!" and start anyway. Resist. The limits exist to protect flow.
Sometimes violating the limit is the right call. Examples:
Genuine emergency: Production is down, and we're at WIP limit for Dev. Yes, start the fix anyway.
Blocking dependency: The blocked item is waiting on external input. Starting something else is better than sitting idle.
Learning: New team member needs to pair, and that temporarily exceeds limit.
But make it visible:
If you're violating limits frequently, something is wrong. Either:
Violations are data. Track them to improve:
What to capture:
Patterns to look for:
Retro discussion: "We violated the Dev WIP limit 4 times this sprint. Three were because Code Review was backed up. Do we need to increase Review capacity?"
This turns violations into improvement opportunities instead of guilt.
The goal isn't zero violations. The goal is conscious violations that lead to learning. Unconscious violations (limits ignored, nobody notices) are the real problem.