views:

116

answers:

2

How are you tracking changes, testing effort for bugs that impact multiple artifacts released separately?

Code sharing is good because it reduces the total number of paths through the code which means more impact for fewer changes and less bugs (or more bugs addressed with fewer changes). For example, we may build a search tool and an indexer that use the same file handling package or model package.

We need to be able to ensure that changes get tested in all the right components and track which changes were included with which released tools. We also don't want to be forced to release the change in all applications at the same time.

Goal: one bug to be tested, scheduled tracked independently against each released application. With automated systems that understand the architecture guiding us to make the right choices.


Bug Split Release Scenario:

We may release a patch of the search tool that contains a performance fix in a util library. Critical for the search tool, the fix is less visible in the indexer so it can wait until the next maintenance release. We want the one bug to be scheduled-tracked-released with the search patch and deferred for the indexer's next maintenance release.


So, when I create a bug in our tracking system (JIRA) I want it to magically become multiple objects.

  • primary issue describing the problem and tracking the development work
  • a set of tasks that allow me to track testing effort and for me to track how this issue has been released for each application it impacts.

How can we make the user experience of code sharing low effort to encourage more of it without becoming blind to what changes impacted which releases or forcing people to enter many duplicate bugs?

I'm sure that large scale projects from Eclipse to linux distros have faced this kind of problem and wonder how they have solved it (I'm going to poke around on them next).

Do any of you have experience with this kind of situation and how have you approached it?

A: 

For jira, make use of the affects versions and fixed in versions (plus you can add multiple custom fields, like verified by QA in versions)

+1  A: 

In Jira you can allow sub-tasks so you could assign sub-tasks to the main task. You can also allow time tracking on the issues so you know how much time each task is taking and what the difference between estimated and actual is.

You can also enable versioning so you have a road map of what is being done in the next release with a change log. The problem with the road map is that it is only for one project so you can't have a road map that covers all of your projects.

Finally, you can create your own custom workflows to do almost anything you want to do. I've never tried this because we'd have to learn a new language to do it and the reason we got Jira was to decrease development overhead, not increase it by having to customise our bug tracker - but it is possible.

Chris Latta
Thanks. I'm using the versions and have a custom workflow (jira 3.13 allows drafts and makes editting workflows much easier). I had thought about sub-tasks. I'd just want them to be spawned automatically based on which components were chosen. I think that's do-able even without a special plgin
Peter Kahn