The Bugs You Hear About
A bug tracker presents itself as a record of what is wrong with a system. Everything in it is real — these are genuine defects, reproduced and written down by people who encountered them. The trouble isn’t accuracy, it’s completeness, and specifically the shape of what’s missing. Every entry got there because somebody chose to file it, and that choice has a cost structure that has nothing to do with how bad the defect is.
Filing a report is unpaid work. You have to notice the thing is a defect rather than your own mistake, reproduce it well enough to describe, find where reports go, write it up, and then wait. The payoff is a fix, someday, arriving to a version of you who may not be using the product anymore. Anyone deciding whether to spend that effort is implicitly running a calculation: how likely is it that this goes somewhere. People who expect an answer file reports. People who don’t, route around the problem and say nothing — which costs them less and tells you nothing.
That filter has a direction, and it isn’t random. You don’t hear about the bug with a workaround, because the workaround is cheaper than the write-up. You don’t hear about defects in the corner of the product someone has already written off, because they’ve stopped expecting that corner to improve. You especially don’t hear from the users who are on their way out, since a person who has decided to leave has no reason to invest in your roadmap. The reports that survive this filter come disproportionately from users who are engaged, patient, and still hopeful — the ones least likely to be describing the problems that are actually costing you.
The practical failure mode is ranking by volume. Two features have similar defect rates; one has an active community and generates forty tickets a quarter, the other has quiet users who quietly stop using it. The first looks unstable and gets a reliability push. The second looks fine and gets nothing. The team is following the data, and the data is telling them to invest in the feature people still care about while ignoring the one that is already dying. Nobody made a bad decision at any step. The input was pre-filtered before anyone saw it.
The correction isn’t only to make reporting easier, though that helps at the margin — it’s to go get samples the channel can’t produce. Client-side error rates for people who never filed anything. The unstructured text sitting in support chats that never became tickets. A handful of direct conversations with accounts that went quiet last quarter, asking not “what’s broken” but “what did you stop trying to do.” Five answers from people who never filed a report are worth more than a hundred tickets, precisely because they come from the population your reporting channel is built to exclude.
The number of complaints about a feature is not a measure of how broken it is. It’s a measure of how much hope its users still have. Which means the count can fall for two entirely different reasons, and only one of them is the good one — and on every dashboard you have, they look identical.