Sunday, December 26, 2010

Comparison of Bug and Issue Tracking Systems

Issue-tracking systems are used by organizations to create, manage and resolve issues. A software development company uses issue-tracking system at the center of its development to track bugs and thereby improve the code quality and speed of development. Issues can also be reported by help desk resources in Corporations who provide help desk or service support to their customers.An issue-tracking system is used by people from cross-functional teams. Therefore it should be so simple to use that people like to use it instead of avoiding it. Yet it should flexible and configurable enough to handle complexities and scale with projects. Following is a comparison of the top most popular issue-tracking systems on the basis of core features and important factors to be considered while choosing to deploy an issue-tracking system.

Implementation Language and Backend
One of the important factors to consider while choosing an issue-tracking system is the implementation language. Choice depends on the current IT environment and the available skill-set in the organization. Most of the issue-tracking systems are implemented in either C, C++, C#, ASP, perl, php, RoR or JAVA. Bugzilla, MantisBT and Request Tracker are implemented using perl. While Trac is implemented in Python. JIRA on the other hand is implemented in JAVA. Since JAVA is the most widely used programming language, it makes sense to use a JAVA based issue-tracking system.
Issue-tracking systems require a backend database even though there are some less popular systems like org-mode and ikiwiki which support files. Database based systems are better than file based since the later may not scale well. Common database options are limited to Access, MS SQL Server and/or MySQL. Only a few issue-tracking systems like JIRA are really cross database systems. JIRA can work with MySQL, PostgreSQL, Oracle and SQL Server. While Bugzilla system requires MySQL, Oracle or PostgreSQL.

Read more: IndicThreads