6 JIRA issue-smells
[ vmassol ] 11:11, Saturday, 4 December 2004

When working using a Time-boxing approach with JIRA there are some typical issue-smells that I have noticed appear frequently. In order to perform good deliveries it is important to fight them.

  • Issue smell 1: Too many unscheduled issues. This means that new issues are not assigned to iterations, i.e. that they are not planned to be fixed.
  • Issue smell 2: Open issue from past iterations. Any issue that is left from a previous iteration has to be rescheduled so that everyone knows when it is planned to be fixed. If some portion of the issue has been done, I've found that it is usually best to split the task into 2, so that the work done in the iteration it was scheduled is clearly shown in the release notes for that iteration and the unfinished part can be scheduled in a future iteration.
  • Issue smell 3: No iterations in changelog view. This means that past iterations that are finished have not been JIRA-released. The good thing about releasing an iteration is that it forces to solve the unfinished issues (see Issue smell 2). In addition it allows cleaning the roadmap view that becomes less cluttered by all past issues and which gives a clear view of what's left to be done. Last it provides an important feeling of achievement.
  • Issue smell 4: Issue types in issue description. I have often noticed that some JIRA projects were using some description conventions for some issue types. For example, using XXX - Code review for a code review issue on the XXX feature. In that case, a real JIRA issue type should be created. The reason is that by defining a proper JIRA issue type, it is now possible to perform operations on this new issue type: it will appear properly in the release notes under its own category, it can be searched for, etc.
  • Issue smell 5: Issue status are not in sync with the reality. This is often a big problem (especially with distributed teams) as people usually rely on JIRA to provide an exact view of the progress. If issues are found not in sync, there's a tendency to not "trust" JIRA anymore, which in turn leads to less using it and loosing visibility. One good strategy is to do Issue Driven Development (IDD). It goes like this: When a task is done and just before the code is checked in, ensure that the corresponding JIRA issue is marked as Resolved/Closed. If there's no issue, create one (unless the modification is a really minor one that the user should really not be concerned with). Then check in the code mentioning the issue number in the checkin comment (that allows for example using the JIRA CVS/Subversion plugins). Note: If you're using CVS/Subversion you could write a quick pre-commit hook that verifies that each comment has a reference to a JIRA issue.
  • Issue smell 6: Lots of resolved (but not closed) issues. Most projects I have seen do not use a Resolved state. However, people often mark the issue as resolved but not closed and the issue stays in this state for ages without anyone doing anything about it. So either remember to directly close issues or if you're using JIRA 3 create a custom workflow that do not have a Resolved state (if you're not using the resolved state of course!).

Let me know if you have found other important issue-smells when using JIRA!


Comments

Issue smell 7: Issues assigned to persons who left the project.

many times, the issues assige to persons who left the project are ignored or mistakenly not included in reports. These issues must be assiged to someone else and correct status should be known when person is leaving the project.

--Vinit, December 4, 2004 12:17 PM

Issue smell 8: two issues rolled into one.

A reporter reports an issue, and 'mentiones' another problem in the same description that really should be a seperate (linked) issue.

--Mathias Bogaert, December 4, 2004 01:47 PM

Re Issue smell 6: Perhaps an explanation about the differences of "closed" and "resolved" would be good.

--Maik, December 4, 2004 03:21 PM

Re issue 6: My understanding is that resolved is used when the developer thinks the problem is solved. Closed is when the user/customer/tester agrees with the developer.

--L Jantzen, December 4, 2004 09:48 PM

vmassol, could you give us your take on resolved vs closed, and why most projects don't used resolved?

--brian, March 22, 2005 08:24 AM

The reason why a resolved state is often there but not used:
- It's an extra workflow step thus it takes more effort to follow it
- The issue Reporter is the one supposed to verify that the issue has indeed been resolved to his/her liking and then close it. However very often the Resolver is either not aware of the process or does't not care or forgets about it. It also happens that the Reporter is the developer fixing the bug.

Personally I prefer to systematically let the resolved close the issue. The reporter will get an email and will still have the chance to reopen the issue if need be. In practice this happens very unfrequently thus saving an often unnecessary step. YMMV.

--Vincent Massol, March 22, 2005 08:57 AM
Post a comment









Remember personal info?