The role of technical debt in software development
Yli-Huumo, Jesse (2017-06-15)
Väitöskirja
Yli-Huumo, Jesse
15.06.2017
Lappeenranta University of Technology
Acta Universitatis Lappeenrantaensis
Julkaisun pysyvä osoite on
https://urn.fi/URN:ISBN:978-952-335-071-7
https://urn.fi/URN:ISBN:978-952-335-071-7
Tiivistelmä
Technical debt refers to a concept in software development where extra development
work arises, through intentional decision or unintentional side-effect, when code that is
easy to implement in short-run is used instead of applying the best overall solution.
Technical debt is an essential part of software development, which has to be
acknowledged by software companies. The goal of this is thesis is to address the role of
technical debt in software and software development.
Empirical research methodologies are applied in the study. The data has been collected
through case studies and semi-structured interviews with practitioners from software
development teams. The research process consisted of one preliminary phase and three
main phases. In the preliminary phase, the existing literature on technical debt and
technical debt management was examined. In the first main phase, the causes and effects
of technical debt were studied. The second main phase focused on technical debt
management practices. The third main phase aimed at developing and testing technical
debt management processes.
The results of the study revealed multiple examples indicating that technical debt is a
relevant phenomenon in software engineering. Several reasons and causes for technical
debt were identified, and the results indicated that there is not one specific reason for
companies to have technical debt in software. In addition, several short-term and longterm
effects of technical debt, both beneficial and detrimental, were identified. The results
were used to develop a technical debt management framework, which describes the
activities, practices, tools, stakeholders and responsibilities related to technical debt
management.
The findings complement the current technical debt state-of-the-art by providing
empirical evidence and knowledge on the causes and effects of technical debt from both
the technical and the organizational perspective. The results can be used by software
development companies to improve their knowledge on the role of technical debt in
management, and the developed technical debt management framework and its processes
can be used to increase the visibility and manageability of technical debt.
work arises, through intentional decision or unintentional side-effect, when code that is
easy to implement in short-run is used instead of applying the best overall solution.
Technical debt is an essential part of software development, which has to be
acknowledged by software companies. The goal of this is thesis is to address the role of
technical debt in software and software development.
Empirical research methodologies are applied in the study. The data has been collected
through case studies and semi-structured interviews with practitioners from software
development teams. The research process consisted of one preliminary phase and three
main phases. In the preliminary phase, the existing literature on technical debt and
technical debt management was examined. In the first main phase, the causes and effects
of technical debt were studied. The second main phase focused on technical debt
management practices. The third main phase aimed at developing and testing technical
debt management processes.
The results of the study revealed multiple examples indicating that technical debt is a
relevant phenomenon in software engineering. Several reasons and causes for technical
debt were identified, and the results indicated that there is not one specific reason for
companies to have technical debt in software. In addition, several short-term and longterm
effects of technical debt, both beneficial and detrimental, were identified. The results
were used to develop a technical debt management framework, which describes the
activities, practices, tools, stakeholders and responsibilities related to technical debt
management.
The findings complement the current technical debt state-of-the-art by providing
empirical evidence and knowledge on the causes and effects of technical debt from both
the technical and the organizational perspective. The results can be used by software
development companies to improve their knowledge on the role of technical debt in
management, and the developed technical debt management framework and its processes
can be used to increase the visibility and manageability of technical debt.
Kokoelmat
- Väitöskirjat [986]