Investigating the Relationship between Technical Debt Management and Software Development Issues

Authors

  • Clara Berenguer Salvador University
  • Adriano Borges Salvador University
  • Sávio Freire Federal Institute of Ceará and Federal University of Bahia
  • Nicolli Rios Federal University of Rio de Janeiro
  • Robert Ramač University of Novi Sad
  • Nebojša Taušan University of Novi Sad
  • Boris Pérez Francisco de Paula Santander University
  • Camilo Castellanos University of Los Andes
  • Darío Correal University of Los Andes
  • Alexia Pacheco University of Costa Rica
  • Gustavo López University of Costa Rica
  • Manoel Mendonça Federal University of Bahia
  • Davide Falessi University of Rome Tor Vergata
  • Carolyn Seaman University of Maryland Baltimore County
  • Vladimir Mandić University of Novi Sad
  • Clemente Izurieta Montana State University and Idaho National Laboratories
  • Rodrigo Spínola Virginia Commonwealth University and Salvador University

DOI:

https://doi.org/10.5753/jserd.2023.2581

Keywords:

Technical Debt, Technical Debt Management, Causes of Technical Debt, Effects of Technical Debt, Process Model

Abstract

Context: The presence of technical debt (TD) brings risks to software projects. Managers must continuously find a cost-benefit balance between the benefits of incurring in TD and the costs of its presence in a software project. Much attention has been given to TD related to coding issues, but other types of debt can also have impactful consequences on projects. Aims: This paper seeks to elaborate on the growing need to expand TD research to other areas of software development, by analyzing six elements related to TD management, namely: causes, effects, preventive practices, reasons for non-prevention, repayment practices, and reasons for non-repayment of TD. Method: We survey and analyze, quantitatively and qualitatively, the answers of 653 software industry practitioners on TD to investigate how the previously mentioned elements are related to coding and non-coding issues of the software development process. Results: Coding issues are commonly related to the investigated elements but, indeed, they are only part of the TD Management stage. Issues related to the project planning and management, human factors, knowledge, quality, process, requirements, verification, validation, and test, design, architecture, and the organization are also common sources of TD. We organize the results in a hump diagram and specialize it considering the point of view of practitioners that have used agile, hybrid, and traditional process models in their projects. Conclusion: The hump diagram, in combination with the detailed results, provides guidance on what to expect from the presence of TD and how to react to it considering several issues of software development. The results shed light on TD management of software elements, beyond source code related artifacts.

Downloads

Download data is not yet available.

Author Biography

Sávio Freire, Federal Institute of Ceará and Federal University of Bahia

Sávio Freire is a PhD student at the Federal University of Bahia and an Assistant Professor at the Federal Institute of Ceará. He is a member of the Technical Debt Research Team at Salvador University. He holds a MS degree in Computer Science from the State University of Ceará. His research interest encompasses technical debt and empirical software engineering.

References

Alves, N.S.R., Mendes, T.S., Mendonça, M.G., Spínola, R., Shull, F., & Seaman, C. (2016). Identification and management of technical debt: A systematic mapping study. Information and Software Technology, 70, 100-121. DOI: https://doi.org/10.1016/j.infsof.2015.10.008.

Berenguer, C., Borges, A., Freire, S., Rios, N., Tausan, N., Ramac, R., Pérez, B., Castellanos, C., Correal, D., Pacheco, A., López, G., Falessi, D., Seaman, C., Mandic, V., Izurieta, C., & Spínola, R. (2021). Technical Debt is not Only about Code and We Need to be Aware about It. In Proceedings of the XX Brazilian Symposium on Software Quality (SBQS '21). ACM, New York, NY, USA, 1–12. DOI: https://doi.org/10.1145/3493244.3493285.

Besker, T., Ghanbari, H., Martini, A., & Bosch, J. (2020). The influence of technical debt on software developer morale. Journal of Systems and Software, 167. DOI: https://doi.org/10.1016/j.jss.2020.110586.

Cunningham, W. (1992). The WyCash portfolio management system. ACM SIGPLAN OOPS Messenger, 4, 2 (April 1993), 29-30. DOI: https://doi.org/10.1145/157710.157715.

Freire, S., Rios, N., Mendonça, M., Falessi, D., Seaman, C., Izurieta, C., & Spínola, R. (2020a). Actions and impediments for technical debt prevention: results from a global family of industrial surveys. In Proceedings of the 35th ACM/SIGAPP Symposium on Applied Computing, Brno, 1548–1555.

Freire, S., Rios, N., Gutierrez, B., Torres, D., Mendonça, M., Izurieta, C., Seaman, C., & Spínola, R. (2020b). Surveying Software Practitioners on Technical Debt Payment Practices and Reasons for not Paying off Debt Items. In Proceedings of the Evaluation and Assessment in Software Engineering. Trondheim, 210–219.

Freire, S., Rios, N., Perez, B., Castellanos, C., Correal, D., Ramac, R., Mandic, V., Tausan, N., Pacheco, A., López, G., Mendonça, M., Izurieta, C., Falessi, D., Seaman, C., & Spínola, R. (2021a). Pitfalls and Solutions for Technical Debt Management in Agile Software Projects. IEEE Software, vol. 38, no. 6, pp. 42-49, Nov.-Dec. 2021. DOI: 10.1109/MS.2021.3101990.

Freire, S., Rios, N., Perez, B., Castellanos, C., Correal, D., Ramac, R., Mandic, V., Tausan, N., López, G., Pacheco, A., Falessi, D., Mendonça, M., Izurieta, C., Seaman, C., & Spínola, R. (2021b). How Experience Impacts Practitioners’ Perception of Causes and Effects of Technical Debt. In Proceedings of the IEEE/ACM 13th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE). DOI: 10.1109/CHASE52884.2021.00011.

