5 min read • Guide 417 of 877
Bug Triage Process
Bug triage determines which bugs to fix and when. Good triage prioritizes based on impact, not who shouted loudest. Bad triage lets critical bugs languish while trivial issues get fixed. This guide covers effective bug triage.
Severity Levels
| Severity | Description | Response |
|---|---|---|
| Critical | System down, data loss | Immediate |
| High | Major feature broken | This sprint |
| Medium | Feature degraded | Soon |
| Low | Minor issue | When time allows |
Triage Process
Handling Bugs
BUG TRIAGE PROCESS
══════════════════
STEP 1: VALIDATE
─────────────────────────────────────
Is it a real bug?
├── Can it be reproduced?
├── Is it expected behavior?
├── Is it a duplicate?
├── Is it still relevant?
├── Enough info to investigate?
└── Filter noise
Actions:
├── Valid → Continue triage
├── Duplicate → Close, link original
├── Not a bug → Close with explanation
├── Needs info → Request details
└── Disposition
STEP 2: ASSESS SEVERITY
─────────────────────────────────────
CRITICAL:
├── System unusable
├── Data loss or corruption
├── Security vulnerability
├── All users affected
└── Drop everything
HIGH:
├── Major feature broken
├── Significant users affected
├── No workaround exists
├── Business impact significant
└── Priority fix
MEDIUM:
├── Feature degraded
├── Workaround exists
├── Some users affected
├── Annoying but manageable
└── Schedule soon
LOW:
├── Cosmetic issue
├── Rare edge case
├── Minor inconvenience
├── Nice to fix someday
└── Backlog
STEP 3: PRIORITIZE
─────────────────────────────────────
Factors:
├── Severity (from above)
├── User impact (how many affected)
├── Business impact (revenue, reputation)
├── Effort to fix (quick win?)
├── Dependencies
└── Balanced assessment
STEP 4: ASSIGN
─────────────────────────────────────
├── Add to appropriate sprint/backlog
├── Assign to developer (optional)
├── Set target timeline
├── Communicate to reporter
└── Tracked and visible
Triage Meeting
Running Triage
TRIAGE MEETING
══════════════
FREQUENCY:
─────────────────────────────────────
├── Daily: High bug volume
├── 2-3x/week: Medium volume
├── Weekly: Low volume
├── As needed: Critical bugs
└── Regular rhythm
FORMAT:
─────────────────────────────────────
Time: 15-30 minutes
Participants: PO, Tech Lead, QA Lead
Agenda:
1. Review new bugs (5 min each max)
2. Quick validate/assess/prioritize
3. Assign to sprint or backlog
4. Review any stuck bugs
5. Done
PER BUG:
─────────────────────────────────────
├── Read summary
├── Check reproduction
├── Assess severity
├── Discuss priority
├── Decide action
├── Move on
└── Quick decisions
OUTPUT:
─────────────────────────────────────
├── All new bugs triaged
├── Priorities clear
├── Assignments made
├── Nothing in limbo
└── Clean inbox
Bug Reports
Quality Reports
GOOD BUG REPORTS
════════════════
REQUIRED INFORMATION:
─────────────────────────────────────
├── Summary (one line)
├── Steps to reproduce
├── Expected behavior
├── Actual behavior
├── Environment (browser, OS)
├── Screenshots/logs if relevant
└── Complete info
TEMPLATE:
─────────────────────────────────────
**Summary:**
[One line description]
**Steps to Reproduce:**
1. Go to...
2. Click...
3. Observe...
**Expected:**
[What should happen]
**Actual:**
[What actually happens]
**Environment:**
- Browser: Chrome 120
- OS: macOS 14.1
- User type: Pro plan
**Additional Context:**
[Screenshots, error logs, etc.]
TRIAGE CRITERIA:
─────────────────────────────────────
Bug triageable when:
├── Reproducible
├── Clear what's wrong
├── Environment known
├── Steps to follow
└── Actionable
GitScrum Setup
Bug Tracking
GITSCRUM FOR BUGS
═════════════════
LABELS:
─────────────────────────────────────
Type:
├── bug (all bugs)
Severity:
├── critical
├── high
├── medium
├── low
Status:
├── needs-triage
├── triaged
├── in-progress
├── fixed
├── wont-fix
└── Clear categorization
WORKFLOW:
─────────────────────────────────────
New bug → needs-triage
↓
Triage meeting
↓
├── Add severity label
├── Add to sprint or backlog
├── Change to triaged
↓
Development
↓
Fixed / Won't fix
BUG BACKLOG:
─────────────────────────────────────
├── Separate view for bugs
├── Filter by severity
├── Prioritized list
├── Pull into sprints
└── Managed queue
METRICS:
─────────────────────────────────────
├── Bugs by severity
├── Time to triage
├── Time to fix
├── Bug age
├── Trend over time
└── Quality visibility
Best Practices
For Bug Triage
- Regular cadence — Don't let bugs pile up
- Quick decisions — 5 min per bug max
- Clear criteria — Severity definitions
- Communicate — Update reporters
- Track trends — Are bugs increasing?
Anti-Patterns
TRIAGE MISTAKES:
✗ No triage process
✗ Bugs pile up untouched
✗ Loudest voice wins
✗ No severity definitions
✗ Never close bugs
✗ No communication to reporter
✗ Triage takes hours
✗ Everything is critical