Over my years in software development, I have used many defect tracking systems (e.g., Scopus, Clarify, Bugzilla). Almost without fail these systems had a "priority" (a number between 1 and 5) that is specified as part of entering a defect into the system. The problem has been that the priority value was almost always tied to one factor.
My experience has been that priority is determined based on two major independent factors:
Severity is a measure of how bad something is. It is normally expressed in terms of the end-user experience. Does it make the system crash? Does it cause loss of data? Or is it just an annoyance?
- Urgency is a measure of how soon a fix is needed? Should we drop what we are doing and fix this now? Can the correction wait until later?
There's a third factor that most of these systems rarely consider:
- Frequency is a measure of how often or likely something can occur.
I mention all three of these factors because defects can come in many of the combinations.
|HIGH||HIGH||HIGH||The application crashes upon startup.|
|LOW||HIGH||HIGH||Though it's only a typo in the User Guide, the copy is supposed to go to print today.|
|HIGH||LOW||HIGH||Even though the problem prevents the feature from operating at all, there is time before testing of that feature begins.|
|HIGH||LOW||LOW||Although the problem results in incorrect feature operation, it only happens in a special case that rarely occurs.|
As part of developing our technology previews, the Autodesk Labs team is currently using JIRA. JIRA is a system that lends itself to an Agile development process. As one would expect, in addition to the ability to manage development tasks, JIRA can track defects.
Just like all of our previous systems, defects in JIRA are assigned a priority.
You can see that the Priority field in JIRA attempts to be a mix of two of these factors.
- Urgency - Blocker, Critical
- Severity - Major, Minor, Trivial
This is a welcome step in the right direction. I know there are It's Alive in the Lab readers who have their own defect tracking systems, What do you use to set the priority?
Discussing how defects get classified is alive in the lab.