Kanban for Developers: Sprint Planning, Bug Triage, and Releases
Most dev teams do not need a workflow engine. They need to know what to start next, what is stuck, and what is safe to ship.
This guide gives you three boards that cover almost everything a small team does week to week: a sprint flow, a bug triage board, and a release checklist. Each one takes about five minutes to set up. You can follow along on a kanban board without registration and only create an account once a board proves itself.
A note on scope: this is deliberately not a Jira replacement for a 60-person org with compliance requirements. It is what works for one to eight developers who want to stop administering tools and get back to building.
Why three boards instead of one
The instinct is to put everything on a single board with a lot of columns. It fails for a specific reason: bugs, features, and releases move at different speeds.
A feature card lives for days. A bug card is often decided in minutes — reproduce it or close it. A release step is a checklist item that is either done or not. Force all three onto one board and you get a column layout that serves none of them, plus standing arguments about what "In Progress" means.
Separate boards keep each rhythm intact. On the free plan you get three boards, which is exactly the number this setup needs. If you later want a board per client or per service, that is what Pro (€6/month or €60/year) unlocks with unlimited boards.
Template 1: Sprint flow
This is your main board — the one open during standup.
Create a board called Sprint Flow with four columns:
Ready → In Progress → In Review → Done
That is enough. It maps cleanly to how code actually moves, and every extra column you add is a new place for work to sit and rot.
Card size rule: if a card cannot reach Done in one to two days, it is too big. Split it.Too big: "Implement notifications"
Split into:
- "Notification settings UI"
- "Server event emitted on comment"
- "Notification list screen"
Small cards lower risk, make progress visible, and give you a board that is genuinely satisfying to move — which matters more than people admit.
Name the sprint and pin the outcomes
Give the sprint a start and an end in the board title:
Sprint 2026-07-28 to 2026-08-11Sprint W31 (Jul 28 – Aug 4)
Then put one card at the top of Ready called Sprint Outcomes, holding one to three bullets:
- Ship client onboarding page
- Cut support tickets caused by pricing confusion
- Publish one case study
This card is your anchor. When work appears mid-sprint — and it will — you ask one question: does this serve an outcome? If not, it goes to the backlog. That is scope control without adding a meeting.
WIP limits that hold
WIP limits sound bureaucratic until you watch a review queue quietly stall a sprint. Keep them simple:
- In Progress: max 2 cards per person
- In Review: max 3 cards total, for the whole team
The In Review limit is the one that matters. Review queues are the hidden bottleneck on almost every small team: developers finish something, it needs eyes, nobody has eyes, so they start something new. Now three things are half-done.
When In Review hits the limit, the next action is not "start another card." It is "go review something." You do not need automation for this. You need the board visible and the team to agree once.
It feels strict for about a week. Then Done starts happening more often.
Using the board at standup
Ask one question per column, in order:
- Ready: what should we start next?
- In Progress: what are we finishing today?
- In Review: what needs eyes?
Three questions, no status theatre. If someone is blocked, prefix the card title with BLOCKED: rather than adding a Blocked column — a column invites work to settle there, a prefix nags.
Template 2: Bug triage
Bug triage is where teams lose the most time, usually because they try to manage every issue rather than decide it.
Create a board called Bug Triage:
Inbox → Needs Repro → Ready to Fix → Fixing → Done
The important split is between captured and confirmed. Most bug chaos comes from unconfirmed reports sitting next to real work.
Column meanings, kept tight:- Inbox — everything lands here, including vague reports. No arguing at this stage.
- Needs Repro — this is where you ask "can we reproduce it?" and "is it worth fixing now?"
- Ready to Fix — confirmed, and small enough that you would actually pick it up this week.
- Fixing — active attention only. Not touching it today? Move it back.
- Done — fixed, shipped, or closed as won't-fix.
Write cards someone can act on
- Title: the symptom, not your guess at the cause
- Body: steps to reproduce, expected vs actual, environment
Good: "Checkout page, spinner never stops on slow 3G"
Good: "iOS Safari, navbar covers modal close button"
Bad: "Checkout is broken"
For priority, skip custom fields and use a title prefix. It scans faster and works in any tool:
[P0] Checkout crash on iOS
[P1][API] 500 on /billing/portal
[P2][UI] Button misaligned in dark mode
You get filtering with your eyes and no feature bloat.
The ten-minute triage pass
Once a day, or three times a week:
- Anything unclear → Needs Repro
- Anything clear and real → Ready to Fix
- Anything not worth fixing now → close it
You are sorting, not solving. Speed is the point.
One rule that keeps this honest: if a bug sits in Needs Repro for more than a week, it is missing information. Ask for details or close it. A stale bug card is a silent tax on everyone's attention.Don't let bugs eat the sprint
Bugs feel urgent, so they expand to fill available time. Set a budget instead of arguing case by case: one to two bug fixes per developer per week, and only pull from Ready to Fix when Fixing is under its limit.
The board makes the tradeoff visible, so the team can decide calmly instead of reacting.
Template 3: Release checklist
Releases stress small teams less because the work is hard and more because forgetting one step can cause real damage.
Create a board called Release Checklist:
To Verify → Ready → Released
One card per release step, short and specific:
- Run smoke test on key flows
- Confirm analytics events are firing
- Check error rates for 30 minutes post-deploy
- Write a short release note for stakeholders
Work cards left to right as you complete them. When the release ships, move the whole set to Released, then drag them back to To Verify for the next one. The board becomes a reusable ritual rather than a document nobody opens.
If you are on Pro, board history is genuinely useful here — it answers "what did we ship, and when did we mark it ready?" without archaeology in chat logs. On the free plan the checklist works exactly the same; you just do not get the audit trail.
When you actually need Jira
Being honest about this makes the rest of the advice more useful.
Reach for a heavier tool when you have multiple teams with dependencies between them, compliance requirements that demand an audit trail, or a product org large enough that roadmap planning is a distinct job. At that point the overhead buys you something real.
Below that line — and most teams are below it — the overhead is pure cost. You spend Monday grooming a backlog nobody reads and Friday updating tickets to reflect work already shipped.
If you want the longer comparison, see EasyKanban vs Trello and why minimalist tools work better.
Key takeaways
- Three boards, not one. Bugs, features, and releases move at different speeds and need different columns.
- Four columns is usually enough for sprint flow. Use a
BLOCKED:title prefix instead of a Blocked column. - Limit In Review, not just In Progress. The review queue is the bottleneck nobody instruments.
- Split anything that cannot finish in two days. Card size is the single biggest predictor of a board that feels stuck.
- Triage sorts, it does not solve. Ten minutes, three destinations, done.
- Give bugs a budget so they stop silently consuming feature time.
