Technical Debt: An empirical investigation of its harmfulness and on management strategies in industry
Doctoral thesis, 2020

Background: In order to survive in today's fast-growing and ever fast-changing business environment, software companies need to continuously deliver customer value, both from a short- and long-term perspective. However, the consequences of potential long-term and far-reaching negative effects of shortcuts and quick fixes made during the software development lifecycle, described as Technical Debt (TD), can impede the software development process.

Objective: The overarching goal of this Ph.D. thesis is twofold. The first goal is to empirically study and understand in what way and to what extent, TD influences today’s software development work, specifically with the intention to provide more quantitative insight into the field. Second, to understand which different initiatives can reduce the negative effects of TD and also which factors are important to consider when implementing such initiatives.

Method: To achieve the objectives, a combination of both quantitative and qualitative research methodologies are used, including interviews, surveys, a systematic literature review, a longitudinal study, analysis of documents, correlation analysis, and statistical tests. In seven of the eleven studies included in this Ph.D. thesis, a combination of multiple research methods are used to achieve high validity.

Results: We present results showing that software suffering from TD will cause various negative effects on both the software and the developing process. These negative effects are illustrated from a technical, financial, and a developer’s working situational perspective. These studies also identify several initiatives that can be undertaken in order to reduce the negative effects of TD.

Conclusion: The results show that software developers report that they waste 23% of their working time due to experiencing TD and that TD required them to perform additional time-consuming work activities. This study also shows that, compared to all types of TD, architectural TD has the greatest negative impact on daily software development work and that TD has negative effects on several different software quality attributes. Further, the results show that TD reduces developer morale. Moreover, the findings show that intentionally introducing TD in startup companies can allow the startups to cut development time, enabling faster feedback and increased revenue, preserve resources, and decrease risk and thereby contribute to beneficial effects. This study also identifies several initiatives that can be undertaken in order to reduce the negative effects of TD, such as the introduction of a tracking process where the TD items are introduced in an official backlog. The finding also indicates that there is an unfulfilled potential regarding how managers can influence the manner in which software practitioners address TD.

Developer Morale

Empirical Research

Software Quality

Technical Debt

Software Developing Productivity

Software Engineering

Software Architecture

Mixed-methods

Opponent: Professor Carolyn Seaman, University of Maryland, USA

Author

Terese Besker

Chalmers, Computer Science and Engineering (Chalmers), Software Engineering (Chalmers)

Carrot and Stick approaches when managing Technical Debt

Proceedings - 2020 IEEE/ACM International Conference on Technical Debt, TechDebt 2020,; (2020)p. 21-30

Paper in proceeding

The Influence of Technical Debt on Software Developer Morale

Journal of Systems and Software,; Vol. 167(2020)

Journal article

Technical Debt Triage in Backlog Management

2019 IEEE/ACM International Conference on Technical Debt (TechDebt),; (2019)p. 13-22

Paper in proceeding

How Regulations of Safety-Critical Software Affect Technical Debt

Proceedings - 45th Euromicro Conference on Software Engineering and Advanced Applications, SEAA 2019,; (2019)p. 74-81

Paper in proceeding

Embracing Technical Debt, from a Startup Company Perspective

PROCEEDINGS 2018 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME),; (2018)p. 415-425

Paper in proceeding

Managing architectural technical debt: A unified model and systematic literature review

Journal of Systems and Software,; Vol. 135(2018)p. 1-16

Journal article

Technical Debt tracking: Current state of practice: A survey and multiple case study in 15 large organizations

Science of Computer Programming,; Vol. 163(2018)p. 42-61

Journal article

Impact of Architectural Technical Debt on Daily Software Development Work - A Survey of Software Practitioners

43rd Euromicro Conference on Software Engineering and Advanced Applications, SEAA 2017; Vienna; Austria; 30 August 2017 through 1 September 2017,; (2017)p. 278-287

Paper in proceeding

Time to Pay Up - Technical Debt from a Software Quality Perspective

CibSE,; (2017)p. 235-248

Paper in proceeding

The Pricey Bill of Technical Debt - When and by whom will it be paid?

IEEE International Conference on Software Maintenance and Evolution (ICSME),; (2017)p. 13-23

Paper in proceeding

In order to survive in today's fast-growing and ever fast-changing business environments, large-scale software companies need to deliver customer value continuously, both from a short- and long-term perspective. During the software development lifecycle, companies need to consider the tradeoffs between the overall quality of the software, and the costs of the software development process in terms of the required time and resources. In general, software companies strive to balance the quality of the software with the ambition of increasing the efficiency and decreasing the costs in each lifecycle phase, by reducing time and resources deployed by the development teams. However, software development can be impeded if the evolution and maintenance of existing systems are hampered by what has been recently termed Technical Debt. Specifically, Architectural Technical Debt has received increased attention in the last few years due to its significant impact on system success and, left unchecked, it can cause expensive repercussions.

The overarching goal of this Ph.D. thesis is twofold. The first goal is to empirically study and understand in what way and to what extent, Technical Debt influences today's software development work and specifically with the intention to provide more quantitative insights into the field. Second, to understand what different initiatives can reduce the harmful effects of Technical Debt and also what factors are important to consider when implementing such initiatives.

This thesis presents results showing that software suffering from Technical Debt will cause various negative effects on both the software and the developing process. These negative effects are illustrated from a technical, financial, and a developer's working situational perspective. This thesis also identifies several initiatives that can be undertaken in order to reduce the harmful effects of Technical Debt.

The findings in this thesis, further indicate that software companies need to be armed with strategies and proactive management to enable them to track and manage the interest of Technical Debt. Such strategies could result in better, more informed decisions to balance the accumulation and the repayment of Technical Debt.

Subject Categories

Computer and Information Science

Software Engineering

Information Science

ISBN

978-91-7905-274-4

Doktorsavhandlingar vid Chalmers tekniska högskola. Ny serie: 4741

Publisher

Chalmers

Online

Opponent: Professor Carolyn Seaman, University of Maryland, USA

More information

Latest update

9/7/2020 8