For me, as a manager of a software project, an issue tracker is the main tool that I use at work. For example,during the last two weeks, I have spent 26.1% of my working time on Issue Tracking and this was the biggest single category (the second was Email Reading & Writing (18.5%), the third – Document Writing (15.4%)). Thus, I pay special attention to choosing the best issue tracking system for my team.
For the last 4 years we have been using ProjectKaiser and I am pretty happy about it. It is fast and highly oriented on communication, and features not only lists of issues, but also a means for documentation (wiki) and project planning (milestones). There are, however, some things that are not perfect – most notably searching for issues is sometimes tedious and I am missing a clear activity stream for the project (kind of "who is working on what" view).
Recently I decided to see if there have appeared any viable alternatives for Project Kaiser. I reviewed some recommendations from other people and visited web sites of all the major issue tracking systems. Then I selected four most interesting products and reviewed them in detail on the basis of my requirements.
The most important of my requirements can be summarized as:
Orientation on communication – an issue tracking system should be not only a database of issues, but should also support information exchange and discussion in the team. E-mail based communication should not be required, when we have an issue tracker, because all thoughts and conclusions should be available in a single system, easily accessible for future reference. What is more, all features that support effective collaboration are welcomed – like activity streams, notifications and votes.
Customization – each organization is different, so issue trackers should allow for defining custom issue types, issue fields and workflows.
Powerful search and organization –software projects are developed for many years and thousands of issues are created. There must be effective ways to organize thiswhole stuff and people should be able to quickly refer back to past issues and find relevant information.
Powerful filtering and reporting – in a daily work the user needs to switch quickly between various views that provide various perspectives. The most important view is about the issues that I should attend to (usually called "inbox"), but other views are also important – e.g. for reviewing issues that go to the next release, or issues that are waiting for merging to the stable branch. Moreover, from the perspective of a team leader, it is important so see an overview of what the entire team, as well as each individual person, is currently working on, and what is going to be done next.
Integrated WIKI – documentation is an important element of the software engineering process. When it is well integrated with an issue tracking software, then developers are more likely to write it, read it and refer to it (in the issues).
Convenient integrations – for the sake of work effectiveness, an issue tracker should be integrated with version control systems, email and should also provide a means for integration with additional tools that might be used (though someAPI).
In an initial scan I have selected the following four systems for more detailed evaluation:
The system that my team has been using since November 2010. It is not very well known, but it really deserves more attention.
Recommended by Mateusz Knyć. He says it is the best tracker he has ever worked with (earlier he had worked with Redmine). Mateusz mentions lack of WIKI as a major drawback.
A system that seems to have quite many features, but still its design is clean and it is easy to get started.
A system created in the company of Joel Spolsky, who has been one of the most influential bloggers on software engineering.
One product that many people recommend, which is not on my list, is Jira. I gave it a chance and also created a trial account, but my first impression is discouraging. I see it as over complicated and not particularly user friendly.
Besides the features that can be directly compared, each of the products also has some unique characteristics. Here is what I have found particularly interesting:
Unlimited project and issue hierarchy – it is possible to create an arbitrary structure of a project, with nodes corresponding for example to components, its sub-components etc.
Assignee and Responsible – each issue has two persons defined – one who does the work, the second who supervises it. This makes the software a very efficient communication tool.
Similar Issues – automatically finds similar issues when creating a new issue.
Command Dialog – search queries and actions can be defined with a powerful console-like interface.
Agile Board – issues can be presented in a Kanban-like view.
Keyboard Driven Navigation – there are handy keyboard shortcuts for various actions.
Mention username – with a simple syntax the user can notify other users about some comments, while writing them.
Mention @anyone – with a simple syntax the user can notify other users about some comments, while writing them.
Stand Up – a virtual method forreporting daily progress in the team.
Kanban Cardwall / Agile Planner – issues can be presented in a Kanban-like view.
I find all the four compared systems reasonably good. Project Kaiser, which is currently my main tool still appears to be a very good choice, but Assembla seems to fulfill some additional requirements.This is the system I chose for managing Herring Activity Tracker.
The third in the ranking appears FogBugz. It looks like a very nice product, but it is unreasonably expensive and I am afraid that it does not directly support team communication in the way I prefer.
The last one is YouTrack. I feel comfortable with its interface, but it seems to be missing somefeatures, especially a WIKI.