Apenwarr on triaging bugs

Hot takes

The priority is useless

First of all, in my corner of the world, priority levels have been made almost completely meaningless by well-intentioned teams. Depending on the project, P0 often ends up paging someone, which is rarely what you want, so you usually don’t use P0. P1 often has a stupid bot attached, which pings the bug if you stop responding, trying to enforce some kind of short SLO, so the pattern is often that you file a bug, then someone looks at it for a while, makes little progress, gets annoyed by the bot, and lowers the priority to P2, only to be interrupted by the next round of new P1 bugs. It maximizes distraction without necessarily getting more bugs resolved. Oops! P2 is the default, which is fine, but of course, almost all bugs are P2 so your bug pile is undifferentiated. And at this point everyone knows that P3 and P4 both mean “will never implement.” (Pennarun 2017)

If every bug is assigned to someone, the assignee becomes useless

Many teams try to take every incoming bug and make sure it’s assigned to someone on the team, under the assumption that the person will reassign it or fix it eventually. Of course, that doesn’t work when ingress > egress; each person’s queue will be ever-growing, not ever-shrinking, and eventually the Assignee field also loses all meaning, and you have an even bigger problem. (Pennarun 2017)

The component field is almost useless

Bug tracker “components” (aka dividing by “project” or “area”) are almost useless! They are only good for one thing: helping your end users point your bug at the right triage team. (Pennarun 2017)

Pennarun, Avery. 2017. “An Epic Treatise on Scheduling, Bug Tracking, and Triage.” Apenwarr (blog). December 13, 2017. https://apenwarr.ca/log/?m=201712.

Return home