Task Management: Teamscale or Issue Tracker
Dr. Benjamin Hummel
Teamscale comes equipped with its own task manager. As most development teams already use an issue tracker (such as Jira or Redmine), a common question is how Teamscale tasks relate to tickets in the issue tracker and whether one should replace the other. Not surprisingly, this is not a simple yes/no answer.
Teamscale’s task perspective basically allows you to group quality issues (findings), add comments, tags, and an assignee, and provides a simple workflow for these tasks (for more details read on here). The main benefits of Teamscale tasks are
- Easy creation: Just select one or more findings and create a tasks with one click.
- Automatic update of finding status: Teamscale knows about your findings, so it automatically marks those that are resolved or blacklisted.
- Simplified workflow: This might not be a benefit for every team, but if your ticket workflow is very heavy-weight, executing it for a single simple quality issue might not be worth it.
Assuming your own issue tracker is in place, there are three possible ways to deal with task management.
Use only Teamscale tasks
In theory, you could retire your issue tracker and manage everything in Teamscale. While this removes one tool from your already complex development setup, this is definitely not recommended. Because of its simplified task model and workflow, Teamscale tasks are well suited for quality issues, but not for tracking features and bugs. So please stick with you issue tracker for these items.
Use only your issue tracker
You can also go the other way and only stick to the existing tracker, completely ignoring Teamscale’s tasks. As Teamscale’s finding URLs are stable, you can easily link to them from your ticketing system. In this case, any quality issues you want to get resolved are usually managed in the issue tracker using a dedicated ticket type. The main benefit and the reason some of our customers are doing this, is that you have only a single source for managing and prioritizing planned changes. The main drawback is that you might have a hard time to manage small quality issues at the same level as new features and bugs, unless your issue process supports these light-weight issues. And you do not benefit from the automatic marking of resolved findings, as the issue tracker won’t get notified automatically. So to check this, this would be one more click for each finding.
This is the approach we and most of our customers use (and the way we built the tasks for). In this setup, you use your issue tracker as before (for features and bugs) and use Teamscale tasks for grouping and managing quality issues. To get features and tasks prioritized against quality tasks, you can either work with fixed time slots (e.g. each developer spends 20% of time fixing quality issues and 80% on features and bugs) or create a link from the issue tracker to Teamscale by inserting the task URL into the issue tracker ticket. This way, you can manage chunks of quality issues in your issue tracker, while not polluting it with discussions on individual findings. Additionally, checking the resolution status of all findings of a task can be performed by a single click.
To get the most out of Teamscale for your quality control process, we strongly recommend to integrate Teamscale tasks into you workflow. While tasks can also be substituted by tickets in your issue tracker, to get the best of both worlds use them side-by-side and link them accordingly.