Skip to content
All posts
February 14, 20263 min read

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.

TestingBug ReportsBest Practices
Share:

"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

LevelDefinitionExample
CriticalApp crash, data loss, security vulnerabilityApp crashes on every checkout attempt
HighMajor feature broken, no workaroundPayment fails for all users
MediumFeature partially broken, workaround existsPromo code fails, manual discount works
LowCosmetic, minor UX issueButton slightly misaligned on one screen

Priority Levels

LevelDefinitionExample
P1Fix immediately, block releaseBug blocks 30% of users from core function
P2Fix this sprintImportant feature degraded, affects many users
P3Fix in next sprintFeature partially broken, low user impact
P4Fix when convenientCosmetic 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:

code
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-blocking

The 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.

Share:
S

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.

Stay updated

Get new posts on Android, Kotlin, and solo dev straight to your inbox.

Newsletter preferences

Building something? Available for Android dev and QA consulting.

Work with me

Comments — powered by Giscus