Dave Child recently posted his thoughts about bug/feature priorities and asked for contributions, here's mine :)
- Blocker: Prevent any operation on the system to happen.
For instance, your app server conf file is wrong, so it won't even start. Or there's a syntax error in one of your top template. This should never pass your test phase (if it does, you've got a problem).
- Critical: A major feature of the system is broken (or missing in case it's a feature ticket) and prevent the business from operating normally. This should never pass the test phase neither.
Example: If you've got an e-commerce website, the cart does not work, or the checkout is broken.
- Normal: A minor feature of the system does not work, or a major feature doesn't work in a particular case. This could pass the test phase, but it will hurt your reputation.
For instance, your 'share with a friend' link is broken, or the contact us page doesn't work.
- Minor: A subfeature does not work, or a minor feature is broken in a particular case. For instance, redimensioning a textarea doesn't work, failing to provide a valid email in the contact page voids your avatar photo. This could pass the test phase, but only a few of your clients will notice.
- Trivial: Do not prevent anything from working correctly, but still cam harm your reputation.
Example: No feedback to confirm a user has saved its preferences, spelling mistakes, weird ordering etc..
Using this classification, and if you've got an appropriate test plan, your clients should never be exposed to any bugs more important than Normal, ideally only Minor.