An empirical assessment of technical debt practices in industry
Context Technical debt refers to the consequences of taking shortcuts when developing software. These consequences can impede the software growth and have financial implications. The software engineering research community needs to explore technical debt further from a practitioner standpoint. Objec...
Gespeichert in:
Veröffentlicht in: | Journal of software : evolution and process 2017-10, Vol.29 (10), p.n/a |
---|---|
Hauptverfasser: | , , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Context
Technical debt refers to the consequences of taking shortcuts when developing software. These consequences can impede the software growth and have financial implications. The software engineering research community needs to explore technical debt further from a practitioner standpoint.
Objective
This study gathers insights from practitioners on key components of technical debt such as its definition, characterization, consequences, benefits, and how it is communicated.
Method
We conducted semi‐structured interviews with a convenience sample of 17 practitioners and a survey of 67 participants.
Results
Despite the lack of consensus, we identified the most commonly accepted definition, method to measure technical debt (as person hours), and method to reduce debt (by allocating time in iterations to address the debt). Defects were also identified as type of debt and the cost of technical debt is more than the cost to make changes to source code. Three distinct company profiles emerged.
Conclusion
Despite increasing research on technical debt, the field lacks consensus on its many facets. One interesting outcome of this study is how to assess the risks of technical debt by evaluating liabilities beyond costs of directly handling debt.
The results of this study contributed to the development of a technical debt management feature model which depicts a set of criteria for practitioners managing technical debt. Practitioners can choose items from the criteria as inputs to a decision‐making framework outlined in the paper to prioritize technical debt items. In addition, we identified several types of technical debt based on 3 broad categories: software related, technical areas, and organizational debt. |
---|---|
ISSN: | 2047-7473 2047-7481 |
DOI: | 10.1002/smr.1894 |