|$ curl https://forge-ai.dev/api/markdown?path=docs/architecture/kanban
$cat docs/kanban.md
updated Today·18-24 min read·published

Kanban

ArchitectureSDLCKanbanBeginner🎯Free Tools
Introduction

Kanban is a method for managing flow: visualize work, limit work in progress (WIP), manage flow, make policies explicit, implement feedback loops, and improve collaboratively. Unlike Scrum, Kanban does not prescribe sprints or fixed roles — it evolves your current process.

Architecture and platform teams, SRE queues, and product teams with interrupt-driven work often prefer Kanban because arrival rates are uneven and artificially forcing sprint batches adds wait time without adding learning.

info

Compare cadence-heavy Scrum when you need regular stakeholder demos and sprint goals.
Core Practices

Visualize the workflow

Columns reflect real states (Ready, In progress, Review, Verify, Done). Make blocked items visible. Include expedite lanes sparingly.

Limit WIP

Cap items per column or per person. WIP limits expose bottlenecks and force finishing over starting.

Manage flow

Watch queue times; swarm on blockers; balance demand vs capacity.

Make policies explicit

Entry/exit criteria per column; DoD; expedite policy; dependency handling.

Feedback loops

Daily standups focused on flow; replenishment meetings; delivery reviews; operations reviews.

Improve experimentally

Change one policy at a time; measure lead time impact.

WIP Limits — How and Why

Why limit WIP: multitasking destroys throughput and increases cycle time; unfinished work is inventory risk. How: start with current WIP, set a slightly lower limit, and tighten as flow stabilizes. When a column is full, help downstream or upstream instead of pulling more.

SymptomLikely causeKanban response
Many items 'almost done'No WIP limit / weak DoDTighten WIP; strengthen exit criteria
Review column foreverReviewer bottleneckLimit review WIP; pair; swarm
Constant expeditesPriority chaosExplicit expedite policy + capacity reserve
Long wait in ReadyOverstuffed backlogReplenish based on capacity, not hope

best practice

WIP limits that are never hit are decoration. Limits should occasionally force a conversation.
Flow Metrics
MetricMeaningUse
Lead timeRequest → DoneCustomer-facing expectation
Cycle timeStart → DoneProcess efficiency
ThroughputItems Done per timeCapacity planning
WIPItems in progressControl knob
Aging WIPHow long current items have agedPredict breaches early

Plot cycle time scatterplots and percentiles (p50/p85) rather than averages alone. Use aging WIP charts in standups to spot items going stale.

flow-policies.txt
TEXT
1Ready → In progress: AC clear, deps known, WIP allows pull
2In progress → Review: tests green locally, AC self-checked
3Review → Verify: approved diff, fitness checks pass
4Verify → Done: DoD met, observability OK, rolled forward/back plan noted
Kanban vs Scrum
AspectKanbanScrum
CadenceContinuous; optional meetingsFixed sprints + events
CommitmentService level expectationsSprint goal / forecast
RolesNone prescribedPO, SM, Developers
ChangeAdd anytime under WIP rulesMid-sprint change discouraged
Best forFlow/ops/mixed workProduct increments + demos

Teams can combine: Scrumban uses sprint cadence for planning/reviews with Kanban WIP limits inside the sprint. Choose deliberately — do not accumulate ceremonies from both without purpose.

When to Use Kanban
  • Interrupt-driven work (support, SRE, security response).
  • Platform teams serving many consumers with uneven demand.
  • Maintenance and modernization backlogs mixed with small features.
  • Teams graduating from Scrum who find sprint boundaries artificial.
  • Need to improve an existing process without a big-bang framework swap.
Requirement / constraintKanban implication
Unpredictable arrival ratePull system + WIP beats batch sprints
Need stakeholder demo cadenceAdd review meeting; or prefer Scrum
Regulatory release trainsKanban build + gated release packages
Many small ticketsClasses of service (standard/expedite/fixed date)
Architecture Link

Kanban surfaces architectural friction as flow problems: review bottlenecks from unclear ownership, long cycle times from tangled modules, expedites from missing feature flags. Use metrics as inputs to architecture enablers on the backlog.

📝

note

If cycle time is dominated by integration pain, invest in modularity and contract tests — not only more column policies.
Common Mistakes
  • Board mirrors org chart fantasy, not real workflow.
  • No WIP limits — Kanban wallpaper.
  • Measuring utilization instead of lead time.
  • Unlimited expedite lane that destroys flow.
  • Ignoring blocked items because they are 'someone else's problem'.
How to Introduce Kanban

Start from your current process (Kanban principle: start with what you do now):

  • Map the real workflow — include waiting states.
  • Put all WIP on the board — stop invisible work.
  • Set initial WIP limits slightly below current WIP.
  • Agree policies for expedite and blocked items.
  • Measure lead time for two weeks before major policy changes.
  • Run a weekly replenishment meeting with clear capacity.

Classes of service

Standard, expedite, fixed-date, intangible (debt). Allocate capacity percentages so expedites cannot consume the whole system.

Service level expectation

e.g., 85% of standard items Done within 5 days — use for forecasting, not blame.

🔥

pro tip

If stakeholders demand sprint demos, schedule a delivery review cadence without forcing artificial sprint batching of all work.
Example Board Policies
kanban-board.txt
TEXT
1Backlog | Ready(WIP5) | Dev(WIP3) | Review(WIP2) | Verify(WIP2) | Done
2
3Expedite: max 1 system-wide; requires named approver
4Blocked: orange tag + owner + age alert at 48h
5Bug vs Feature: same board; type label for metrics
Forecasting with Flow Data

Once you have cycle time history, forecast delivery with percentile-based ranges instead of single-point estimates. Monte Carlo simulation on past throughput is a common Kanban practice for "when will this epic finish?" answers.

Community

Get help on Slack, Discord or VIP

Stuck on a guide? Join the community and ask.