Practical considerations, challenges, and requirements of tool-support for managing technical debt

Developing a software product with a high level of quality that also meets budget and schedule is the main goal of any organization. This usually implies making tradeoffs among conflicting aspects like number of features to implement, user perceived quality, time-to-market, and the ability of the company to maintain and improve the system in a feasible way in the future (aka, managing Technical Debt (TD)). In this paper we present a fresh perspective on TD from a CMMI Maturity Level 5 company. Examples, practical considerations, and challenges in dealing with TD are presented along with ten requirements of a tool for managing TD.

[1]  Forrest Shull,et al.  Investigating the impact of design debt on software quality , 2011, MTD '11.

[2]  Chris Sterling,et al.  Managing Software Debt: Building for Inevitable Change , 2010 .

[3]  Lionel C. Briand,et al.  Determining inspection cost-effectiveness by combining project data and expert opinion , 2005, IEEE Transactions on Software Engineering.

[4]  Mehrdad Sabetzadeh,et al.  Combining Goal Models, Expert Elicitation, and Probabilistic Simulation for Qualification of New Technology , 2011, 2011 IEEE 13th International Symposium on High-Assurance Systems Engineering.

[5]  Philippe Kruchten,et al.  The value of design rationale information , 2013, TSEM.

[6]  Jane Cleland-Huang,et al.  The incremental funding method: data-driven software development , 2004, IEEE Software.

[7]  KruchtenPhilippe,et al.  Decision-making techniques for software architecture design , 2011 .

[8]  J. Charles Kerkering,et al.  Eliciting and Analyzing Expert Judgment, A Practical Guide , 2002, Technometrics.

[9]  Carolyn B. Seaman,et al.  A Balancing Act: What Software Practitioners Have to Say about Technical Debt , 2012, IEEE Softw..

[10]  Barry W. Boehm,et al.  Software development cost estimation approaches — A survey , 2000, Ann. Softw. Eng..

[11]  Robert L. Nord,et al.  Technical Debt: From Metaphor to Theory and Practice , 2012, IEEE Software.

[12]  Mario Cannataro,et al.  Protein-to-protein interactions: Technologies, databases, and algorithms , 2010, CSUR.

[13]  Jeremy E. Oakley,et al.  Uncertain Judgements: Eliciting Experts' Probabilities , 2006 .

[14]  Rick Kazman,et al.  Decision-making techniques for software architecture design: A comparative survey , 2011, CSUR.