The Liberators
Published in

The Liberators

Technical debt is like a loan. The longer you postpone paying it back, the more interest you pay

How to deal with Technical Debt in Scrum

1. Use powerful metaphors

2. Take responsibility as Developers

3. Use Code Metrics to quantify Technical Debt

  • Cyclomatic complexity: This metric quantifies the complexity of your code by analyzing the number of branchings in the code compared to the total number of lines of code. An if/then/else statement, for example, has two branchings. A switch/case statement has as many as there are cases. The higher the cyclomatic complexity, the more difficult code generally is to maintain.
  • Code coverage: Code coverage is the percentage of your code that is covered by unit tests. A lack of unit tests is a source of technical debt, as unit tests both document and verify how classes are supposed to work. Most IDEs and CI-servers can calculate code coverage for you. Going for 100% shouldn’t be the goal, and easily leads to a lot of useless unit tests that take a lot of time to maintain. Instead, focus on unit tests for business rules and classes with important logic. A good rule of thumb is to make sure that the coverage stays at least the same when new code is added.
  • SQALE-rating: a metric that offers a broad evaluation of software quality, based on a number of internal rules. The scale goes from A to E, with A being the highest quality. Most specialized code quality plugins can calculate this rating (see below);
  • Number of rule violations: this metric calculates the number of rules violated from a given set of coding conventions. Violations are usually grouped in categories, from critical to minor
  • Bugcount: as technical debt increases, quality of the software decreases. The number of bugs will likely grow. Monitoring the number of (critical) bugs that pop up is a simple but useful metric to track;
  • Cost of Delay: this (mostly manual) metric helps to make visible how much time a team loses due to technical debt;
NDepend in action

4. Make Technical Debt transparent on the Product Backlog

Closing thoughts

You can already support us with $1/month. Find out more on patreon.com/liberators

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Christiaan Verwijs

I liberate teams & organizations from de-humanizing, ineffective ways of organizing work. Passionate developer, organizational psychologist, and Scrum Master.