A Guide to Identifying and Measuring Technical Debt Requirements in Software Development

  • Ana Carolina Candido de Melo University of Pernambuco http://orcid.org/0000-0003-4608-0651
  • Roberta Andrade de A. Fagundes University of Pernambuco
  • Wylliams B. Santos University of Pernambuco

Abstract


Context: Technical Debt (TD) describes the consequences that software projects face during their development, often caused when tasks are not performed properly. Initially, TD had a focus on coding activities, but in the progress of investigations, the concept was expanded in other phases of software development, for example, in requirements engineering. Problem: The requirements TD is related to the distance between the ideal value of the requirements specification and the actual implementation of the system, which are consequences of strategic decisions for immediate gains, or unintended changes in the context. Regardless, it is necessary to keep it managed to ensure the evolution of the software. Identification and measurement are the first two stages of the management process, however, in requirements engineering, they are still little explored in academic research. Objective: In this context, the main objective of this work is to develop a guide that can help software professionals to identify and measure the TD of existing requirements in their projects. Methodology: For this, the research is being developed through four stages. The first referring to the collection of evidence aims to identify the information that will be made available in the guide. The second refers to the development of the proposal, in which the information previously identified will be analyzed so that the guide can be developed next. In the third stage regarding validation, the guide will be evaluated by specialists in the field. Finally, in the fourth stage of analysis and conclusion, considerations and results on the effectiveness of the guide will be presented. Results: As partial results, causes that cause the appearance of the TD of requirements have already been identified; existing strategies to assist in the identification and measurement; metrics used in the measurement step; as well as difficulties pointed out when carrying out these activities.
Keywords: Technical Debt Requirements, Identification, Measurement

References

Alves, M., Nunes, Gava, V., and Luiz (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.

Alves, N. S., Mendes, T. S., de Mendonça, M. G., Spínola, R. O., Shull, F., and Seaman, C. (2016). Identification and management of technical debt: A systematic mapping study. Information and Software Technology, 70:100–121.

Besker, T., Martini, A., and Bosch, J. (2018). Technical debt cripples software developer productivity.

Brown, N., Cai, Y., Guo, Y., Kazman, R., Kim, M., Kruchten, P., Lim, E., MacCormack, A., Nord, R., Ozkaya, I., et al. (2010). Managing technical debt in software-reliant systems. In Proceedings of workshop on future of software engineering research.

Cunningham, W. (1992). The wycash portfolio management system. ACM SIGPLAN OOPS Messenger, 4(2):29–30.

Dyba, T., Dingsoyr, T., and Hanssen, G. K. (2007). Applying systematic reviews to diverse study types: An experience report. In First International Symposium on Empirical Software Engineering and Measurement (ESEM 2007), pages 225–234. IEEE.

Ernst, N. A. (2012). On the role of requirements in understanding and managing technical debt. In 2012 Third International Workshop on Managing Technical Debt (MTD).

Kitchenham, B. and Charters, S. (2007). Guidelines for performing systematic literature reviews in software engineering.

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

Li, Z., Liang, P., and Avgeriou, P. (2014). Architectural debt management in value-oriented architecting. In Economics-Driven Software Architecture, pages 183–204.

Lim, E. (2012). Technical debt: what software practitioners have to say. PhD thesis, University of British Columbia.

Rios, N., de Mendonça Neto, M. G., and Spínola, R. O. (2018). A tertiary study on technical debt: Types, management strategies, research trends, and base information for practitioners. Information and Software Technology, 102:117–145.

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

Runeson, P., Host, M., Rainer, A., and Regnell, B. (2012). Case study research in software engineering: Guidelines and examples. John Wiley & Sons.

Sousa, C. L. d. (2016). Mapa de apoio à gestão de dívida técnica no processo de teste de software. Master’s thesis, Universidade Federal de Pernambuco.
Published
2020-10-19
DE MELO, Ana Carolina Candido; FAGUNDES, Roberta Andrade de A.; SANTOS, Wylliams B.. A Guide to Identifying and Measuring Technical Debt Requirements in Software Development. In: WORKSHOP ON THESES AND DISSERTATIONS (WTDSOFT) - BRAZILIAN CONFERENCE ON SOFTWARE: THEORY AND PRACTICE (CBSOFT), 11. , 2020, Evento Online. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2020 . p. 8-14. DOI: https://doi.org/10.5753/cbsoft_estendido.2020.14603.