Bug rate: read the ratio, not the bar
The Bug Rate widget plots newly-opened bugs against everything else your team opened that week, side by side, bar by bar. The height tells you volume. The ratio between the two bars tells you whether you're building or firefighting — and that's the number that actually matters.
Six weeks of bugs (rose) vs other work (grey), opened counts.
What it measures, and where the data comes from
Every issue opened in the window gets bucketed by week and split two ways: bug, or not-bug. No severity, no priority weighting — just a plain count of "did this open as a bug" against "did this open as anything else."
- Jira — uses the native
issue_typefield. Anything typedBugcounts as a bug;Story,Task,Epic, and the rest count as other. - Azure DevOps — same idea, off the work item's
work_item_type. ABugwork item counts as a bug;User Story,Task,Featureland in other. - GitHub — GitHub issues have no native type field, so this one's a label heuristic: any issue carrying a label containing "bug" or "defect" counts as a bug. If your repos don't label bugs consistently, this leg will undercount — that's a labeling-hygiene problem worth fixing on its own, not a widget bug.
How to read it
Don't eyeball the rose bar in isolation — a tall bug bar in a week where everyone shipped a ton of other work is normal. Eyeball the gap between the two bars instead. A wide gap (grey towering over rose) is a team building. A narrow gap, or rose catching up to grey, is a team defending what it already shipped.
Watch for two shapes specifically: a step change right after a release date — bugs jump and don't come back down — and a slow convergence where the two bars creep toward each other over a month or two. The step change tells you what happened. The convergence tells you something structural is wrong.
What it tells you over time
One week's ratio is noise. Four to six weeks of ratio is a story. If the rose bar's share of the total is climbing release over release, your team isn't getting less careful — your codebase is getting harder to change without breaking something. That's a design and test-coverage problem, and it compounds: today's bug count is next quarter's velocity tax.
Example situations
1. A release shipped with quality debt
Launch at week 4 — bugs jump and stay up.
What you're seeing: three quiet weeks, then a launch, then the rose bar roughly triples and never drops back to baseline. That's not a bad week — that's the launch's real cost showing up two weeks late.
How to react: don't quietly reassign people to "just fix bugs" and pretend it's not a plan. Name it: this sprint is a stabilisation sprint, on purpose, because of what shipped. Check it against Rework Rate — if churn on the same files is also up, you know exactly which corner got cut.
2. Bug bars rivaling the rest, week after week
No launch, no incident — just a flat, tight ratio for six weeks straight.
What you're seeing: no spike, no story — just rose sitting almost as tall as grey, every single week. There's no single villain here. This is steady-state. The team has quietly become a bug-fixing team that also does some feature work, instead of the other way round.
How to react: this doesn't get solved with a sprint of heroics; it gets solved by refusing to load the sprint the same way next time. Look at Ticket Coverage Rate and Investment Allocation alongside this one — if untracked hotfixes are sneaking in outside planning, that's your leak.
Frequently asked
- What is bug rate and how is it calculated?
- Bug Rate plots newly-opened bugs against everything else opened in the same week, bar by bar. The important figure is the ratio between the two bars, not the height of either.
- Why read the ratio instead of the number of bugs?
- Because raw bug counts scale with how much you shipped. A busy week produces more bugs in absolute terms without the team getting worse. The ratio tells you whether you are building or firefighting.
- What does a rising bug ratio actually mean?
- That a growing share of intake is corrective rather than new work. Sustained over several weeks it usually points at quality debt in a specific area rather than a general decline in care.
Related widgets
- Rework Rate — corroborates a rising bug trend with churn on the code itself.
- Ticket Coverage Rate — catches hotfixes and firefighting that never touched planning.
- DORA Metrics — the change-failure-rate proxy leans on the same signal, at a coarser grain.
- Back to the widget reference.
Last updated