Freire, S., Rios, N., Pérez, B., Correal, D., Mendonça, M., Izurieta, C., Seaman, C., & Spínola, R. (2021c). How do technical debt payment practices relate to the effects of the presence of debt items in software projects? In Proceedings of the IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER). DOI: 10.1109/SANER50967.2021.00074.

Guo, Y., Spínola, R.O., & Seaman, C. (2016). Exploring the costs of technical debt management --- a case study. Empirical Software Engineering, 21, 1 (February 2016), 159–182. DOI: https://doi.org/10.1007/s10664-014-9351-7.

Izurieta, C., Vetrò, A., Zazworka, N., Cai, Y., Seaman, C., & Shull, F. (2012). Organizing the technical debt landscape. In Proceedings of the 3rd International Workshop on Managing Technical Debt (MTD). Zurich, 23-26. DOI: https://doi.org/10.1109/MTD.2012.6225995.

Lenarduzzi, V., Besker, T., Taibi, D., Martini, A., & Fontana, F. A. (2021). A systematic literature review on technical debt prioritization: Strategies, processes, factors, and tools. Journal of Systems and Software, 171, 110827.

Li, Z., Avgeriou, P., & Liang, P. (2015). A systematic mapping study on technical debt and its management. Journal of Systems and Software, 101, 193–220. DOI: https://doi.org/10.1016/j.jss.2014.12.027.

Lim, E., Taksande, N., & Seaman, C. (2012). A balancing act: What software practitioners have to say about technical debt. IEEE Software, 29, 6 (November 2012), 22–27. DOI: https://doi.org/10.1109/MS.2012.130.

Martini, A., Stray, V., & Moe, N.B. (2019). Technical-, social-and process debt in large-scale agile: an exploratory case-study. In Proceeding of the International Conference on Agile Software Development (pp. 112-119). Springer, Cham.

Ramač, R., Mandić, V., Taušan, N., Rios, N., Freire, S., Pérez, B., Castellanos, C., Correal, D., Pacheco, A., Lopez, G., Izurieta, C., Seaman, C., & Spinola, R. (2022). Prevalence, common causes and effects of technical debt: Results from a family of surveys with the IT industry. Journal of Systems and Software, 184, 111114. DOI: https://doi.org/10.1016/j.jss.2021.111114.

Ribeiro, L.F., Farias, M.A.F, Mendonça, M., & Spínola, R.O. (2016). Decision criteria for the payment of technical debt in software projects: A systematic mapping study. In Proceedings of the 18th International Conference on Enterprise Information Systems (ICEIS). DOI: https://doi.org/10.5220/0005914605720579

Rios, N., Freire, S., Pérez, B., Castellanos, C., Correal, D., Mendonça, M., Falessi, D., Izurieta, C., Seaman, C., & Spínola, R. (2021). On the Relationship Between Technical Debt Management and Process Models. IEEE Software.

Rios, N., Mendonça, M., & Spínola, R. (2018). A tertiary study on technical debt: Types, management strategies, research trends, and base information for practitioners. Information and Software Technology, 102, 117-145. DOI: https://doi.org/10.1016/j.infsof.2018.05.010.

Rios, N., Spínola, R.O., Mendonça, M., & Seaman, C. (2019). Supporting analysis of technical debt causes and effects with cross-company probabilistic cause-effect diagrams. In Proceedings of the IEEE/ACM International Conference on Technical Debt (TechDebt). DOI: https://doi.org/10.1109/TechDebt.2019.00009.

Rios, N., Spínola, R.O., Mendonça, M., & Seaman, C. (2020). The practitioners’ point of view on the concept of technical debt and its causes and consequences: a design for a global family of industrial surveys and its first results from Brazil. Empirical Software Engineering, 25, 3216-3287.

Saraiva, D., Neto, J. G., Kulesza, U., Freitas, G., Reboucas, R., & Coelho, R. (2021). Technical Debt Tools: A Systematic Mapping Study. In Proceedings of the 23rd International Conference on Enterprise Information Systems. DOI:10.5220/0010459100880098.

Strauss, A. & Corbin, J. (1998). Basics of qualitative research: Techniques and procedures for developing grounded theory. Sage Publications.

Tamburri, D.A., Kruchten, P., Lago, P. & van Vliet, H. (2015). Social debt in software engineering: insights from industry. Journal of Internet Services and Applications, 6(1), 1-17.

Webber, W., Moffat, A., & Zobel, J. (2010). A Similarity Measure for Indefinite Rankings. ACM Transactions on Information Systems, Vol. 28, no.4.

Wohlin, C., Runeson, P., Host, M., Ohlsson, M.C., Regnell, B., & Wesslen, A. (2012). Experimentation in software engineering: An introduction. Springer.

Zazworka, N., Vetro’, A., Izurieta, C., Wong, S., Cai, Y., Seaman, C., & Shull, F. (2014). Comparing four approaches for technical debt identification. Software Quality Journal, 22, 403–426 (2014). DOI: https://doi.org/10.1007/s11219-013-9200-8.

Downloads

Published

2023-02-03

How to Cite

Berenguer, C., Borges, A., Freire, S., Rios, N., Ramač, R., Taušan, N., Pérez, B., Castellanos, C., Correal, D., Pacheco, A., López, G., Mendonça, M., Falessi, D., Seaman, C., Mandić, V., Izurieta, C., & Spínola, R. (2023). Investigating the Relationship between Technical Debt Management and Software Development Issues. Journal of Software Engineering Research and Development, 11(1), 3:1 – 3:21. https://doi.org/10.5753/jserd.2023.2581

Issue

Section

Research Article

Most read articles by the same author(s)