In a post last week, I discussed 3 ways that I’m improving the bug tracking experience with our internal bug tracking tool (codename BugSpray). The first thing I talked about was what you should see when you log in.
There are so many ways to slice and dice bugs. Bugs have priority, status, ownership, updates, views, verifications. It’s too much to digest immediately. Last week, I decided to differentiate the homepage between finders and fixers. Here’s what a person who normally finds bugs might see (click the image to make it bigger!)
Craig, Lindsay, and I chatted it up a bit and we realized it was still a little too much stuff, and yet, not showing everything that was really important. What if I assign a bug to someone and he has a question to ask? What if he says he can’t reproduce it? Or, what if he’s just saying “Hi, I’m working on it”? Shouldn’t I know about it right at the homepage? Which updates do I really give a damn about and which don’t I?
It was then that we realized what’s really important. At any given point in A Bug’s Life, someone is responsible for doing something. But, it works both ways. I find a bug that needs fixing. Fixer has a question that needs my answer. I answer it and need the bug fixed. He thinks it’s fixed and needs me to check. I don’t think it’s fixed and need him to look at it again. Bug tracking is a tennis match. But, the most important question?
In one of our normal projects, there are dozens hundreds of bugs moving around at once. It’s so easy for some of these bugs to get lost in the stampede. Some bugs just get “stuck” because we’ve forgotten who needs to do what next. Sure, you can sift through all your notification emails or click on every open bug and look at its history, or (gasp) just remember who’s asking for what. But, we’ve become far too lazy for that.
To that end, we decided that a better homepage cares about only 4 things:
- How many active bugs do you have?
- Of these active bugs, how many are waiting on you to do something?
- Of these active bugs, how many are waiting on the other person to do something?
- How many of your bugs are fixed?
- A bug is assigned to you. Start working on it.
- The person working on a bug you created has a question. Go answer it.
- The person working on your bug is ready for you to retest. Go test it.
- You had a question for the bug creator, and she answered it. Ball’s back in your court.
- A bug you thought you fixed isn’t fixed, according to the tester. Take a look again.
I like this approach much better. I immediately know that there are 9 bugs that are waiting on me for Project X. My goal is to keep the numbers in the yellow boxes as low as possible. If everyone’s working toward that goal, questions will get answered, bugs will get tested, and maybe, even a few will get fixed.