Bug Severity vs Priority: Why the Difference Matters
Severity and priority are different dimensions of a bug. Confusing them leads to wrong fix ordering and bad release decisions. Here's the clear breakdown with real examples.
On this page
"This is a high-severity bug" and "this is a high-priority bug" sound like they mean the same thing. They don't. A bug can be high severity and low priority, or low severity and high priority. Understanding the difference changes how you triage and how you release.
The Definitions
Severity describes the technical impact of the bug on the system — how badly it breaks functionality.
Priority describes how urgently the bug needs to be fixed — based on business context, user impact, and timing.
Severity is a technical judgment. Priority is a business judgment. They're inputs to each other but they're not the same thing.
Severity Levels
| Level | Definition | Example |
|---|---|---|
| Critical | App crash, data loss, security vulnerability | App crashes on every checkout attempt |
| High | Major feature broken, no workaround | Payment fails for all users |
| Medium | Feature partially broken, workaround exists | Promo code fails, manual discount works |
| Low | Cosmetic, minor UX issue | Button slightly misaligned on one screen |
Priority Levels
| Level | Definition | Example |
|---|---|---|
| P1 | Fix immediately, block release | Bug blocks 30% of users from core function |
| P2 | Fix this sprint | Important feature degraded, affects many users |
| P3 | Fix in next sprint | Feature partially broken, low user impact |
| P4 | Fix when convenient | Cosmetic issue, edge case |
Why They Diverge
High Severity, Low Priority
Example: The app crashes when a user has exactly 1,000 items in their cart. Severity: Critical (crash). Priority: P3 or P4 — because no real user has 1,000 items in a cart, and the scenario is essentially unreachable in production.
Example: A critical security vulnerability in a feature that's 3 sprints away from being enabled. Severity: Critical. Priority: P2 (should be fixed, but not an emergency while the feature isn't live).
Low Severity, High Priority
Example: The company CEO's name is misspelled in the app's press release screen. Severity: Low (cosmetic, no functional impact). Priority: P1 — because executives are demoing the app to investors tomorrow.
Example: A minor layout issue appears only on the home screen's hero banner — which is A/B tested and the current variant is the main marketing campaign. Severity: Low. Priority: P1 — because it affects every user's first impression during peak acquisition.
[!NOTE] Priority is context-dependent. The same bug can be P3 during a normal sprint and P1 the day before a major launch. Severity doesn't change based on timing. Priority does.
Practical Impact on Triage
When you triage bugs using only severity, you get a technically correct prioritization that often doesn't match business reality. The critical crash in an edge case gets fixed before the confusing UX bug that's driving negative app store reviews.
Using both together:
Bug: Checkout crash on Samsung with Galaxy Themes enabled
Severity: Critical
Business context: Samsung represents 35% of our user base
Priority: P1 — fix before next release
Bug: Profile photo upload fails for images over 8MB
Severity: High
Business context: Average user photo is 2-3MB; 8MB threshold not publicly documented
Priority: P3 — add to next sprint, not release-blockingThe second bug is technically high severity. But business context makes it a lower priority fix.
Who Sets Severity vs Priority
Severity is set by QA (or whoever files the bug). It's a technical assessment requiring product and testing knowledge.
Priority is set in triage — typically QA, PM, and sometimes development together. It requires business context that QA alone may not have.
Allowing only QA to set priority leads to technically-correct but business-naive prioritization. Allowing only PM to set priority leads to business-correct but technically-naive prioritization. The joint assessment gets both right.
Clear separation of who sets what — and when — is the process design that makes bug triage efficient.
Sudarshan Chaudhari
AI Systems Builder / Product Engineer
Bangkok, Thailand
Solo Android developer with 13+ years in QA, building Android apps, AI automation systems, and developer tools at SudarshanTechLabs.
Related Posts
Building something? Available for Android dev and QA consulting.
Work with meComments — powered by Giscus
