1. |
- Besker, Terese, 1970
(author)
-
An Empirical Investigation of the Harmfulness of Architectural Technical Debt
- 2018
-
Licentiate thesis (other academic/artistic)abstract
- Background: 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. 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 overall goal of this Licentiate thesis is to empirically study and understand in what way and to what extent, TD in general and architectural TD specifically, influence today’s software development work and, specifically, with the intention of providing more quantitative insights into the field.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, correlation analysis, and statistical tests. In five of the seven included studies, we use a combination of multiple research methods to achieve high validity.Results: We present results showing that software suffering from TD will cause various different negative effects on both the software and on the developing process. These negative effects can be illustrated from a technical, a financial and from a developer’s working situational perspective.Conclusion: This thesis contributes to the understanding and quantification of in what way and to what extent TD is harmful to software development organizations. The results show that software practitioners estimate that they waste 36% of their working time due to experiencing TD and that the TD is causing 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 the daily software development work.
|
|
2. |
- Besker, Terese, 1970, et al.
(author)
-
Embracing Technical Debt, from a Startup Company Perspective
- 2018
-
In: PROCEEDINGS 2018 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME). - 1063-6773. - 9781538678701 - 9781538678701 ; , s. 415-425
-
Conference paper (peer-reviewed)abstract
- Software startups are typically under extreme pressure to get to market quickly with limited resources and high uncertainty. This pressure and uncertainty is likely to cause startups to accumulate technical debt as they make decisions that are more focused on the short-term than the long-term health of the codebase. However, most research on technical debt has been focused on more mature software teams, who may have less pressure and, therefore, reason about technical debt very differently than software startups. In this study, we seek to understand the organizational factors that lead to and the benefits and challenges associated with the intentional accumulation of technical debt in software startups. We interviewed 16 professionals involved in seven different software startups. We find that the startup phase, the experience of the developers, software knowledge of the founders, and level of employee growth are some of the organizational factors that influence the intentional accumulation of technical debt. In addition, we find the software startups are typically driven to achieve a “good enough level,” and this guides the amount of technical debt that they intentionally accumulate to balance the benefits of speed to market and reduced resources with the challenges of later addressing technical debt.
|
|
3. |
- Besker, Terese, 1970, et al.
(author)
-
Managing architectural technical debt: A unified model and systematic literature review
- 2018
-
In: Journal of Systems and Software. - : Elsevier BV. - 0164-1212. ; 135, s. 1-16
-
Journal article (peer-reviewed)abstract
- Large Software Companies need to support the continuous and fast delivery of customer value in both the short and long term. However, this can be impeded if the evolution and maintenance of existing systems is hampered by what has been recently termed Technical Debt (TD). Specifically, Architectural TD 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. It is therefore important to understand the underlying factors of architectural TD. With this as background, there is a need for a descriptive model to illustrate and explain different architectural TD issues. The aim of this study is to synthesize and compile research efforts with the goal of creating new knowledge with a specific interest in the architectural TD field. The contribution of this paper is the presentation of a novel descriptive model, providing a comprehensive interpretation of the architectural TD phenomenon. This model categorizes the main characteristics of architectural TD and reveals their relations. The results show that, by using this model, different stakeholders could increase the system's success rate, and lower the rate of negative consequences, by raising awareness about architectural TD.
|
|
4. |
- Besker, Terese, 1970, et al.
(author)
-
Technical Debt Cripples Software Developer Productivity
- 2018
-
In: Proceedings - International Conference on Software Engineering. - New York, NY, USA : ACM. - 0270-5257. ; , s. 105-114
-
Conference paper (peer-reviewed)abstract
- Software companies need to continuously deliver customer value, both from a short- and long-term perspective. However, software development can be impeded by what has been described as Technical Debt (TD). The aim of this study is to explore the negative consequences of TD in terms of wasted software development time. This study also investigates on which additional activities this wasted time is spent and whether different types of TD impact the wasted time differently. This study also sets out to examine the benefits of tracking and communicating the amount of wasted time, both from a developer’s and manager’s perspective. This paper reports the results of a longitudinal study, surveying 43 software developers, together with follow-up interviews with 16 industrial software practitioners. The analysis of the reported wasted time revealed that developers waste, on average, 23% of their development time due to TD and that they are frequently forced to introduce new TD due to already existing TD. The most common activity on which additional time is spent is performing additional testing.
|
|
5. |
- Martini, Antonio, 1982, et al.
(author)
-
Technical Debt tracking: Current state of practice: A survey and multiple case study in 15 large organizations
- 2018
-
In: Science of Computer Programming. - : Elsevier BV. - 0167-6423. ; 163, s. 42-61
-
Journal article (peer-reviewed)abstract
- Large software companies need to support continuous and fast delivery of customer value both in the short and long term. However, this can be hindered if both the evolution and maintenance of existing systems are hampered by Technical Debt. Although a lot of theoretical work on Technical Debt has been produced recently, its practical management lacks empirical studies. In this paper, we investigate the state of practice in several companies to understand what the cost of managing TD is, what tools are used to track TD, and how a tracking process is introduced in practice. We combined two phases: a survey involving 226 respondents from 15 organizations and an in-depth multiple case study in three organizations including 13 interviews and 79 Technical Debt issues. We selected the organizations where Technical Debt was better tracked in order to distill best practices. We found that the development time dedicated to managing Technical Debt is substantial (an average of 25% of the overall development), but mostly not systematic: only a few participants (26%) use a tool, and only 7.2% methodically track Technical Debt. We found that the most used and effective tools are currently backlogs and static analyzers. By studying the approaches in the companies participating in the case study, we report how companies start tracking Technical Debt and what the initial benefits and challenges are. Finally, we propose a Strategic Adoption Model for the introduction of tracking Technical Debt in software organizations.
|
|