A software project is so burdened with technical debt that it can hardly move forward with new features. As an architect, how will you set goals for reducing technical debt, calculate their relative costs and benefits, and develop an executable road map? This report proposes a practical approach proven by a real-world case study
- using quality attribute scenarios to analyze technical debt
- using cost-benefit analysis for reducing technical debt
- building a road map for reducing technical debt
A professional software engineer or an architect understands very well what technical debt is and how it burdens product development. However, coming up with a case that will convince management to allocate time and resources to its reduction often proves difficult when there is a full stack of functional must-have features on the table.
The presentation provides a case study for a practical approach to cost-benefit analysis of technical debt based on eliciting quality attribute scenarios and employing the SEI Cost Benefit Analysis Method (CBAM). This approach was successfully applied in an architectural assessment conducted by a team of SoftServe consultants including the author for a major international networking hardware and software vendor, and it resulted in building and executing a roadmap to optimize technical debt reduction for the assessed product.