Skip to content Skip to footer

Capacity Planning That Survives Reality

Replace wishful thinking with arrival/throughput trends and variability. Here’s a no-theory-bloat playbook you can run this week to set a simple capacity cap and boost predictability—without spreadsheets breeding in the wild.


The 20% that moves 80% of results

  1. Match intake to historical throughput.
  2. Cap WIP by target cycle time (via Little’s Law).
  3. Price variability into plans (use CoV and Kingman’s intuition).
  4. Plan to a capacity “hard stop,” not vibes.
  5. Track predictability with 85th/95th-percentile cycle time and hit rate.

That’s it. Do these and the rest will mostly take care of itself. igorlakic.com+2Wikipedia+2


Step 1 — Read what reality already told you

Two trendlines matter most:

  • Arrival rate (demand): how many items enter the workflow per week.
  • Throughput (delivery): how many items you finish per week.

If arrival > throughput over multiple weeks, your queues (and lead times) will grow. This is not a moral failing; it’s math. Keep intake at or below throughput until flow stabilizes. For a quick primer on reading arrival/throughput on a CFD, this explainer is solid. getnave.com

Little’s Law (L = λW) connects WIP (L), throughput (λ), and lead/cycle time (W). If you want shorter lead time, lower WIP or increase throughput—there’s no other door. This is one of the most general results in queueing; you can bank on it. Wikipedia+1


Step 2 — Set a simple capacity cap (the “hard stop”)

Stop overcommitting by default. Pick one cadence (weekly or per Sprint) and compute:

Your capacity cap (items/week) =
floor( median_throughput_8w × focus_factor × availability_factor )

  • median_throughput_8w: reality’s best predictor (resists outliers).
  • focus_factor: typically 0.8–0.9 to reflect interruptions/support.
  • availability_factor: e.g., 0.9 if you have one day of ceremonies/meetings.

Example: median throughput = 12 items/week. Focus 0.85. Availability 0.9.
Cap = floor(12 × 0.85 × 0.9) = 9 items/week.

No plan may exceed 9 new starts this week. Anything beyond waits in the backlog.

Now translate to WIP (the in-progress cap) using Little’s Law:

WIP cap = target_throughput × target_cycle_time.
If you want a median cycle time of 5 days and throughput is 9/week (~1.8/day) → WIP ≈ 9. That’s your explicit WIP limit across the board (or per critical column if you prefer). WIP limits increase focus and reveal blockers—fast. Atlassian

If you want a deeper walkthrough of Little’s Law for teams, this internal guide is a handy primer:
From Busy to Predictable: Little’s Law in Scrum Teams. igorlakic.com


Step 3 — Price variability into your promises

Throughput and cycle time aren’t constants; they wiggle. A simple way to “price” that wiggle:

  1. Compute CoV (coefficient of variation) for cycle time over the last 8–12 weeks:
    CoV = standard_deviation / mean.
  2. Use a simple calibration:
  • CoV ≤ 0.4: Stable. Plan near the capacity cap.
  • 0.4 < CoV ≤ 0.8: Moderate variability. Plan at 70–85% of the cap.
  • CoV > 0.8: Spiky. Plan at 50–70% and attack sources of variation.

Why this matters: Kingman’s formula says waiting time explodes as utilization approaches 100% and variability rises. You don’t need the algebra to benefit; just avoid stuffing the system. Wikipedia+2allaboutlean.com+2


Step 4 — Make the capacity cap visible in planning

When you plan the week or Sprint:

  • Start with completed-per-week trend (last 8–12 weeks).
  • Announce the hard cap (e.g., “We can start at most 9 items this week”).
  • Sequence to the cap, not beyond it. Excess waits in a ready queue.
  • Protect WIP limits on the board. When a column hits the limit, stop starting and swarm.

Adding Kanban practices inside Scrum is a clean path to this discipline—no need to change roles or events:
Kanban for Scrum Teams: Stabilize Flow Without Changing Scrum and Kanban Coaching both walk the setup. igorlakic.com+1


Step 5 — Track predictability gains like an investor

Predictability is not a feeling; it’s a tighter distribution and a higher promise-kept rate.

Measure weekly:

  • Cycle time percentiles (85th/95th). Aim for the band to narrow.
  • Hit rate: % of items delivered within the promised service level (e.g., “85% of items ≤ 8 days”).
  • WIP trend vs throughput trend: WIP flat/declining while throughput holds = healthy.

What moves those numbers fastest?

  • Lower WIP (start less, finish more).
  • Resolve blockers early (aging WIP review daily).
  • Decouple large items into thinner, independently shippable slices.
  • Stabilize arrival (weekly triage, fewer “drive-by” starts).

Good background on flow metrics: Agile Alliance’s experience report and Atlassian’s WIP material. agilealliance.org+1


A compact example (numbers you can steal)

  • Last 8 weeks: throughput per week = 10, 12, 11, 13, 9, 12, 10, 13 → median = 11.
  • Focus = 0.85, availability = 0.9capacity cap = floor(11 × 0.85 × 0.9) = 8.
  • Target median cycle time = 6 days; throughput ≈ 8/week (~1.6/day)WIP cap ≈ 10.

Promise policy:

  • We commit publicly to “85% of items ≤ 8 working days”.
  • For the next Sprint/week, we start at most 8 items and keep WIP ≤ 10.
  • If CoV of cycle time is 0.7, we plan at 80% of cap → 6 starts until variability drops.

Expected effect: narrower cycle-time band (e.g., 95th from 22 → 15 days) and a higher hit rate (e.g., from 62% → 85%) within 3–4 weeks without adding people—just aligning to reality and reducing over-utilization. The direction of travel is exactly what Kingman/Little would predict when you lower WIP and avoid saturating the system. Wikipedia+1


Common gotchas (and how to dodge them)

  • Averages only: Always inspect percentiles; averages hide tail risk.
  • Column-only WIP caps: Great start, but also hold a system-level WIP cap to prevent local optima.
  • CFD obsession: CFDs are great for trends, not forecasts. Use them to explain throughput changes, not to crystal-ball the future. Medium
  • “We planned 20, did 12” déjà vu: You planned to hope, not to history. Go back to Step 2.

Where to go deeper (practical, not academic)


Your 60-minute rollout

  1. Pull 8–12 weeks of arrivals and throughput + cycle time per item.
  2. Compute median throughput; set the capacity cap and system WIP cap.
  3. Publish the promise policy (SLE + hit-rate target).
  4. Enforce caps in planning and on the board (swarm when at limits).
  5. Review weekly: percentiles, hit rate, WIP vs throughput. Tune caps as variability shrinks.

This isn’t a grand transformation. It’s installing seatbelts. After a few weeks, the team stops white-knuckling delivery dates—and stakeholders stop playing calendar roulette.

Want help setting this up with your data?

Ping me here: Contact or browse Agile Coaching for ways to run a 4-week pilot and make the caps stick. igorlakic.com+1