Agile Software Development, Scrum, Extreme Programing, XP, Test Driven Development, TDD, Feature Driven Development, FDD, Lean, DSDM, Behavior Driven Development, BDD, Refactoring, Pair Programming, Kanban
 

Managing a Technical Debt Portfolio

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. This talk shares some experiences creating, measuring, and paying down technical debt by sharing how to create a technical debt portfolio and used the 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.

Video producer: http://www.sei.cmu.edu/saturn/