Some recent discussions here along with
our current ramp up has had me thinking about our own bug / issue
tracking, which so far has simply been a shared Google Spreadsheet.
This has worked perfectly fine for our small team in prototyping /
prepro, but is not expected to scale. I've been wondering if there's a
way we could make GMail work as a bug database. It seems like it's
nearly the perfect tool:
* Web based
* Labels, which are far superior to categories / folders
* Excellent search
* Discussion history on bugs
* Quick / easy / familiar interface
* Supports attachments for screenshots etc
The main trick would be getting the workflow right in a multi-user
environment. So here's my brainstorm on the main activities associated
with bug management and how they might (or not) map to GMail.
Describe a bug
Presumably we have an email account (a real gmail user). Submitting
a bug is simply writing an email from your work account to the bug
tracker user. Subject is the short description, Body is the long
description / repro steps / attached screenshots etc.
Store the bug info
Since all emails go to the bugtracker user, that's the database.
Categorize a bug
Categorization is done via GMail labels. This is a bit tricky since
labels wouldn't synchronize correctly if the tracker was forwarding things to you, or if you were pulling stuff via pop/imap. I do
think that it's possible to actually synchronize changes among the team
by writing a google gadget or something, but I'm exploring how we might
be able to do this with nearly 0 implementation effort. So in order to
label stuff, do queries on labels, and perform most other management
people would need to be logged into the bugtracker@OurCompany.com
account. This is problematic for us since we use Google Apps for domain
to host all our work email and you can't be logged into both your work
account and the bug account simultaneously. Not an issue if you don't
use gmail for work, but we'd need to create another Google Apps account
with a different domain like OurCompanyBugs.com. We'd probably want to
do one tracker per project, so projectX@OurCompanyBugs.com. Fortunately this is trivial.
Assign a bug
This is actually just a specialized form of categorization. Each
team member is a label name. Assignment occurs by labeling the bug with
one more user labels.
Get a list of bugs assigned to me
Click on your name label. Done.
Get a list of bugs assigned to all programmers that are less
than 6 months old but only if they were assigned on a Friday (or some
other complicated search)
Write the query once and save it off with the Quick Links gmail
labs add-in. There's other label features that could be useful like
SuperStars for indicating severity icons etc.
Comment on a bug
Reply to the email. Also has the nice side effect of bubbling the conversation to the top of the inbox.
Close a bug
Again, just a label. Archiving the email thread removes it from the
Inbox (which is just another label). So open/closed status is simply
whether or not it has the Inbox label.
Any comments, suggestions, and more importantly reasons why this might not work at all are appreciated. :)