Comparison of Issue Tracking in Major SCM Tools

Comparison of Issue Tracking in Major SCM Tools

I recently discussed with one of our customers about their customer, who wanted to get rid of Atlassian JIRA. The underlying reason for this was a simple one: JIRA is just too complex for their needs. Naturally our discussion with the customer revolved around JIRA alternatives, which could provide the team with a flexible issue tracking tool.

We ended up comparing a bunch of different software configuration management tools and especially their issue tracking features. For this particular customer, possibility to set the issue's priority and state according to your own workflow was a must-have, which is pretty evident in the following comparison.

If you wish to see just a summary of the key features in a nice table format, you can skip right to the end of the post or click here.

Deveo

Deveo issue tracking

Deveo has a project based approach to software development. All of the relevant information - such as source codes, documentation etc. - can be accessed through individual projects. As a result, also the issue management is project bound.

In Deveo, all the issues are categorized under milestones. Therefore, you are asked to create a milestone before you can add your first issue. As you create the milestones, you can set your own priorities and states for the issues. This is handy because you most likely have different priority levels for your issues, and want to set the states according to your team's workflow. Interestingly, all the other tools we compared lacked this feature.

After you have your milestone set, adding new issues is simple, you just click the plus icon in the top-right corner of the issue view, and a sidebar for issue creation appears. In this view, you can also create and manage labels, which get a color identifier automatically.

Deveo also supports deadlines in issues since the version 3.17. Deadlines increase productivity and improves tracking the progression of the project. Due dates are easy to set up in the issue view.

Filtering the issues is very versatile because Deveo allows you to set your own priorities, states, and labels. So, if you are having, e.g. a sprint meeting where you are going to go through UX-related issues, you can easily sort out all the issues with UX label and see their states, priority levels and assignees with one look. In addition to these, you can filter your issues based on milestone or assignee.

Additionally, the custom states allow Deveo to visualize the issues within a milestone in a task board view. The task board view was released in Deveo 3.11 and you can see it in action below:
Deveo Kanban board

In conclusion, Deveo's issue management is intuitive, easy to use, and has all the necessary features you'd need in a project based issue management tool. Ability to set your own priorities and states is a huge advantage compared to other tools, and the board view gives a good overall view over the milestone.

Here's a how-to video of Deveo's issue management feature:

GitLab

GitLab issue tracking

GitLab's issue tracker seems pretty similar to Deveo's and Github's issue management tools. However, the main difference to Deveo is that GitLab's issue management is repository-bound.

After you login to GitLab, you can see all the issues from all of the projects assigned to you by clicking the "Issues" link on the left. If you want to access project-related issues, you need to navigate to the project first. For a first time user, this may be a bit confusing.

When you are in the project view, adding new issues is made easy. You cannot miss the big green "+ New Issue" button. By clicking it, you can add a new feature even without creating a milestone first, and if you want, you can leave the milestone empty so that you can have independent issues in the project. If you want to put some heat on getting the milestone done, you can set a due date for it.

However, your issue states can only be "open" or "closed", and issue's priority is set by choosing a weight on a 1-9 scale, which cannot be modified. In my opinion, letting the users set their own states and priorities is more useful. How can I know what issues are currently being done by somebody if the only option is "Open"?

Labeling is simple, although you have to add new labels in a different tab or window and then reload the issue creation window.

In the issues view, you can filter the issues by multiple different factors. However, due to the inability to set your own states, you see only open, closed or all issues. A good feature is the bulk editing possibility, though. You can choose multiple issues by checking the checkboxes, and change their milestone, status or assignee.

To sum up, GitLab's issue management has nice features, looks good, and lets you use emojis and choose the color for your labels. Communicating in an issue is possible, as it is in all of the other tools as well. However, the end-user should also have the freedom to choose their issues' states and priority levels according to their own preferred workflow.

GitHub

GitHub issue tracking

Similarly to GitLab, GitHub allows you to create issues without assigning them to a certain milestone. Another similarity is that the issue management is repository-bound. Lastly, you cannot set any priorities or modify states. GitLab had at least default weights, but GitHub doesn't have even those.

However, styling the issue's description text is a bit easier on GitHub because, in addition to the Markdown syntax, which is supported by all of the tools evaluated here, GitHub also has shortcuts for the desired actions in the toolbar, which helps to use the proper Markdown commands.

When you open a specific issue, you can comment and discuss the issue. Unlike the other tools, you don't see a dedicated button for adding attachments. Thus, it seems that GitHub doesn't even support attachments, but it actually does. You can drag and drop files in the text box. I'd say that a clear button for attachments would be more intuitive.

In conclusion, GitHub's issue management tool has a lot of similar features with Deveo's and GitLab's issue management tools. Simplicity is a plus. You cannot set deadlines for issues but you can do that for milestones. Lack of any kind of prioritizing system is a problem from the project management angle.

BitBucket

BitBucket issue tracking

BitBucket hasn't made using its issue tracker too lucrative. You need to enable issue tracker from repository settings before you can even start creating issues in your project. The reason for this counterproductive approach is obvious: Atlassian just wants you to use JIRA (they even advertise in the settings and issue view).

As a result, Bitbucket's issue tracking is the weakest one of the compared tools. Adding a new issue is simple but you cannot set multiple labels and you are not allowed to modify the default priority levels. Furthermore, I had difficulties in figuring out how to use the labels. In Bitbucket, you need to use their default "Kinds" and you can set extra labels by adding "Components" in the settings. But as was said, you cannot add multiple components to an issue and thus, labelling is very limited.

Additionally, you don't have a possibility to set your own states for the issues. They are either open or resolved. You can, however, add a workflow status to the issue but these are also by default, and you cannot modify those either. If you want to filter the issues, you need to navigate to "Advanced Search", where you can sort out issues by status, milestone, assignee etc.

There is no way of adding deadlines for issues or even milestones. This is a clear handicap compared to other reviewed SCM tools.

To sum up, BitBucket's issue management lacks a lot of the basic features you would expect from an issue management tool. But as was said earlier, Atlassian obviously wants to guide you to use Jira.

In Conclusion

The customer, with whom we discussed the Atlassian JIRA alternatives, has a lot of great alternatives. If you are looking for a flexible solution that doesn't require a lot of configuration, most of the software configuration management tools include pretty decent issue management tools. You just need to set your priorities straight and know what types of features you'd need. In our case, the possibility to set up your own priorities and issue states was a valuable feature but was not available in all of the tools. Thus, the customer's choice was rather obvious.

Here's a table of the key features of the evaluated tools.

Code Hosting Platform Issue Tracking Comparison

Are you interested in reading more about why Deveo is the best alternative to GitLab, Github, or BitBucket? Check out these sites:

Seamless software development.

Code management and collaboration platform with Git, Subversion, and Mercurial.

Sign up for free
comments powered by Disqus