14
Oct 11

Results of the inaugural BugKill day

Last Friday, we had the inaugural BugKill day, trying to clean up our graphics bugs. During this day, all 10 graphics developers, and 2 lovely people (Scott Johnson and Chris Lord) who aren’t nominally part of graphics, spent their whole day going through all of our open bugs, trying to reproduce them and/or determine if they’re still applicable.

We were able to close 308 bugs out of the 493 total we touched, which translates to a pretty fantastic 63% close rate. (There were bugs we didn’t touch but did look at during this triage, so this percentage is a maximum, but it’s still quite good.)

To do this triage, I ran a Bugzilla query for all all open bugs in the components GFX: Color Management, Graphics, Imagelib, Canvas 2D, and WebGL. (This was about 2500 bugs.) To divide this among our participants, I divided this long list by adding a regex query parameter on Bug ID to choose bugs by last number. (For example, [1]$ for all bugs ending in 1.)

Some of our observations:
* Having an open line to people (e.g. a Skype or Vidyo call) makes triaging easier. There are lots of bugs that are essentially “do such-and-such code cleanup”, and it’s difficult for someone who’s otherwise inexperienced in a piece of code to know if those bugs still apply.
* Being able to shuffle bugs to others’ queues would have been handy. While it’s useful to get fresh eyes on a bug, sometimes bugs will be much more efficiently handled by a domain expert. More on this a little later.
* There were several bugs with patches attached, but no review requests, and nobody had touched them for 4+ years. Bitrot was significant. It’d be worthwhile to do a quick query for patches in your components that haven’t got any review requests; you might be surprised.
* There were other bugs that we’d forgotten for no good reason, and which had easy patches written while triaging. (!)
* Being bold is better than asking people. Resolve bugs as INCOMPLETE, with the invitation to reopen, if you can’t reproduce and need more information from the reporter.

We still have >2100 bugs left open, and if our BugKill experience is any indication, a majority of them aren’t applicable anymore. In the mean time, we’re going to continue doing off-and-on bug killing on the list of bugs we were assigned. And to add to that ad-hoc triage, we’re going to do another graphics BugKill on Friday, November 4, 2011: 3 weeks from today.

However, we’re going to make one important modification to our process: we’re going to allow people to send bugs to others’ lists by (ab)using the QA Contact field. That is, everyone’s queries will have a list of bugs selected by regex, and will also include every bug where the person is the QA Contact. People can send bugs to others by changing QA Contact, and once that person’s triaged that bug, they’ll reset the QA Contact. I encourage others who are considering BugKill to do this from the start.


03
Oct 11

Graphics BugKill day: Friday, October 7, 2011

On Friday, October 7, the Graphics team is going to be having the inaugural BugKill day.

Currently, there are over 2000 bugs in various graphics-related bugzilla components. This is too many for any person to keep in her head.

Our goal is to get down to about 300 bugs per component by a mix of closing obsolete bugs and creating new components. We’ll then be in a position to keep our bugs in check, because each component will have one or two people able to monitor and triage bugs.

During this BugKill day, everyone involved will be given a Bugzilla query, and they’ll be responsible for going through, bug by bug, and determining whether the bug still applies. Due to the volume of bugs, we don’t expect to be able to get through them all, but we should be able to process several hundred.

If you’re interested in participating as a BugKiller, please let me know before the end of the day next Tuesday, October 4th so I can divide up the bugs. You’ll be joining the entire graphics team, who will be spending their full working day BugKilling.

If you’re interested in observing, we’ll be working through our bugs on irc.mozilla.org in channel #gfx, and we’ll also likely have an open video channel for discussion (the Graphics Vidyo room).

I’ll also have a post-BugKill report to talk about common issues, pitfalls, how successful we were, and where we’re going to go from our current state.