Bug Title Writing
Writing precise, scannable bug titles using the [Component] + symptom + condition formula
Bug title formula
- [Component] — the area of the product:
[Auth],[API],[Dashboard] - What is wrong — precise verb + noun, not "broken" or "bug"
- When [Condition] — the trigger or environment
- Expected vs. Actual — name what should happen and what does happen
- Titles should be scannable in a backlog list — aim for under 80 characters
Question 0 of 5
Which bug title best follows the formula [Component] [What is wrong] when [Condition]?
[Auth] Login button unresponsive when password field is empty is the best title. Good bug title formula:
- [Component] — scopes the area:
[Auth],[Dashboard],[API] - What is wrong — precise verb + noun: "button unresponsive", not "doesn't work"
- When [Condition] — the trigger: "when password field is empty"
A bug report title says: "The app is broken". What is wrong with this title?
No component, symptom, or trigger is the core problem. Evaluating a bug title:
- Component — "the app" is the entire product, not a specific area
- Symptom — "broken" conveys nothing actionable; a developer cannot reproduce or prioritise this
- Condition — no trigger described (on page load? after login? on mobile?)
Which title uses the correct "Expected vs. Actual" framing?
Specific expected vs. actual with condition is the best framing. Breaking down the winning title:
- Expected: "current month's totals" — what the user expects
- Actual: "last month's totals" — what actually happens
- Condition: "after date filter is applied" — the trigger
Your team uses Conventional Commits style for bug titles too: [Component] verb: description. Which is the best bug title in this style?
[API] /users endpoint returns 500 when request body is missing "email" field wins even without the conventional prefix. Why:
- Names the specific endpoint (
/users), not just "API" - Names the exact symptom (500 error)
- Names the exact condition (missing "email" field)
You are reviewing a bug title: "[iOS] Profile photo upload fails silently with no error message when photo size exceeds 5MB on iOS 17.4+ devices". What is your assessment?
Well-structured — component, symptom, condition, and platform all present. Checklist for this title:
- ✅ Component: [iOS] + photo upload feature
- ✅ Symptom: "fails silently with no error message" — describes both the failure AND the secondary UX problem (silent failure)
- ✅ Condition: "when photo size exceeds 5MB"
- ✅ Platform scope: "iOS 17.4+" — narrows reproduction environment