views:

446

answers:

2

A few individuals at my work have come together to form a group whose goal is to analyze the benefits of implementing some Agile software development / project management principles.

As a developer, I see great benefit in User Stories. We're looking to put together an information radiator that can be used for monitoring stages of the current release and planning future releases. I'd like to use User Stories for this process.

Right now, we're using Bugzilla for issue tracking. Most release planning is done using bugs from this system. The use of Bugzilla will probably not change. It provides most of what we need at the right cost ($0).

One concern is the mapping of User Stories to bugs. Release management is currently done using bug numbers. The problem is that one User Story could include three bugs or vice-versa.

In the scenario of having multiple reported bugs for a single User Story, one idea is to have a User Story Bug that spells out the story and set dependencies on child bugs that make up that story. I'm worried this may end up being too complex and create confusion among stakeholders, development, and QA. Also, it will clutter Bugzilla quite a bit.

Has anyone already been down this road? If so, what have you done? Should I push to abandon the idea of User Stories in Bugzilla? Is there a simpler solution?

Any thoughts would be appreciated.

+2  A: 

I've done similar things before in Bugzilla, and the solution I found was not to implement hierarchical "story bugs" or the like; we decided as well that that would cause confusion and was simply too complicated for what we wanted. The solution I've used before was simply to put the User Story number in the description for the bug; you can throw a link in there as well, to make it easier to dereference. It's a bit patchworkish, but it works pretty well.

McWafflestix
+2  A: 

I would say, that if your user stories need more than one bug case - they are too big. With good abstraction of the required functionality, you can split your user stories to a smaller ones, which require only one case per story, and then plan and proceed that way.

We have tried to use the approach @McWafflestix describes, with links from the cases to the official (wiki) document of the user story, but after some time we found, that creating smaller user stories is better - it also leads to a better application design, because each user story is implemented as abstracted as possible, providing better testability and maintainability of the code.

Sunny
I agree to some extent with your point, but I think the issue of breaking down the user stories into smaller user stories still adds the additional layer of indirection that a "user story bug" in bugzilla would; it's just moving the indirection to the user stories tool instead of bugzilla. not that that's the wrong thing to do; it's really up to the enterprise as to what works best. But if you're trying to minimize the complexity and depth, recognize that this just moves the complexity elsewhere. Like I say, nothing wrong with that, if that's what your organization finds that works.
McWafflestix
Yes, as I said, the other approach just didn't work for us very well, but it is still a good solution for many.
Sunny
Thanks for your advice. One problem I see with this is in a reverse scenario where a single bug needs multiple stories. Our customers are internal. One reason we use Bugzilla is because it allows every user to submit a bug without additional licensing cost. We will get cases where one user-submitted bug maps to multiple user stories. We could just create multiple story bugs and close the original issue, but this still adds a layer of complexity I'm trying to avoid.
Kevin Swiber