After the previous talk on the abstract requirements, now it is time for a real tool, DebtFlag.
There are two different approaches to TD information production:
- Automatic: use predefined models that separate between good and bad pieces of the code. However, often not able to capture entire requirement space
- Manual: Can capture everything, but is of course very laborious.
The idea of DebtFlag is to combine the two. In DebtFlag, the documentation technique of Technical Debt Management Framework is used so developers can describe technical debt items that should be addressed later.
In order for this to function, DebtFlag needs a source point to start from and rule sets and dependencies to propagate though the code base. For instance: a class with methods that are flagged, is also flagged. The rules for this can be configured by the user.
DebtFlag (implemented as an Eclipse plugin) can even prevent developers from calling certain methods when they have a too high technical debt according to the defined rules.
I think the idea is cool. I am wondering a bit whether developers are going to use this (over putting a TODO comment or such in the code) but obviously it is way more powerful than that, as the propagation model makes it visible what the consequences of one TD item are.