The Risk of Generating Technical Debt Interest: A Case Study

Technical Debt (TD) interest refers to the extra maintenance costs incurred by the very existence of TD items in a system. The generation of TD interest can make or break a system: too little interest and the effect of TD is negligible; too much interest and the system becomes unsustainable. In this paper, we consider the generation of interest as a risk and present a metric to quantify this risk. Subsequently, we validate this metric in two ways. First, we explore whether the metric can be effectively used to prioritize TD remediation. Second, we investigate if adding new code reduces the risk of interest generation. The results of the study suggest that: (a) the proposed risk management metric is capable of efficiently prioritizing TD items; and (b) that the new code that is introduced in the system is usually less risky for producing interest, compared to legacy code.

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

[2]  Barry W. Boehm,et al.  Software Risk Management , 1989, ESEC.

[3]  B. Boehm Software risk management: principles and practices , 1991, IEEE Software.

[4]  Carolyn B. Seaman,et al.  A portfolio approach to technical debt management , 2011, MTD '11.

[5]  Jean-Louis Letouzey,et al.  The SQALE method for evaluating Technical Debt , 2012, 2012 Third International Workshop on Managing Technical Debt (MTD).

[6]  Mehwish Riaz,et al.  A systematic review of software maintainability prediction and metrics , 2009, ESEM 2009.

[7]  Houari A. Sahraoui,et al.  Multiobjective Optimization for Software Refactoring and Evolution , 2014, Adv. Comput..

[8]  Elvira-Maria Arvanitou,et al.  A Method for Assessing Class Change Proneness , 2017, EASE.

[9]  Ioannis Stamelos,et al.  Structural Quality Metrics as Indicators of the Long Method Bad Smell: An Empirical Study , 2018, 2018 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA).

[10]  Erol Gelenbe,et al.  Optimum Interval for Application-level Checkpoints , 2019, 2019 6th IEEE International Conference on Cyber Security and Cloud Computing (CSCloud)/ 2019 5th IEEE International Conference on Edge Computing and Scalable Cloud (EdgeCom).

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

[12]  Carolyn B. Seaman,et al.  Measuring and Monitoring Technical Debt , 2011, Adv. Comput..

[13]  Darja Šmite,et al.  Refactoring, Bug Fixing, and New Development Effect on Technical Debt: An Industrial Case Study , 2020, 2020 46th Euromicro Conference on Software Engineering and Advanced Applications (SEAA).

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

[15]  Sallie M. Henry,et al.  Object-oriented metrics that predict maintainability , 1993, J. Syst. Softw..

[16]  SeamanCarolyn,et al.  Identification and management of technical debt , 2016 .

[17]  Austen Rainer,et al.  Case Study Research in Software Engineering - Guidelines and Examples , 2012 .

[18]  Apostolos Ampatzoglou,et al.  A Framework for Managing Interest in Technical Debt: An Industrial Validation , 2018, 2018 IEEE/ACM International Conference on Technical Debt (TechDebt).

[19]  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.

[20]  Barry Boehm,et al.  Software economics: a roadmap , 2000, ICSE '00.

[21]  Apostolos Ampatzoglou,et al.  Interrelations between Software Quality Metrics, Performance and Energy Consumption in Embedded Applications , 2018, SCOPES.

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

[23]  Forrest Shull,et al.  Identification and management of technical debt: A systematic mapping study , 2016, Inf. Softw. Technol..

[24]  David P. Darcy,et al.  Managerial Use of Metrics for Object-Oriented Software: An Exploratory Analysis , 1998, IEEE Trans. Software Eng..

[25]  Paris Avgeriou,et al.  The Evolution of Technical Debt in the Apache Ecosystem , 2017, ECSA.

[26]  Ioannis Stamelos,et al.  Monitoring Technical Debt in an Industrial Setting , 2019, EASE.

[27]  Dimitrios Tzovaras,et al.  Static Analysis-Based Approaches for Secure Software Development , 2018, Euro-CYBERSEC.

[28]  Dimitrios Tzovaras,et al.  An Empirical Evaluation of the Relationship between Technical Debt and Software Security , 2019 .

[29]  Apostolos Ampatzoglou,et al.  On the Temporality of Introducing Code Technical Debt , 2020, QUATIC.

[30]  AvgeriouParis,et al.  The financial aspect of managing technical debt , 2015 .

[31]  Dimitrios Soudris,et al.  A Design Space Exploration Framework for Convolutional Neural Networks Implemented on Edge Devices , 2018, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[32]  CunninghamWard The WyCash portfolio management system , 1992 .

[33]  José María Conejero,et al.  Early evaluation of technical debt impact on maintainability , 2018, J. Syst. Softw..

[34]  Robert C. Martin Clean Code - a Handbook of Agile Software Craftsmanship , 2008 .