»I'll clean up later«—Tasks in Teamscale
Posted on 01/20/2016 by Fabian Streitel
Anyone writing code knows that famous sentence: »I’ll clean that up later«. We have all heard it. We have all uttered it. And, as my colleague Daniela already remarked: No you won’t!
Most likely, you’ll forget about that long method you wanted to shorten later. Or that clone you think can be removed. Or that null pointer finding you’re sure to run into once your code goes into production. But there’s no time right now! So you leave it as is and turn to more pressing matters. And the quality problems stay—forgotten.
It is a challenge to keep track of these issues is a challenge. You want them to be visible to your entire team—they’ll just gather dust in your own personal ToDo list. But you don’t want to clutter your team’s issue tracker with every single finding either—some might just be too small to even be worth mentioning in your sprint planning session. Your quality engineer might want to have an overview over which issues have been recognized as solvable and worth removing—and also check your progress as you work on them.
All of this is hard to achieve with just a normal issue tracker. So we added a special feature to Teamscale: the Task perspective.
Don’t worry! We’re not trying to supplant your existing issue tracker! This is just a helpful little addition to it. Instead of tracking text-only issues that describe the findings, Teamscale tracks the findings themselves. Each task has a list of findings that should be addressed when working on it:
Findings can easily be added or removed from tasks and their status is tracked over time. If you remove a finding in the code, its removal is reflected on the task page:
This quickly allows you to see what has already been done and how much work remains to be done in a task—which is especially great for long-running maintenance tasks such as removing a lot of similar clones or cleaning up in a remote corner of your code base. You’ll never lose track of what’s still left to fix. It also allows you to jump right from the task to the corresponding code, to diffs of how the findings were removed and much more. No middle-man involved!