Identifying and Measuring Technical Debt in Software Requirements: a supporting guide

Resumo


Context: Identification and measurement are the first steps in managing a Technical Debt (TD). They are essential to know the type of TD and estimate its impact on the software. Problem: However, in requirements engineering, these steps are little explored in academic research since the measurement is considered one of the most challenging phases. Solution: This work aims to develop a support guide to help software development professionals identify and measure the TD of requirements in their projects. IS Theory: This work was conceived under the aegis of the Customer Focus Theory. The requirements of TD management directly impact the quality of the product that will be delivered to the customer. Method: Initially, a systematic literature review was conducted, and a survey was applied with software development professionals allocated to different organizations. Additionally, the guide was developed and evaluated by four specialists through a focus group session. Summary of Results: Among the results, it became possible to present the existing strategies that help identify and measure the DT of requirements, in addition to tools and metrics that are used to automate the management process. Contributions and Impact in the IS area: After analyzing the results, it can be concluded that the guide is a resource that helps, especially professionals with a low level of knowledge in the area, obtain more information about TD. In addition, one of the contributions is investigating an interdisciplinary area, as TD involves social, technological, and organizational aspects.
Palavras-chave: Technical Debt, Support Guide, Identification, Measurement

Referências

Eric Allman. 2012. Managing technical debt. Commun. ACM 55, 5 (2012).

Mirla Alves and Vagner Luiz Gava. 2018. Uma Proposta para Identificar, Medir e Gerenciar a Dívida Técnica em Requisitos de Software. International Conference on Information Systems and Technology Management (2018).

Nicolli SR Alves, Thiago S Mendes, Manoel G de Mendonça, Rodrigo O Spínola, Forrest Shull, and Carolyn Seaman. 2016. Identification and management of technical debt: A systematic mapping study. Information and Software Technology 70 (2016), 100–121.

Márcio Barros and Renata Araujo. 2016. Caminhos para o Desenvolvimento de Sistemas de Informação Resilientes. (2016).

Terese Besker, Antonio Martini, and Jan Bosch. 2018. Technical Debt Cripples Software Developer Productivity. (2018).

Nanette Brown, Yuanfang Cai, Yuepu Guo, Rick Kazman, Miryung Kim, Philippe Kruchten, Erin Lim, Alan MacCormack, Robert Nord, Ipek Ozkaya, et al. 2010. Managing technical debt in software-reliant systems. In Proceedings of the FSE/SDP workshop on Future of software engineering research. ACM, 47–52.

Ward Cunningham. 1992. The WyCash portfolio management system. ACM SIGPLAN OOPS Messenger 4, 2 (1992), 29–30.

Everton da Silva Maldonado, Emad Shihab, and Nikolaos Tsantalis. 2017. Using natural language processing to automatically detect self-admitted technical debt. IEEE Transactions on Software Engineering 43, 11 (2017), 1044–1062.

Mário André de F. Farias, Railan Xisto, Marcos S Santos, Raphael S Fontes, Methanias Colaço, Rodrigo Spínola, and Manoel Mendonça. 2019. Identifying technical debt through a code comment mining tool. In Proceedings of the XV Brazilian Symposium on Information Systems. 1–8.

Ana Carolina C de Melo, Roberta Fagundes, José Vinıcius V Lima, Fernanda Alencar, and Wylliams Santos. 2021. Identificaçao e Mensuraçao da Dıvida Técnica de Requisitos: um survey na indústria de software. In WER.

Norman K Denzin and Yvonna S Lincoln. 2005. The discipline and practice of qualitative research introduction. The landscape of qualitative research (2005).

Neil A Ernst. 2012. On the role of requirements in understanding and managing technical debt. In 2012 Third International Workshop on Managing Technical Debt.

Barbara Kitchenham and Stuart Charters. 2007. Guidelines for performing systematic literature reviews in software engineering. (2007).

Barbara A Kitchenham and Shari L Pfleeger. 2008. Personal opinion surveys. In Guide to advanced empirical software engineering. Springer, 63–92.

Jyrki Kontio, Laura Lehtola, and Johanna Bragge. 2004. Using the focus group method in software engineering: obtaining practitioner and user experiences. In Proceedings. 2004 International Symposium on Empirical Software Engineering, 2004. ISESE’04. IEEE, 271–280.

Valentina Lenarduzzi and Davide Fucci. 2019. Towards a holistic definition of requirements debt. In 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM). IEEE, 1–5.

Valentina Lenarduzzi, Teemu Orava, Nyyti Saarimäki, Kari Systa, and Davide Taibi. 2019. An Empirical Study on Technical Debt in a Finnish SME. In 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM). IEEE, 1–6.

Zengyang Li, Paris Avgeriou, and Peng Liang. 2015. A systematic mapping study on technical debt and its management. Journal of Systems and Software (2015).

Zengyang Li, Peng Liang, and Paris Avgeriou. 2014. Architectural debt management in value-oriented architecting. In Economics-Driven Software Architecture.

Vladimir Mandić, Markku Oivo, Pilar Rodríguez, Pasi Kuvaja, Harri Kaikkonen, and Burak Turhan. 2010. What is flowing in lean software development?. In International Conference on Lean Enterprise Software and Systems. Springer, 72–84.

Ana Melo, Roberta Fagundes, Valentina Lenarduzzi, and Wylliams Barbosa Santos. 2022. Identification and measurement of Requirements Technical Debt in software development: A systematic literature review. Journal of Systems and Software (2022), 111483.

RS Pressman, James Rambaugh, Sommer Ville, and Waman S Jawadekar. 2010. Software Engineering: A Practitioner's Approach”, TMH. Architecture (2010), 2.

Nicolli Rios, Manoel Gomes de Mendonça Neto, and Rodrigo Oliveira Spínola. 2018. A tertiary study on technical debt: Types, management strategies, research trends, and base information for practitioners. Information and Software Technology 102 (2018), 117–145.

Karine da Silva Santos, Mara Cristina Ribeiro, Danlyne Eduarda Ulisses de Queiroga, Ivisson Alexandre Pereira da Silva, and Sonia Maria Soares Ferreira. 2020. O uso de triangulação múltipla como estratégia de validação em um estudo qualitativo. Ciência & Saúde Coletiva 25 (2020), 655–664.

Carolyn Seaman and Yuepu Guo. 2011. Measuring and monitoring technical debt. In Advances in Computers. Vol. 82. Elsevier, 25–46.

Graziela Simone Tonin. 2018. Technical debt management in the context of agile methods in software development. Ph. D. Dissertation. Universidade de São Paulo.

Hans Van Vliet, Hans Van Vliet, and JC Van Vliet. 2008. Software engineering: principles and practice. Vol. 13. Citeseer.

Carlos Eduardo Vazquez and Guilherme Siqueira Simões. 2016. Engenharia de Requisitos: software orientado ao negócio. Brasport.

Qianneng Wang and Yujie Huang. 2020. Identification and Management of Requirements Debt: Systematic Mapping Study and Survey.

Raul Wazlawick. 2014. Metodologia de pesquisa para ciência da computação, 2ª edição.

Karl Wiegers and Joy Beatty. 2013. Software requirements. Pearson Education.
Publicado
29/05/2023
MELO, Ana Carolina Candido De; ACCIOLY, Nathália; FAGUNDES, Roberta; SANTOS, Wylliams. Identifying and Measuring Technical Debt in Software Requirements: a supporting guide. In: SIMPÓSIO BRASILEIRO DE SISTEMAS DE INFORMAÇÃO (SBSI), 19. , 2023, Maceió/AL. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2023 .