Technical debt is a natural byproduct of every successful software system. Great teams learn how to use technical debt to their advantage to improve time to market and balance short-term gains with long term pains. In this talk we'll share our experiences creating, measuring, and paying down technical debt by sharing how we created a technical debt portfolio and used our portfolio as a guide for planning change.
Creating a technical debt portfolio requires that we consider not only the debt within architectural components but also how those components align with the system's roadmap. We can measure debt in the architecture by looking at metrics such as such quality, churn, and conceptual integrity. We can prioritize the debt across our system by combining technical metrics with business concerns such as the probability of change (based on our roadmap) and potential value created (estimated by our product manager).
By the end of this talk, you will learn strategies for measuring technical debt, creating a portfolio of debt, and using that portfolio to choose next steps to improve your software system.