Trackers versus Producers

by Eric M. Burke

Information trackers tend to want more detailed information than producers can produce. What do I mean by this?

Consider the case of defect tracking tools. Most tools let you define a set of priorities, such as "Low", "Medium", "High". What do you think happens when you take this to the defect tracking design committee? In my experience, the committee will want more detailed information for tracking purposes. They'll want to expand the list to include things like "Showstopper", "Lowest", "Highest", etc.

For issue types it is even worse. You'll end up wanting to include "defect", "feature", "documentation", "design", "requirements", etc... The more people on your design committee, the more detailed and fine grained the information will be. That's a natural tendency for the tracker-side of the equation.

Resist the urge to make everything so fine grained.

The producers of this information, the programmers, won't know what to do if they have 15 different issue types to choose from. Some will argue "This is a training issue! Just teach the programmers what the different statuses mean." But remember that the job of the information tracker is to track this information, but the job of the information producer is to write code, fix bugs, etc. They probably don't have enough insight into the subtle difference between "high" "highest" and "showstopper" to choose the correct priority.

In my opinion, making these fields incredibly fine-grained and detailed will not result in better data. Team members will just be confused by the sheer number of choices, and they will inevitably default to "Other" as their choice.

I once worked on a very large programming team that held regular code reviews. We were given a standard form, and we had at least 15 different categories for each type of issue found during the review. This was a constant source of confusion and debate during the inspections, diverting attention away from the code review itself. Is this a documentation problem? Is it a programmer error? Is it a missing requirement? Let's just check "Other" and move on.