Proponents of Agile software methods often emphasize higher productivity and shorter time to market as two major benefits. For new code bases that are not over-burdened with technical debt, it is indeed fairly straightforward nowadays to attain both benefits. The story is very different, however, when teams embrace Agile methods in the face of significant level of technical debt. The debt often outweighs methodical progress made through adopting Agile.
To effectively service debt, one needs to ensure that technical debt stories in the Agile backlog would not become ‘second class citizens.’ To that end, we propose treating technical debt as a strategic investment theme. To our way of thinking, technical debt is no different from customary budget allocations to growing market segments, tactical sales opportunities, cost reduction initiatives and the like.
The key to success in implementing technical debt reduction under a strategic investment theme ‘umbrella’ is rigorous integration of technical debt reduction techniques in the Agile method. This kind of rigor requires intentionality at two levels:
1. Forward looking backlog management that fully takes into account the long-term consequences of technical debt.
2. Ruthless operational discipline that is ready to ‘stop the line’ whenever technical debt levels get significantly out of line.
Like it or not, sooner or later you will have to service your technical debt. The techniques proposed in this presentation will enable you to implement a disciplined manner of paying back your debt.