Kanban That Actually Helps Teams Ship
Simple visual flow, fewer surprises, and work that moves
Why Kanban Still Works When Teams Are Busy
We’ve all seen a board with colourful sticky notes that looked impressive and changed exactly nothing. That’s usually not kanban’s fault. It’s what happens when we treat the board like office wallpaper instead of a system for making work visible and manageable.
At its core, kanban is refreshingly plain. We visualise work, limit how much is in progress, and improve the flow over time. That’s it. No dramatic ceremonies, no mandatory reinvention of the week, and no requirement to rename every meeting after a Japanese term. We can start with the way our team already works and make it better, one bottleneck at a time.
What makes kanban stick is that it meets real teams where they are. If we’re running support, infrastructure, product delivery, or a mix of all three, work usually arrives unevenly. Priorities shift. Interruptions happen. Someone always says, “this will just take five minutes,” which is often the opening line of a tiny disaster. Kanban handles that reality better than systems that assume clean, predictable sprints.
The approach is also grounded in feedback and flow, which is why it’s used well beyond software teams. The Kanban Guide and the original ideas behind Lean manufacturing both point to the same truth: if we can’t see work clearly, we can’t improve it. And once we can see it, patterns show up fast.
That’s why kanban remains useful. It doesn’t promise magic. It gives us a way to spot where work gets stuck, where teams are overloaded, and where we’re fooling ourselves with too much “busy.”
Building A Board People Will Actually Use
A good kanban board should feel obvious in about ten seconds. If we need a tour guide, a glossary, and a small prayer to move a card, we’ve gone too far. The board exists to support decisions, not to become a part-time admin job.
We usually start with a simple flow that reflects reality: Backlog, Ready, In Progress, Review, Done. From there, we adjust based on how work actually moves. If security review always happens, give it a column. If deployment is separate from coding, show it. The trick is to map the real system, not the one we wish we had during quarterly planning.
Column design matters because it shapes behaviour. Broad columns hide queues. Too many columns create noise. The best boards reveal handoffs, waiting states, and shared ownership. If a card sits in Review for six days, that should be visible enough to make us mildly uncomfortable.
Card design matters too. A card should answer a few basic questions quickly: what is this, who owns it now, what class of service applies, and what’s blocking it if it’s stuck? Most tools support labels, due dates, and blocked states, but the value comes from using them consistently.
For teams using digital boards, Trello, Jira, and Azure DevOps Boards all work fine if we keep the workflow clean. Fancy automation is useful later. Early on, clarity beats cleverness every time.
A board people trust becomes a shared source of truth. A board people ignore becomes decorative guilt.
Work-In-Progress Limits Are Where The Magic Hides
If kanban has one habit that changes teams fastest, it’s limiting work in progress. This is the bit people resist because it feels restrictive right up until it starts solving half their problems.
Without WIP limits, we tend to start work with great enthusiasm and finish it with a vague hope that Future Us will sort things out. The result is a board full of movement but not much delivery. We’re busy, context-switching like circus performers, and somehow nothing gets done. Very modern. Very exhausting.
WIP limits force trade-offs into the open. If a column is full, we don’t pull new work. We finish something, unblock something, or swarm on a bottleneck. That simple rule exposes where capacity is thin and where priorities are pretending to be equal.
Here’s a practical example of a lightweight team policy:
board:
columns:
- name: Ready
wip_limit: 8
- name: In Progress
wip_limit: 4
- name: Review
wip_limit: 3
- name: Deploy
wip_limit: 2
policies:
pull_new_work_only_when_under_limit: true
blocked_items_marked_with: "red"
expedite_lane_max_items: 1
The exact numbers matter less than the discipline. We set limits based on team size, work type, and review capacity, then tune them over time. Guidance from Atlassian’s kanban overview and flow-based thinking from ProKanban.org both reinforce the same point: lower WIP usually improves throughput and predictability.
When the board starts telling us “stop starting, start finishing,” we know it’s doing its job.
Policies Matter More Than Fancy Tools
Most struggling kanban boards don’t have a tooling problem. They have a policy problem. We’ve all worked with a board where everyone nodded solemnly at the columns, then interpreted them in six different ways. One person thinks “In Progress” means coding started. Another thinks it includes waiting for feedback. Someone else uses “Done” to mean “done with my part,” which is how teams accidentally create archaeology.
Explicit policies fix that. They remove guesswork and make the workflow teachable. We don’t need a policy novel. We need clear agreements about when work enters a column, when it leaves, how urgent items are handled, and what happens when something is blocked.
A simple policy block might look like this:
## Team Kanban Policies
- "Ready" means the item is understood, sized lightly, and can be pulled without a meeting.
- "In Progress" means active work is happening now.
- No more than 4 items may be in "In Progress".
- "Review" includes peer review and required checks.
- Items blocked for more than 1 day must include a blocker note.
- Expedite items can bypass the queue, but only one may exist at a time.
- "Done" means deployed and verified.
That sort of clarity changes conversations. Instead of arguing about status in every stand-up, we can focus on flow and risk. It also makes onboarding easier because new teammates can see how the system behaves without relying on tribal lore.
If we want a useful reference, The Kanban Method and the Agile Alliance guide to kanban both stress making policies explicit. And yes, writing them down counts as work. Happily, it’s the kind that prevents much more annoying work later.
Measuring Flow Without Turning Into Spreadsheet Monks
Kanban works best when we measure flow, not just effort. Hours worked and tickets touched can make us feel productive while hiding the fact that delivery is slowing down. What we want instead are metrics that reveal whether work moves smoothly from request to completion.
The three measures we use most often are cycle time, throughput, and work in progress. Cycle time tells us how long an item takes once we start it. Throughput tells us how many items we finish over a given period. WIP tells us how much is currently in motion. Together, they paint a useful picture without requiring a degree in chart appreciation.
A cumulative flow diagram is especially handy because it shows queues forming over time. If the “Review” band keeps widening, we know where to look. If cycle time is climbing while throughput is flat, we’re probably carrying too much work or dealing with hidden blockers.
For teams that want a simple export format from their board data, even a CSV like this can be enough:
ticket_id,start_date,end_date,cycle_time_days,column_history
OPS-101,2026-06-01,2026-06-03,2,"Ready>In Progress>Review>Done"
OPS-102,2026-06-01,2026-06-07,6,"Ready>In Progress>Blocked>Review>Done"
OPS-103,2026-06-02,2026-06-04,2,"Ready>In Progress>Done"
From there, we can build lightweight reports or use built-in dashboards. Little’s Law is worth knowing because it links WIP, throughput, and cycle time in a way that feels almost suspiciously useful. For practical dashboards, ActionableAgile is also a solid reference.
The goal isn’t to admire charts. It’s to spot delays early, make better commitments, and avoid being surprised by our own system.
Kanban For Ops, Support, And Platform Teams
Kanban shines in operational environments because those teams rarely get neat, protected blocks of predictable work. Incidents arrive when they like. Service requests pile up unevenly. Planned improvement work gets interrupted by the digital equivalent of a smoke alarm. In other words, Tuesday happens.
For platform, SRE, and support teams, a kanban system helps us balance reactive and proactive work without pretending they’re the same thing. We can use swimlanes or classes of service to separate incidents, standard requests, and improvement tasks. That gives urgent work a path without letting every mildly loud request jump the queue.
A common pattern is to reserve explicit capacity. For example, we might allow one expedite item, dedicate part of the board to operational support, and protect a fixed amount of space for engineering improvements. That creates a visible conversation about trade-offs. If incidents rise, improvement work slows and everyone can see why. If the board is always flooded with urgent tickets, that’s not “just how it is.” It’s a signal to address demand or capacity.
This is where service-level expectations become useful too. We can define target response and completion times for different request types, then inspect whether the board supports them. Guidance from ITIL aligns nicely here, even if we leave the giant process binders on the shelf where they belong.
For teams dealing with cloud and service operations, Google’s SRE principles also complement kanban thinking well: make work visible, reduce toil, and protect time for reliability improvements.
Ops teams don’t need more ceremony. We need fewer invisible queues and better choices about what gets attention next.
Making Kanban A Habit Instead Of A Short-Lived Experiment
The hard part of kanban isn’t drawing columns. It’s building the habits that keep the board honest. If we only update it before a stakeholder meeting, we’re not running kanban. We’re staging a small theatre production.
Daily use should be light and practical. In stand-ups or flow reviews, we don’t ask, “what did everyone do yesterday?” We ask, “what’s blocked, what’s aging, and where is work piling up?” That shifts attention from personal activity to system health. It also lowers the chance that the loudest person in the room becomes our unofficial scheduling algorithm.
Regular reviews help too. Every couple of weeks, we should look at aging items, blocked reasons, WIP breaches, and cycle-time trends. Then we adjust one thing at a time. Maybe review capacity is too thin. Maybe cards are too large. Maybe our expedite lane is being used like a VIP entrance at a nightclub with no bouncer.
Leadership behaviour matters here more than tooling. If managers keep injecting work around the board, the system loses credibility. If teams are punished for surfacing bottlenecks, they’ll stop surfacing them. Kanban only works when visibility leads to better decisions rather than blame.
That’s why continuous improvement needs to stay small and steady. The Toyota improvement idea of kaizen fits well: improve the system through frequent, practical adjustments. We’re not waiting for a grand transformation. We’re tightening one loose bolt at a time.
When kanban becomes habit, the board stops being a tracker and starts being a guide. That’s when teams feel calmer, delivery gets more predictable, and fewer things vanish into the swamp between “started” and “finished.”




