Technical Debt Management: The Road Ahead for Successful Software Delivery (2403.06484v1)
Abstract: Technical Debt, considered by many to be the 'silent killer' of software projects, has undeniably become part of the everyday vocabulary of software engineers. We know it compromises the internal quality of a system, either deliberately or inadvertently. We understand Technical Debt is not all derogatory, often serving the purpose of expediency. But, it is associated with a clear risk, especially for large and complex systems with extended service life: if we do not properly manage Technical Debt, it threatens to "bankrupt" those systems. Software engineers and organizations that develop software-intensive systems are facing an increasingly more dire future state of those systems if they do not start incorporating Technical Debt management into their day to day practice. But how? What have the wins and losses of the past decade of research and practice in managing Technical Debt taught us and where should we focus next? In this paper, we examine the state of the art in both industry and research communities in managing Technical Debt; we subsequently distill the gaps in industrial practice and the research shortcomings, and synthesize them to define and articulate a vision for what Technical Debt management looks like five years hence.
- E. Poort, “A technical debt fairy tale,” 2023, accessed: 2023-09-12. [Online]. Available: https://www.linkedin.com/pulse/technical-debt-fairy-tale-eltjo-poort/
- W. Cunningham, “The wycash portfolio management system,” in Proc. OOPSLA Exp. Rep. Vancouver, British Columbia, Canada: ACM, 1992.
- D. Soman, G. Ainslie, S. Frederick, X. Li, J. Lynch, P. Moreau, A. Mitchell, D. Read, A. Sawyer, Y. Trope, K. Wertenbroch, and G. Zauberman, “The psychology of intertemporal discounting: Why are distant events valued differently from proximal ones?” Marketing Letters, vol. 16, no. 3-4, pp. 347–360, Dec. 2005. [Online]. Available: https://doi.org/10.1007/s11002-005-5897-x
- C. Jaspan and C. Green, “Defining, measuring, and managing technical debt,” IEEE Software, vol. 40, no. 3, pp. 15–19, 2023.
- W. Trumler and F. Paulisch, “How “specification by example” and test-driven development help to avoid technial debt,” in 2016 IEEE 8th International Workshop on Managing Technical Debt (MTD), 2016, pp. 1–8.
- P. Avgeriou, P. Kruchten, I. Ozkaya, and C. B. Seaman, “Managing technical debt in software engineering (dagstuhl seminar 16162),” Dagstuhl Reports, vol. 6, no. 4, pp. 110–138, 2016. [Online]. Available: https://doi.org/10.4230/DagRep.6.4.110
- P. Avgeriou, P. Kruchten, R. L. Nord, I. Ozkaya, and C. Seaman, “Reducing friction in software development,” IEEE Software, vol. 33, no. 01, pp. 66–73, jan 2016.
- R. L. Nord, I. Ozkaya, P. Kruchten, and M. Gonzalez-Rojas, “In search of a metric for managing architectural technical debt,” in 2012 Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture, 2012, pp. 91–100.
- N. Brown, Y. Cai, Y. Guo, R. Kazman, M. Kim, P. Kruchten, E. Lim, A. MacCormack, R. L. Nord, I. Ozkaya, R. S. Sangwan, C. B. Seaman, K. J. Sullivan, and N. Zazworka, “Managing technical debt in software-reliant systems,” in Proceedings of the Workshop on Future of Software Engineering Research, FoSER 2010, at the 18th ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2010, Santa Fe, NM, USA, November 7-11, 2010, G. Roman and K. J. Sullivan, Eds. ACM, 2010, pp. 47–52. [Online]. Available: https://doi.org/10.1145/1882362.1882373
- C. Bird, D. Ford, T. Zimmermann, N. Forsgren, E. Kalliamvakou, T. Lowdermilk, and I. Gazit, “Taking flight with copilot,” Commun. ACM, vol. 66, no. 6, p. 56–62, may 2023. [Online]. Available: https://doi.org/10.1145/3589996
- R. Kazman, Y. Cai, R. Mo, Q. Feng, L. Xiao, S. Haziyev, V. Fedak, and A. Shapochka, “A case study in locating the architectural roots of technical debt,” in 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, vol. 2, 2015, pp. 179–188.
- National Defense Authorization Act, 2022. Sec. 835. independent study on technical debt in software-intensive systems. [Online]. Available: https://www.congress.gov/117/plaws/publ81/PLAW-117publ81.pdf
- I. Ozkaya, F. Shull, J. Cohen, and B. O’Hearn, “Report to the congressional defense committees on national defense authorization act (ndaa) for fiscal year 2022 section 835 independent study on technical debt in software-intensive systems,” Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, Tech. Rep. CMU/SEI-2023-TR-003, 2023.
- P. Kruchten, “The 4+1 view model of architecture,” IEEE Softw., vol. 12, no. 6, p. 42–50, nov 1995. [Online]. Available: https://doi.org/10.1109/52.469759
- J. M. McQuade, R. M. Murray, G. Louie, M. Medin, J. Pahlka, and T. Stephens, “Software is never done: Refactoring the acquisition code for competitive advantage,” Defense Innovation Board, Tech. Rep., 2019. [Online]. Available: https://media.defense.gov/2019/Mar/26/2002105909/-1/-1/0/SWAP.REPORT_MAIN.BODY.3.21.19.PDF
- Office of the Under Secretary of Defense for Acquisition and Sustainment, “DOD instruction 5000.87: Operation of the software acquisition pathway,” US Department of Defense, Tech. Rep., 2020. [Online]. Available: https://www.esd.whs.mil/Portals/54/Documents/DD/issuances/dodi/500087p.PDF
- Department of Defense Software Strategy Coordinator, “Department of defense software science and technology strategy,” US Department of Defense Office of the Undersecretary for Research and Engineering, Tech. Rep., 2021. [Online]. Available: https://ac.cto.mil/wp-content/uploads/2022/04/ST-Strategy-Nov2021.pdf
- E. R. Poort and H. van Vliet, “RCDA: Architecting as a risk- and cost management discipline,” Journal of Systems and Software, vol. 85, no. 9, pp. 1995–2013, Sep. 2012. [Online]. Available: https://doi.org/10.1016/j.jss.2012.03.071
- E. Poort, C. Pautasso, and O. Zimmermann, “Just enough anticipation: Architect your time dimension,” IEEE Software, vol. 33, no. 6, pp. 11–15, 2016.
- H. J. Junior and G. H. Travassos, “Consolidating a common perspective on technical debt and its management through a tertiary study,” Information and Software Technology, vol. 149, p. 106964, 2022. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S0950584922001057
- D. Poliakov, “A systematic mapping study on technical debt definition,” Master’s thesis, Lappeenranta University of Technology, 2015, available at https://lutpub.lut.fi/handle/10024/104728.
- Z. Li, P. Avgeriou, and P. Liang, “A systematic mapping study on technical debt and its management,” Journal of Systems and Software, vol. 101, pp. 193–220, 2015. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S0164121214002854
- A. Martini and J. Bosch, “The magnificent seven: Towards a systematic estimation of technical debt interest,” in Proceedings of the XP2017 Scientific Workshops, ser. XP ’17. New York, NY, USA: Association for Computing Machinery, 2017. [Online]. Available: https://doi.org/10.1145/3120459.3120467
- T. Amanatidis, N. Mittas, A. Moschou, A. Chatzigeorgiou, A. Ampatzoglou, and L. Angelis, “Evaluating the agreement among technical debt measurement tools: building an empirical benchmark of technical debt liabilities,” Empirical Software Engineering, vol. 25, no. 5, pp. 4161–4204, Aug. 2020. [Online]. Available: https://doi.org/10.1007/s10664-020-09869-w
- J. Lefever, Y. Cai, H. Cervantes, R. Kazman, and H. Fang, “On the lack of consensus among technical debt detection tools,” in Proceedings of the 43rd International Conference on Software Engineering: Software Engineering in Practice, ser. ICSE-SEIP ’21. IEEE Press, 2021, p. 121–130. [Online]. Available: https://doi.org/10.1109/ICSE-SEIP52600.2021.00021
- P. C. Avgeriou, D. Taibi, A. Ampatzoglou, F. A. Fontana, T. Besker, A. Chatzigeorgiou, V. Lenarduzzi, A. Martini, A. Moschou, I. Pigazzini, N. Saarimaki, D. D. Sas, S. S. de Toledo, and A. A. Tsintzira, “An overview and comparison of technical debt measurement tools,” IEEE Software, vol. 38, no. 3, pp. 61–71, may 2021. [Online]. Available: https://doi.org/10.1109%2Fms.2020.3024958
- A. Potdar and E. Shihab, “An exploratory study on self-admitted technical debt,” in 2014 IEEE International Conference on Software Maintenance and Evolution, 2014, pp. 91–100.
- N. Rios, M. G. de Mendonça Neto, and R. O. Spínola, “A tertiary study on technical debt: Types, management strategies, research trends, and base information for practitioners,” Information and Software Technology, vol. 102, pp. 117–145, 2018. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S0950584918300946
- N. A. Ernst, S. Bellomo, I. Ozkaya, R. L. Nord, and I. Gorton, “Measure it? manage it? ignore it? software practitioners and technical debt,” in Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering. ACM, aug 2015. [Online]. Available: https://doi.org/10.1145%2F2786805.2786848
- N. S. Alves, T. S. Mendes, M. G. de Mendonca, R. O. Spínola, F. Shull, and C. Seaman, “Identification and management of technical debt: A systematic mapping study,” Information and Software Technology, vol. 70, pp. 100–121, 2016. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S0950584915001743
- W. N. Behutiye, P. Rodríguez, M. Oivo, and A. Tosun, “Analyzing the concept of technical debt in the context of agile software development: A systematic literature review,” Information and Software Technology, vol. 82, pp. 139–158, 2017. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S0950584916302890
- T. Besker, A. Martini, and J. Bosch, “Technical debt cripples software developer productivity: A longitudinal study on developers’ daily software development work,” in Proceedings of the 2018 International Conference on Technical Debt, ser. TechDebt ’18. New York, NY, USA: Association for Computing Machinery, 2018, p. 105–114. [Online]. Available: https://doi.org/10.1145/3194164.3194178
- R. Verdecchia, I. Malavolta, P. Lago, and I. Ozkaya, “Empirical evaluation of an architectural technical debt index in the context of the apache and onap ecosystems,” PeerJ Computer Science, vol. 8, p. e833, 2022.
- A. Tornhill and M. Borg, “Code red: the business impact of code quality - a quantitative study of 39 proprietary production codebases,” in Proceedings of the International Conference on Technical Debt. ACM, may 2022. [Online]. Available: https://doi.org/10.1145%2F3524843.3528091
- D. Pina, A. Goldman, and C. Seaman, “Sonarlizer xplorer,” in Proceedings of the International Conference on Technical Debt. ACM, may 2022. [Online]. Available: https://doi.org/10.1145%2F3524843.3528098
- H. Fang, Y. Cai, R. Kazman, and J. Lefever, “CIDER,” in Proceedings of the ACM/IEEE 44th International Conference on Software Engineering: Companion Proceedings. ACM, may 2022. [Online]. Available: https://doi.org/10.1145%2F3510454.3516861
- M. Sridharan, L. Rantala, and M. Mäntylä, “PENTACET data - 23 Million Contextual Code Comments and 500,000 SATD comments,” Mar. 2023. [Online]. Available: https://doi.org/10.5281/zenodo.7757462
- R. Banker, Y. Liang, and N. Ramasubbu, “Technical debt and firm performance,” Management Science, vol. 67, no. 5, pp. 3174–3194, May 2021. [Online]. Available: https://doi.org/10.1287/mnsc.2019.3542