Bug Severity and Priority

Mark Kampe

In a large project there are likely to be many bugs ... sufficiently many that they will not all be fixed promptly. It becomes necessary to decide which bugs to fix sooner, and which to fix later. Long ago battle-field doctors learned to divide caualties into three groups:

  1. those who would almost surely die (treatment wouldn't make a difference).
  2. those who would almost surely live (treatment can be delayed).
  3. those who could be saved if treated promptly.
Taking a few minutes to perform this sorting (called triage, in reference to the three groups) greatly improved the effectiveness of battle-field medicine. A similar process is followed with bugs ... although hopefully without a class of problems that will doom the product regardless of any action on our part.

Bugs are, to a first approximation, dealt with on the basis of their severity and priority. Because these two words determine which bugs will be fixed, control over the defintion of these terms translates into control over what work does and does not get done. Arguments that would seem to be about the meanings of these terms are often political arguments in disguise. There are no universally accepted definitions for these terms, but I will try to give you a foundation from which you can enter into discussions on the subject.