Technical debt is the consequence of poor or evolving software architecture and software development within a codebase. The debt can be thought of as work that needs to be done before a particular job can be considered complete. In this blog post, Bastian Buch proposes an agile approach to reduce technical debt. He first declares that technical debt hasn’t improve through agile development methods and principles, but only gained some visibility.
This is due to the fact that it’s not clear who is responsible for the reduction of technical debt: the team, IT leads, product owner, or the scum master? The product owner often doesn’t understand the need and benefits of reducing technical debt. He proposes a five steps approach to solve this issue:
- Involve the Product Owner and “promote” him to be the sponsor of technical debt reduction.
- Inventory and structure known technical debt
- Agile prioritization and estimation of the work
- Analysis of the data and development of the right strategy.
- Integration into the existing development process.
His conclusion is that like the product owner for features, the team is responsible to make the debt transparent and legitimize the work to reduce this debt. Who can do this, besides the developers themselves ?