skip to main content
10.1145/3571473.3571499acmotherconferencesArticle/Chapter ViewAbstractPublication PagessbqsConference Proceedingsconference-collections
research-article

Investigating how Agile Software Practitioners Repay Technical Debt in Software Projects

Published:27 January 2023Publication History

ABSTRACT

Context: The adoption of agile methodologies can bring benefits to software projects, but such methodologies are also prone to technical debt (TD) accumulation. Knowing the practices used for repaying debt items and practice avoidance reasons (PARs) considered for explaining their non-repayment can aid agile practitioners to improve their capacity to manage TD. Aims: To investigate how agile software practitioners repay TD items in software projects. Method: We analyze a data set composed of 179 answers collected through a globally distributed family of industrial surveys on TD. Results: Agile practitioners tend to not repay debt items, mainly for those items that happen very often. The main PARs that explain the non-repayment are focusing on short-term goals, lack of organizational interest, and cost. Conversely, the repayment practices code refactoring, investing effort on TD repayment activities, and investing effort on testing activities are the more commonly used practices for eliminating debt items. We organize all this information in TD repayment boards. Conclusion: TD repayment in agile software projects is still far from ideal. The set of practices and PARs, and the boards can support practitioners in sharing their experiences in TD repayment.

References

  1. Rodrigo O. Spínola, Nico Zazworka, Antonio Vetrò, Forrest Shull, and Carolyn Seaman. 2019. Understanding automated and human based technical debt identification approaches: a two-phase study. Journal of the Brazilian Computer Society, 25(5).Google ScholarGoogle ScholarCross RefCross Ref
  2. Philippe Kruchten, Robert L. Nord, and Ipek Ozkaya. 2012. Technical debt: from metaphor to theory and practice. IEEE Software.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Nicolli Rios, Manoel Mendonça, and Rodrigo Spínola, 2018. A tertiary study on technical debt: Types, management strategies, research trends, and base information for practitioners. Information and Software Technology, 102, 117-145.Google ScholarGoogle ScholarCross RefCross Ref
  4. Zengyang Li, Paris Avgeriou, and Peng Liang, 2015. A systematic mapping study on technical debt and its management. Journal of Systems and Software, 101, 193–220.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Nicolli Rios, Sávio Freire, Boris Perez, Camilo Castellanos, Dario Correal, Manoel Mendonça, Davide Falessi, Clemente Izurieta, Carolyn Seaman, and Rodrigo Spínola, 2021. On the Relationship Between Technical Debt Management and Process Models. In IEEE Software, vol. 38, no. 5, pp. 56-64.Google ScholarGoogle ScholarCross RefCross Ref
  6. Narendra Kurapati, Venkata S. C. Manyam, and Kai Petersen. 2012. Agile software development practice adoption survey, in: Agile processes in software engineering and extreme programming, Springer, pp. 16-30.Google ScholarGoogle Scholar
  7. Ganesh Samarthyam, Mahesh Muralidharan, and Raghu K. Anna. 2017. Understanding Test Debt. In: Mohanty H., Mohanty J., Balakrishnan A. (eds) Trends in Software Testing. Springer, Singapore.Google ScholarGoogle Scholar
  8. Cecilia Apa, Martin Solari, Diego Vallespir, and Guilherme Horta Travassos. 2020. A Taste of the Software Industry Perception of Technical Debt and its Management in Uruguay: A survey in software industry. In Proceedings of the 14th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM). ACM, New York, NY, USA, Article 42, 1–9.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Cecilia Apa, Helvio Jeronimo, Luciana M. Nascimento, Diego Vallespir, and Guilherme Horta Travassos. 2020. The perception and management of technical debt in software startups. In: Nguyen-Duc A., Münch J., Prikladnicki R., Wang X., Abrahamsson P. (eds) Fundamentals of Software Startups. Springer, Cham.Google ScholarGoogle Scholar
  10. Woubshet N. Behutiye, Pilar Rodríguez, Markku Oivo, and Ayşe Tosun. 2017. Analyzing the concept of technical debt in the context of agile software development: A systematic literature review. Information and Software Technology, v. 82, p. 139-158.Google ScholarGoogle ScholarCross RefCross Ref
  11. Marcelo M. Bomfim Jr. and Viviane A. Santos. 2017. Strategies for Reducing Technical Debt in Agile Teams. In: Silva da Silva T., Estácio B., Kroll J., Mantovani Fontana R. (eds) Agile Methods. WBMA 2016. Communications in Computer and Information Science, vol 680. Springer, Cham.Google ScholarGoogle Scholar
  12. Nicolli Rios, Rodrigo O. Spínola, Manoel Mendonça, and Carolyn Seaman. 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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Robert Ramač, Vladimir Mandić, Nebojša Taušan, Nicolli Rios, Sávio Freire, Boris Pérez, Camilo Castellanos, Darío Correal, Alexia Pacheco, Gustavo Lopez, Clemente Izurieta, Carolyn Seaman, Rodrigo Spinola. 2021. Prevalence, common causes and effects of technical debt: Results from a family of surveys with the IT industry. Journal of Systems and Software,111114.Google ScholarGoogle Scholar
  14. Sávio Freire, Nicolli Rios, Boris Gutierrez, Darío Torres, Manoel Mendonça, Clemente Izurieta, Carolyn Seaman, and Rodrigo O. Spínola. 2020. 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 (EASE ’20). ACM, New York, NY, USA, 210–219.Google ScholarGoogle Scholar
  15. Bóris Pérez, Camilo Castellanos, Darío Correal, Nicolli Rios, Sávio Freire, Rodrigo Spínola, and Carolyn Seaman. 2020. What are the practices used by software practitioners on technical debt payment? Results from an international family of surveys. In Proceedings of the 3rd International Conference on Technical Debt (TechDebt). ACM, New York, NY, USA, 103–112.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Sávio Freire, Nicolli Rios, Boris Pérez, Darío Correal, Manoel Mendonça, Clemente Izurieta, Carolyn Seaman and Rodrigo Spínola. 2021. 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 2021). IEEE, Honolulu, USA, 605-609.Google ScholarGoogle ScholarCross RefCross Ref
  17. Boris Pérez, Camilo Castellanos, Darío Correal, Nicolli Rios, Sávio Freire, Rodrigo Spínola, Carolyn Seaman, Clemente Izurieta. 2021. Technical debt payment and prevention through the lenses of software architects. Information and Software Technology, vol 140, 106692.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Sávio Freire, Nicolli Rios, Boris Pérez, Camilo Castellanos, Darío Correal, Robert Ramač, Nebojša Taušan, Vladimir Mandić, Alexia P. Hernandez, Gustavo López, Manoel Mendonça, Clemente Izurieta, Davide Falessi, Carolyn B. Seaman, and Rodrigo O. Spínola. 2021. Pitfalls and solutions for technical debt management in agile software projects. IEEE Software.Google ScholarGoogle Scholar
  19. Anselm Strauss and Juliet M. Corbin. 1998. Basics of qualitative research: techniques and procedures for developing grounded theory. Sage Publications.Google ScholarGoogle Scholar
  20. Carolyn Seaman. 1999. Qualitative methods in empirical studies of software engineering. IEEE Transactions on Software Engineering, 25(4):557-572.Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Paulo S. M. dos Santos, Amanda Varella, Cristine R. Dantas, and Daniel B. Borges. 2013. Visualizing and Managing Technical Debt in Agile Development: An Experience Report. In: Baumeister H., Weber B. (eds) Agile Processes in Software Engineering and Extreme Programming. XP 2013. Lecture Notes in Business Information Processing, vol 149. Springer, Berlin, Heidelberg.Google ScholarGoogle Scholar
  22. Barry W. Boehm. 1991. Software risk management: principles and practices. IEEE Software, vol. 8, no. 1, pp. 32-41.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Claes Wohlin, Per Runeson, Martin Höst, Magnus C. Ohlsson, Björn Regnell, and Anders Wesslén. 2012. Experimentation in Software Engineering: An Introduction. Springer.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Hoda, R., Salleh, N., & Grundy, J. (2018). The rise and evolution of agile software development. IEEE software, 35(5), 58-63.Google ScholarGoogle Scholar
  25. Paredes, Julia, Craig Anslow, and Frank Maurer. "Information visualization for agile software development." 2014 Second IEEE Working Conference on Software Visualization. IEEE, 2014.Google ScholarGoogle Scholar

Index Terms

  1. Investigating how Agile Software Practitioners Repay Technical Debt in Software Projects

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format .

    View HTML Format