Technical Debt: SPLASH 2014 Workshop Report

SPLASH 2014, Portland, OR
October 20, 2014

Workshop conclusions

Technical debt is more often "swept under the rug". We need to think about mitigation and management, and we need to teach others about technical debt issues.

The workshop attendees addressed the following five technical debt issues:

  1. How to mitigate technical debt
  2. How to manage technical debt
  3. How to make technical debt visible
  4. Technical debt and Agile
  5. What do we teach the next generation?

1. How to mitigate

We need strategies for keeping technical debt under control, and sometimes prevent creating it in the first place.

Four ways to keep technical debt from growing:

2. How to manage

We know we are going to have technical debt, so how do we live with it?

3. How to make technical debt visible

Two key ways to find problems:

Static code analysis tools find some technical debt problems, especially in a large legacy code base.

We should prefer "peer-to-peer collaboration" to central command and control. Collaboration supports better information sharing, and less manipulation of metrics.

A couple of useful metrics:

We also need to look at test results:

4. Technical debt and Agile

It is all Agile -- all projects need to react to technical debt in an agile way.

5. What do we teach the next generation?

Get experience with technical debt

Outside of a course with teams working on a "big project", are there other ways to learn?

Workshop attendees

Thanks to everyone who contributed to a great discussion!

Last modified: Oct. 21, 2014