Four-item In Progress limits sound tidy, but I would want to see lead-time data before calling them magic. On our Kubernetes and GitHub Actions stack, a failed image scan can park three releases in Review without anyone actually being overloaded. Last winter, an expired registry token turned into a 3am incident because the card was marked “in progress” rather than blocked. Management wanted another engineer after that, while the budget only covered a new monitoring licence. We added a pipeline-failure lane and measured time waiting on CI separately, which helped more than lowering the limit. Otherwise a board can make a staffing problem look like poor disciple
WIP helps? Our 14 incidents say no, jira review stalled.
In Jira, are those incidents measuring WIP or review capacity?
Expedite lanes have a way of becoming the real roadmap. I spent a quarter arguing with leadership that three “urgent” customer requests were not a reason to freeze the planned checkout work, especially with one designer and two engineers. customers notice when the same promised fix keeps moving, not when our board has a neat red label.
…and the separate Deploy column is exactly what saves us during handoffs. We run a small Windows-heavy shop, so patch windows and vendor reboots are real states, not just delays… seeing them on the board keeps the morning call short. It does need someone to clear stale cards, though, otherwise the board lies politely.
“The board lies politely” is exactly how our support board behaves when I forget it exists. Small terminology point: I think “vendor reboot” is usually a maintenance window, unless the vendor has actually rebooted something, but I may be splitting hairs with a butter knife. At my office, our printer server stopped talking to the network after a switch update, and I put the ticket in Waiting while waiting for myself to remember who owned it. The next morning, someone asked whether it was resolved because the card had gone quiet, which was optimistic of them. A Deploy column would probably help us, although in my world “deploy” sometimes means plugging a cable back in and hoping nobody saw. I do like the idea of making those real waiting states visible, even if our board hasnt earned that level of honesty yet
“Decorative guilt” is painfully accurate. I thought a blocked card was just a card with a red tag, which tells you how qualified I am to run anything more complicated than the office kettle. During our internet outage in March, I kept moving the same support ticket between Waiting and In Progress because I didnt know who was supposed to own the vendor call. Small terminology point: Kanban is usually capitalised when you mean the method, though the outage did not care. We now write the blocker in the ticket, and the next person can at least see what I was panicking about. That has made me slightly less of a human status light
postgres migrations do not respect a WIP limit when one lock holds payroll hostage… show me p95 lock wait and deployment rollback rates first. At our 40-person firm, management calls that a headcount issue, though the budget says one DBA.
management bought another dashboard; my budget still has one lane: panic.
we had six dashboards during a CDN outage, none of them showed the frontend build queue… the homepage was back, but the hotfix took 28 minutes to compile, so shipping felt like watching paint dry under an alarm. another dashboard would have just given us a nicer place to panic, honestly.
“Done means deployed and verified” needs one database footnote. A migration is deployed when it runs, but it is not verified until the lock behaviour and replica lag look sane… Friday afternoon has taught me that distinction repeatedly. In a regulated shop our size, that observation period can outlast the application team’s definition of done.
Could you share a post on verified-done states without dashboard clutter?
Marking blocked items red sounds simple, but it has helped me ask for help sooner. On our Zendesk and Slack setup, I used to leave a customer issue in my queue while I waited for someone from billing. Last month a billing outage left twelve people unable to renew, and the red flag got the right person into the thread within minutes. We added a short blocker note and a calender reminder for the next check-in. It is much easier to explain a delay when the reason is visible. I would happily use that every day.
WIP limits wouldnt’ve saved our outage; i’ll try it after soccer.