The Pricey Bill of Technical Debt: When and by Whom will it be Paid?

Software companies need to support continuous and fast delivery of customer value both in short and a long-term perspective. However, this can be hindered by evolution limitations and high maintenance efforts due to internal software quality issues by what is described as Technical Debt. Although significant theoretical work has been undertaken to describe the negative effects of Technical Debt, these studies tend to have a weak empirical basis and often lack quantitative data. The aim of this study is to estimate wasted time, caused by the Technical Debt interest during the software life-cycle. This study also investigates how practitioners perceive and estimate the impact of the negative consequences due to Technical Debt during the software development process. This paper reports the results of both an online web-survey provided quantitative data from 258 participants and follow-up interviews with 32 industrial software practitioners. The importance and originality of this study contributes and provides novel insights into the research on Technical Debt by quantifying the perceived interest and the negative effects it has on the software development life-cycle. The findings show that on average, 36% of all development time is estimated to be wasted due to Technical Debt; Complex Architectural Design and Requirement Technical Debt generates most negative effect; and that most time is wasted on understanding and/or measuring the Technical Debt. Moreover, the analysis of the professional roles and the age of the software system in the survey revealed that different roles are affected differently and that the consequences of Technical Debt are also influenced by the age of the software system.

[1]  H. Keselman,et al.  Consequences of Assumption Violations Revisited: A Quantitative Review of Alternatives to the One-Way Analysis of Variance F Test , 1996 .

[2]  Bill Curtis,et al.  Estimating the size, cost, and types of Technical Debt , 2012, 2012 Third International Workshop on Managing Technical Debt (MTD).

[3]  Richard T. Vidgen,et al.  An exploration of technical debt , 2013, J. Syst. Softw..

[4]  Jan Bosch,et al.  Time to Pay Up: Technical Debt from a Software Quality Perspective , 2017, CIbSE.

[5]  Rodrigo O. Spínola,et al.  Exploring the costs of technical debt management – a case study , 2016, Empirical Software Engineering.

[6]  Zadia Codabux,et al.  Managing technical debt: An industrial case study , 2013, 2013 4th International Workshop on Managing Technical Debt (MTD).

[7]  Robert L. Nord,et al.  In Search of a Metric for Managing Architectural Technical Debt , 2012, 2012 Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture.

[8]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[9]  Jan Bosch,et al.  The Danger of Architectural Technical Debt: Contagious Debt and Vicious Circles , 2015, 2015 12th Working IEEE/IFIP Conference on Software Architecture.

[10]  Peng Liang,et al.  A systematic mapping study on technical debt and its management , 2015, J. Syst. Softw..

[11]  Jan Bosch,et al.  Architecture Technical Debt: Understanding Causes and a Qualitative Model , 2014, 2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications.

[12]  James Miller,et al.  Triangulation as a basis for knowledge discovery in software engineering , 2008, Empirical Software Engineering.

[13]  Jan Bosch,et al.  A Systematic Literature Review and a Unified Model of ATD , 2016, 2016 42th Euromicro Conference on Software Engineering and Advanced Applications (SEAA).

[14]  Peng Liang,et al.  Architectural Technical Debt Identification Based on Architecture Decisions and Change Scenarios , 2015, 2015 12th Working IEEE/IFIP Conference on Software Architecture.

[15]  Yuanfang Cai,et al.  Using technical debt data in decision making: Potential decision approaches , 2012, 2012 Third International Workshop on Managing Technical Debt (MTD).

[16]  Jennifer Pérez,et al.  Guiding Flexibility Investment in Agile Architecting , 2014, 2014 47th Hawaii International Conference on System Sciences.

[17]  Ward Cunningham,et al.  The WyCash portfolio management system , 1992, OOPSLA '92.

[18]  Peng Liang,et al.  Architectural Debt Management in Value-Oriented Architecting , 2013, Economics-Driven Software Architecture.

[19]  Forrest Shull,et al.  Practical considerations, challenges, and requirements of tool-support for managing technical debt , 2013, 2013 4th International Workshop on Managing Technical Debt (MTD).

[20]  Shari Lawrence Pfleeger,et al.  Personal Opinion Surveys , 2008, Guide to Advanced Empirical Software Engineering.

[21]  Apostolos Ampatzoglou,et al.  The financial aspect of managing technical debt: A systematic literature review , 2015, Inf. Softw. Technol..

[22]  Joost Visser,et al.  An empirical model of technical debt and interest , 2011, MTD '11.

[23]  Ronald Czaja,et al.  Designing Surveys: A Guide to Decisions and Procedures , 1995 .

[24]  Janet Mancini Billson,et al.  Focus Groups: A Practical Guide for Applied Research , 1989 .

[25]  Jan Bosch,et al.  Investigating Architectural Technical Debt accumulation and refactoring over time: A multiple-case study , 2015, Inf. Softw. Technol..

[26]  Christine Nadel,et al.  Case Study Research Design And Methods , 2016 .

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

[28]  Yuanfang Cai,et al.  A Case Study in Locating the Architectural Roots of Technical Debt , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[29]  Neil A. Ernst,et al.  Measure it? Manage it? Ignore it? software practitioners and technical debt , 2015, ESEC/SIGSOFT FSE.

[30]  Ville Leppänen,et al.  Technical Debt and the Effect of Agile Software Development Practices on It - An Industry Practitioner Survey , 2014, 2014 Sixth International Workshop on Managing Technical Debt.

[31]  Nenad Medvidovic,et al.  Mapping architectural decay instances to dependency models , 2013, 2013 4th International Workshop on Managing Technical Debt (MTD).

[32]  Richard A. Krueger,et al.  Focus groups : a practical guide for applied research / by Richard A. Krueger , 1989 .