Monty Taylor: Launchpad Bug Workflow as used by Drizzle
Launchpad is a wonderful and powerful tool. With that comes a variety of different ways different features can be used in the context of a project. I thought I'd take a moment to write down how we're using bugs and when we use what statuses. There are two goals here:
- We could do better at this ourselves
- Maybe it's useful for someone else who is getting themselves ramped up on Launchpad.
Step one is reporting a bug. This may go without saying, but at some point someone will file a bug, and we'll need to notice that - so we have launchpad bugs set up to mail everyone in our main drizzle team any time a bug is reported. This ensures that they don't go unnoticed.
When a bug is first reported, it starts life in the status "New" and with an importance of "undecided".
The next state is "Confirmed". In a perfect world, this bug achieves this state when someone other than the bug rep! orter has independently been able to reproduce the reported problem.
"Triaged" comes when the bug has been assigned an importance, someone to work on it, and an initial target for completion. Often Confirmed will get skipped and it'll go straight to Triaged, actually, because often times the person confirming the bug is also assigning to to someone.
A quick digression on targetting... in Drizzle we create a new Series for each planned release - such as cherry, dexter or elliot, and then we create bi-weekly milestones to track our bi-weekly tarball drops. So a bug can be targeted to a series and a milestone. The milestone may (and often does) move, depending on whether or not we were successful in getting it done. Once it's been targeting to a series though, it will forever have some status for that series. So if a bug starts in cherry and it doesn't get fixed and we release cherry and move on to focusing on dexter, we don't remove t! he bug from cherry - the bug is still there in the cherry release afte r all. If we were doing maintenance releases on things (which we're planning to do once dexter is out the door) we might leave the bug open in its cherry status until a fix has been made in trunk and backported to cherry. Or, since we're not currently doing that for cherry, we'll just set the bug to "Won't Fix" for cherry and track its status in dexter.
This leads us to the next two statuses... Invalid and Won't Fix. It's possible that the bug, as reported, cannot be reproduced. In that case, instead of setting the status to "Confirmed" - we'll set it to Invalid. Similarly, if the bug can be reproduced, but we think the behavior is valid, we'll set it to "Won't Fix". We have not started to use the new "Opinion" status yet.
"In progress" means that the developer assigned to the bug has actually started work on the bug. This one gets missed the most, because it requires website interaction from the developer, ! which is usually not what they're thinking about doing when they're coding.
"Fix Committed" and "Fix Released" are the ones most up to interpretation in general. In Drizzle, we use them to mean "A Fix has been committed to some branch and pushed to Launchpad" and "The fix has been pushed to trunk" respectively. I would personally love a third status "Fix Merged" which I could set it to when we set "Fix Released" now, and then use Fix Released for when the fix has hit a tarball... but I'll live.
To sum up:
- New - reported and not looked at
- Confirmed - someone has reproduced it
- Invalid - could not be reproduced
- Triaged - has been assigned an importance and a release target
- Won't Fix - reproducible but no intention to change the behavior
- In Progress - a developer is actively working on it
- Fix Committed - a developer has p! ushed a branch containing a fix for this bug to Launchpad
- Fix Released - the branch containing this fix has been merged into trunk
URL: http://inaugust.com/post/79
_______________________________________________ Mailing list: https://launchpad.net/~drizzle-discuss Post to : [email protected] Unsubscribe : https://launchpad.net/~drizzle-discuss More help : https://help.launchpad.net/ListHelp

