Our team had another heated debate last week about the definition of Severity vs. Priority in software defect logging. Every bug database I’ve ever used contains the fields Severity and Priority. I’ve always thought of the distinction between the two as pretty straightforward, but it turns out it’s not. (Life would be a lot less interesting if everyone always agreed with us, wouldn’t it?) Some engineers want to use the Severity setting to prioritize bug fixes. And some QA people want to use the Priority setting to tell engineers which bugs to fix first. I don’t subscribe to either of those uses of the fields. First, I don’t believe that the severity of a bug necessarily determines its priority in the fix order. And second, I’m not in a position to tell engineers how to get their work done.
Here’s how I use and distinguish Severity and Priority:
- Severity. QA should use this field to indicate the impact of the defect on the functionality and/or usability of the product.
- Priority. The engineering lead should use this field to prioritize the order in which the defects are addressed.
With regard to severity, QA’s job is not only to find and report bugs, but also to clearly identify for all stakeholders the functionality/usability impact of each. In QA we’re perfectionists: we want all the bugs fixed. But in the end it’s generally Marketing or Services managers who make the final decisions on which bugs get fixed, and which we can live with. Assigning a severity value to each bug helps greatly with evaluating and making these tough calls.
With regard to priority, those of us outside of engineering may not know the possible code dependencies involved in getting everything fixed. It may be that fixing scary-horrible-bug-A is not possible without first fixing seemingly-innocuous-bug-Z. To the non-engineer’s mind, fixing bug Z may seem like a low priority (because of its low impact on functionality) when in fact it could be an engineer’s highest priority because fixing it is prerequisite to fixing scary-horrible-bug-A, which everyone agrees has to be fixed because it’s scary and horrible.
I’m not sure why this topic is so controversial, but it seems to be. I bet we’re not the only team that has heated discussions about it. I invite your thoughts.