Issue Tracking Basics

Years ago, I introduced a bug tracking system at a software company, and the most lasting lesson I learned from that process has nothing to do with software.  You see, even though it took a while to accomplish this, I eventually trained our company to use this system to finally be able to answer the highest and greatest question of any operationally-oriented workgroup:

What the hell is going on?

It astounds me on a pretty regular basis how utterly lost people (and organizations) are with respect to this simple question, and I think it ultimately stems from people trying to relate to one another like people, rather than as parts of an organization.  While this is completely understandable -- even virtuous -- the uncertainty and passivity of polite society are inefficient and confusing. Ironically, the more polite everyone tries to be, the more tension builds as problems fester and grow.

IMG_6875_HDR.jpg
(Photo credit: lambertpix)

Like ripping off a band-aid, though, I've found that setting a few simple rules, and then sticking to them rigorously, so thoroughly squelches the confusion about "who's doing what" that the pain of working the system quickly gives way to the relief of actually knowing what the hell really is going on.

Before jumping into the rules, understand that this approach applies most directly to tasks in the context of an organization.  If you're unsure of the difference, here's a clue: if you're talking about something the organization would expect to get done even if the person who normally does it is sick or on vacation, then it's an organizational task.  If it's going to wait for you no matter how long you're out of the office, then you don't really need to bother with this at all -- just work your own to-do list.

So, without further ado, the rules:

  1. Have a list.  Use a whiteboard or a spreadsheet or scrabble tiles, but whatever you use, treat it as the one and only definitive source of truth and enlightenment for your organization (with respect to the subject of the list, of course).  Given that tools like Bugzilla are available for free, scrabble tiles would really be sort of silly, but the important part is that the list is kept sacred.  Better yet, tools that are built for this sort of thing will help enforce the rest of these rules.
  2. The list belongs to the organization, but assignments belong to people.  You're trying to map the somewhat nebulous idea of organizational responsibility to actions of individual people, so this part is important.
  3. Assignments belong to one and only one person.  When I talk about people being responsible for things, I'm talking about one person (I've covered this before, incidentally).
  4. Someone needs to be responsible for the list.  I'm not talking about items on the list -- I'm talking about the integrity and life-force of the list itself.  This is a full-time job, and it must be staffed all the time, so be ready to pass this baton when your list-owner is sick, on vacation, or out of the office.  Your organization will eventually self-train to keep the list alive, but this takes serious time and dedication (think years, not months or days).
  5. Issues belong to a single person.  Again, with the one and only one person.  It's important.
  6. Issues can change owners.  They should, in fact, or you're probably not talking about an organizational issue.  Most of the time, issues are created precisely because the person who finds the issue isn't the person who needs to do something about it.
  7. If it ain't in the list, it never happened.  Watch out for stuff happening "off the books".  I can't tell you how many times I experienced people sending an email about an issue because they didn't want to take the extra thirty seconds necessary to add something to the bug tracking system, but in return for saving those few seconds, your organization will give up all the management oversight and quality control your list gives you.  I personally saw the single worst "off-list" violator in my organization turn in to the biggest "list enforcer" over the course of a couple years because the list works.
  8. Ok, I lied.  Scrabble tiles suck.  In most cases, you really want a place to show history, emails, attachments, and so on, because most issues complicated enough to need a system gather little artifacts like this as they're worked, and if it ain't in the list, it never happened.  One of the points of tracking stuff in the list instead of email is that as these issues pass from one person to the next, the list holds the whole thread and context of the issue – very unlike email, where information goes to die.
  9. A quiet list is a dead list.  If you don't see activity in the list, it sure as hell doesn't mean there aren't any issues.  It means nobody's using the list.  The list owner should have a good enough sense for the "pulse" of issues to know if this ever happens, by the way.
  10. A quiet issue is a dead issue.  Sounds familiar, no?  If there's no action on an issue, somebody needs to know why.  If nobody cares about it all that much, make sure it gets shunted to a side track of some sort, but if it's an issue that needs to be dealt with, find out why it's stalled and address the problem.  This is "project manager 101" stuff, but it's really easy to miss unless you've got a living list, and really hard to miss if you're really working a list.

There's more you can do with issue tracking once you get this far, but I promise if you embrace the rules here in a meaningful way, your entire organization will take a step up in efficiency and effectiveness, and best of all, you'll eliminate a whole lot of the latent tension that comes from trying to manage implicit lists.