How to Triage a Bug
The bug system is the heart beat of an open source project. In order to understand how an open source project is working, it is often necessary to understand how the project uses its bug system.
Here are the rules we use to triage a bug:
- Verify that the bug is reproducible. If not, ask for details. Verify that the enhancement request is reasonable.
- Find and owner for the bug:
- Use the component owner table (TBD) to determine the owner.
- Being the owner means watching the bug, being knowledgeable in the code area and knowing how to answer questions and help someone who wants to work on it.
- Set the bug priority. If unsure leave it as default (P3).
- Make sure it is in the right bugzilla component
- P1: Stop ship. Fix it now!
- P2: Important, in progress
- P3: Maybe someone will get to it
- P4: Nice to have, probably won't get to it
- P5: Probably won't happen
- Add the "helpwanted" keyword for easy, non-critical bugs that would be good for a newcomer to work on
- Make sure the severity is set to "enhancement" for feature requests. For other severities leave it as selected by bug originator.
Once a bug is triaged, it is addressed in priority order by the owner. Bug that are unowned are not being worked on.
How we deliver (work management)
We use an iterative development model for work planning, defined at 2 week intervals:
These milestones are added to the whiteboard space in the bugzilla.
We plan for an iteration at the beginning of the previous iteration using the backlog, only P1, P2s and P3s. These are assigned to people with the intent of completing the work in that iteration.
A bugzilla issue that has a milestone attached to it, should also have an “Assignee”. If the assignee is actively working on the defect they will set it to the ASSIGNED state.
Backlog should be allocated a priority and story points as input to iteration planning. Story points should be assigned in the whiteboard using a fibonacci sequence where:
S:1 = minutes -> "This will take minutes."
S:2 = hours -> "This will take hours."
S:3 = days -> "This will take days."
S:5 = weeks -> "This will take weeks."
S:8 = months -> "This will take months."
S:13 = quarters -> "This will take a quarter or more"
S:21 = half year -> "This will take half a year to a year."
S:40 = years -> "This will take years."
May 7 Bug Day
|Client 375,000-399,999||DONE!react starter kit|
The Triage Diet
Four Large Pies:
- Canadian - half with mushrooms
- Jeem special: Pepperoni/pineapple/green olives/bacon
- Devil's Delight
- Large Garden Salad