Hours, days and months are spent building a project. The entire team immerses into code and development but the hour of judgment is the point of its implementation. No matter how much hard work has been woven into the project, the possibility of issues and bugs always loom. The best way to weigh the strength of a team is not by how they respond when things go as planned but it is to see how they pass through the speed breakers smoothly and proceed to completion of the project.
A crucial tool for any project management chain, particularly in software development, is issue tracker. The intention of an issue tracker is to track and resolve the bugs in a coordinated manner along with consistent trailing of the progress. Since every project has its own set of technical requirements, it is important to thoroughly analyze the issue tracking tools available and to select the most suitable one.
Based on the quality of features and the participation of community in development of project, I have chosen four feature-rich and project-oriented issue tracking tools which are open-source.
Primarily a software configuration management system, Fossil tracks the progress of a software project and records the chronology of events that mark this development. It is implemented in the mode of a singular executable called ‘fossil’ (i.e. “fossil.exe” on Windows). Features of Fossil include:
- Intuitive web interface: displayed on an intuitive web interface, Fossil comes with a series of guidance sheets which allow for contextual awareness.
- Self-sufficient app: there is no need to install any secondary software along with Fossil, making it a self-sufficient application.
- Distributed version control and the tri-function: beginning with control over distributed versions (as done by Mercurial and Git), Fossil also brings together the three functions of wiki, technotes and bug-tracking.
- Networking made easy: Since Fossil uses simple HTTP (/HTTPS/SSH) for networking, there is no need to custom the protocols or TCP ports.
- Sans Server: Fossil is SCGI/CGI enabled which implies that there is no need for a server. In case you desire to set up a server, Fossil backs up four server configurations.
- Autosync: In distributed projects, there is often a need for cumbersome forking and merging. This is prevented in Fossil by use of auto sync mode.
Weakness: The common challenges while using Fossil have been the need for a TortoiseFossil (designed for non-technical users) and more merging options along with the lack of fully-fledged community involvement.
Written on Ruby-on-Rails, Redmine is a dynamic web application for project management. Launched about 9 years ago, it works across platforms and is licensed under GNU General Public License 2. Features of Redmine include:
- Multi-project support: using one Redmine instance, you can handle all the projects wherein each user can be attributed a separate role in individual projects. The projects can be announced publicly or privately with enabling/disabling of modules within each project.
- Dynamic issue-tracking: the project team can define the status and issue types. Using web-based admin interface, each issue type and role can be attributed a certain workflow transition.
- Time-management: time can be determined at the level of ticket or project. A basic report can be sought, showing time per user, category, issue type and activity.
- Wiki & forums: wiki and forums can be established for each project where free linking and textile syntax is used.
- Repository explorer: Every project can be accompanied by existing repositories such that you can flip through the content, view and search the change sets. The supported SCM includes Bazaar, Subversion, Git, CVS and Mercurial.
- Multi-LDAP authentication: Users can be authenticated against more than one LDAP. Optional features include the ability to create an account instantly when a user is discovered.
- Self-registration: While you can permit the users to register online, there are three ways to activate the account: automatic (no need for confirmation), auto-generated URL (via mail) and manual (by admins).
- 34-languages: Redmine supported 34 languages including Hebrew, Dutch, Norwegian, Thai, Slovak, Ukranian and Italian.
Weakness: While installing Redmine earlier (about three years ago) was problematic, the inclusion of Redmine in Ubuntu through simple command line or software center has eased the process now. The problems with installation include the need for dependencies (whose many versions could be incompatible with one another).
Mantis has brought about a series of upgrades and changes to strengthen and polish its issue tracking system, with the latest release MantisBT 1.2.19. Mantis is, at the basic level, an issue tracking system that allows for heavy and easy collaboration with team members. Implemented in PHP, Mantis comes with easy installation (internal and in-host environment). It can be easily evaluated beforehand using Demo, InstantMantis and Mantis2Go. The user interface has been simplified to allow distraction-free and focused task management. Run on SOAP web service, Mantis is PHP-implemented and includes .NET/Java/Cocoa client library. It supports all platforms running PHP (Linux, AS400/i5, Windows, Mac, Solaris and others) and is enabled in over 65 localizations. Within one instance, many projects can be handled and issue pages can be customized. There is support available for categories, projects and sub-projects. Within every project, users can be attributed a different access level. Search and filter options are available where you can do a full-text search, simple or advanced filter along with shared filters (across projects and users). You can coordinate with the team through mail notifications on resolutions, issue updates and comments. Workflow, issue fields and notifications can be personalized according to needs of the project. Captcha and email confirmation is used for signing up along with self-service support for resetting password. You can report issues either through mail or custom form on the website. Sponsorship support can be enabled by placing bounties or sponsorships for particular issues. Developers can keep a track of the payment and sponsorships. Projects, notes and issues can be categorized either as public or private. Multiple DBMS (PostgreSQL, MS SQL, DB2, MySQL, Oracle) support is available through ADODB.
Weakness: Some issues with installation have been noted including 403/500 errors on Linux server.
Phabricator is primarily a software development platform which integrates a series of open-source web applications. The diverse range of applications serve many functions including: selection of pixels with designers, review and audit of code, hosting of Git/SVN/HostGit repositories, tracking of bugs and issues along with features like memes, tokens and badges. Mercurial, Git and Subversion are supported by Phabricator. While the server operates on Mac OS X or Linux, the web app can be used across platforms. Mostly written in PHP, Phabricator is available in two free open-source editions: Awesome Edition and Serious Business Edition. You can review the code with Differential, where you can examine, accept or reject the code. Diffusion can be used to analyze the code on browser where commits and text (in varying colors) can be shown. Maniphest is employed to trail all the issues with the code. These can be assigned to people. Phriction can be used to make and organize notes. The GUI can be enhanced using Workboard where the order of tasks can be changed and separate columns can be formed for varying team sets. Collaboration with team members is made easy with Conpherence. You can track the progress of your project with Herald where notifications are sent when events occur: change in file, activity of interns, business rule formation and others.
Weakness: Issues with Task Daemon and mistaken removal of commit history have been reported. At some instances, there were problems with sending mails, which have been resolved through complete restart of the system.