Understanding what is issue tracking, how issue tracking tools help in software development life cycle and what myriad capabilities are now bring offered by popular issue tracking systems - are important topics to be considered by teams focussing on software development with increased sustainability and productivity in mind.
|Resource name||Issue tracking software|
|Websites||JIRA, TRACKER, Bugzilla, Bitbucket, GitHub, GitLab|
|Focus||Issue tracking and collaboration|
Issue tracking software is used to make it easier for software developers to manage, record, track, resolve and be able to search on past issues, software bugs, or other problems. Issue Tracking software is especially useful in eliminating duplicate efforts.
Software developers who collaborate and work in a community environment want simple but effective tools that are intuitive and easy to use. At the same time, they want the tools to be robust and have options that are straightforward to understand and are benefical to all team members.
As a community, we are talking to scientific software developers to find out which tools they use that are the most effective for the way they work. Some developers collaborate across countries and on different time zones and have to work rapidly to meet hard deadlines.
This article will focus on Scientific Software Issue tracking tools for a community of people who collaborate across distances and disciplines (computer scientists, engineers, physicists, software developers, etc.)
Folks in the scientific computing field need a myriad of capabilities from Issue Tracking Systems:
- Be accessible anywhere, from any system, i.e web based
- Be available for both users to report bugs, track progress on requests
- Allow developers to manage permissions for updating issues
- Provide email updates on status of issues
- Allow priority setting on issues
- Allow searching and sorting
- Allow labeling issues with keyworks to facilitate searching
- Allow establishing and tracking milestones needed for resolutions
- Allow both users and developers the ability to add and update notes
- Provide links from the issue tracker to the commits in the software that represent progress on the issue
- Be intuitive to new and casual users, and retain features needed by experienced developers
- Have a help package and good documentation
- Be affordable (no hidden costs)
- Provide many features and functions - (features not used can be transparent)
- Provide history tracking, intuitive workflow, continuous integration, and real-time collaboration
Most modern web-based repository hosting systems such as BitBucket, GitHub, and GitLab provide integrated issue tracking systems and support most, if not all, of the capabilities listed above.
The Issue Tracking software that are most frequently used by software developers are listed in this article. However, in addition to Issue Tracking software, there exist several other options such as Trouble ticket systems used by HelpDesks across the organizations. Some of the popular ones are ServiceNow, Remedy, Salesforce, Samanage, Wrike, etc.
Wikipedia has an extensive page comparing various Issue Tracking Systems that are in use today.
Popular Issue Tracking Software
The following is a short list of Issue Tracking Software that are used or recommended by scientific software developers in the High Performance Computing and Exascale Community.
JIRA by Atlassian
JIRA is a proprietary Issue Tracking product, developed by Atlassian. It provides bug tracking, issue tracking, and project managment functions. According to Atlassian, Jira is used for issue tracking and project managment by over 75,000 customers in 122 countries around the globe and is a mature, usable software product. Thousands of teams choose JIRA to capture and organize issues, assign work, and follow team activity.
TRACKER by PhaseWare
TRACKER is another well-established Issue Tracking product, which supports organization needs. Its Issue Tracking solution provides a customizable and configurabe, responsive tool which is set to help a project streamline the issue tracking process, effectively manage the workload, and increase productivity.
Bugzilla is a web-based general-purpose bugtracker and testing tool originally developed and used by the Mozilla project and licensed under the Mozilla Public License. Bugzilla is server software designed to help manage software development. Its features are: excellent security to protect confidntialitiy, integrated email capabilities, advanced query tools that can remember your searches.
Bitbucket is built for professional teams and is a distributed version control system that makes it easy for one to collaborate with their team.
GitHub is a web-based hosting service for version control using Git. It is mostly used for computer code. It offers all of the distributed version control and source code management functionality of Git as well as adding its own features.
GitLab is a web based Git-repository manager with wiki and issue-tacking features, using an open-source license, developed by GitLab Inc.
With several options now available, software developers have oppurtunities to pick and choose the right Issue Tracking Tool that fits the needs of their team and overall project.