Jared's Weblog

Main Page - Blog - Books - Links - Resources - About - Contact Me

This page is based on the issue tracking software appendix (Appendix E) in Ship It!.

Issue Tracking Software

Issue tracking software manages your projects’ lists of bugs, things to do, and other items of interest. Properly used, these lists become the “memory” for your project.

What’s Available:

Bugzilla- An open-source web-based bug tracking system. Bugzilla is widely used by many organizations including Mozilla and Red Hat. Here is a list of organizations who use Bugzilla.

JIRA-“Try-before-buy” system with extensions for such things as email, RSS, Excel, XML, and CVS. This is the system the CruiseControl project uses.

FogBugz-Another commercial product from Fog Creek Software, the company of Joel Spolsky (of “Joel on Software” fame).

Trac  Trac is an open source project that integrates with Subversion and has a built in Wiki.

Key Concepts:

Issue entry-How you get the details of your issue into the system. Some tools use a web interface to enter the issue descriptions, and others need you to load client software onto your system.

Issue description-What the issue is and, if appropriate, how to reproduce it.

Assignment-Who’s going to work on it.

Prioritization-How important the issue is relative to all the other issues in the system.

Search-Finding relevant issues based on criteria such as product, user, priority, etc.

Reporting-Generates reports of the issues based on relevant criteria.

Notification-Notifies the appropriate parties when something in the system changes (new issue, change in issue status, etc.)

Integration with other tools-Tie-ins with notification systems, source code management systems, report generation tools, etc.

User-specific operations-Limit operations based on user permissions, and allow customers to file bug reports.

How to Choose:

Interface-Is it easy to perform the operations you do frequently? Can you get to the system from everywhere you need to?

Scalable-Will it handle all your projects and their issues? Can it handle all your users?

Not too complex-If it’s not easy to use, nobody will use it.

Tracks the info you need-Does the tool capture all the information you care about? Does it require information you don’t need?

Generates the reports you need- Will this tool give you the reports you need out of the box, or will the standard reports require significant customization? Is the information you care about even available?

Notification options-Such as email, RSS, web pages, wikis, etc.

Supports/integrates with your existing tools-Otherwise, you’ll have to move information back and forth manually.

Runs on your platforms-If you have developers working on multiple platforms (PC, Mac, Unix, etc.) make sure they all have access to the tool.

For More Information:

See Practice 5, Track Issues, on page 35 and Practice 6, Track Features, on page 39 of Ship It!