Um Guia para Identificação e Mensuração de Dívida Técnica de Requisitos no Desenvolvimento de Software
Resumo
Contexto: Dívida Técnica (DT) descreve as consequências que os projetos de software enfrentam durante o seu desenvolvimento, ocasionada muitas vezes, quando tarefas não são realizadas adequadamente. Inicialmente, a DT possuía foco nas atividades de codificação, mas no avanço das investigações, o conceito foi ampliado nas demais fases do desenvolvimento de software, a exemplo, na engenharia de requisitos. Problema: A DT de requisitos está relacionada a distância entre o valor ideal da especificação dos requisitos e a implementação real do sistema, a qual são consequências das decisões estratégicas para ganhos imediatos, ou mudanças não propositais no contexto. Independentemente, é necessário mantê-la gerenciada para assegurar a evolução do software. Identificação e mensuração são as duas primeiras etapas do processo de gerenciamento, no entanto, na engenharia de requisitos ainda são pouco exploradas em pesquisas acadêmicas. Objetivo: Neste contexto, o principal objetivo deste trabalho é desenvolver um guia que possa auxiliar profissionais de software a identificar e mensurar a DT de requisitos existente em seus projetos. Metodologia: Para isso, a pesquisa está sendo desenvolvida através de quatro etapas. A primeira referente a coleta de evidências, objetiva identificar as informações que serão disponibilizadas no guia. A segunda refere-se ao desenvolvimento da proposta, nela as informações identificadas anteriormente serão analisadas para na sequência o guia ser desenvolvido. Na terceira etapa referente a validação, o guia será avaliado por especialistas da área. Por fim, na quarta etapa de análise e conclusão, considerações e resultados sobre a eficácia do guia serão apresentadas. Resultados: Como resultados parciais, já foram identificadas causas que ocasionam no surgimento da DT de requisitos; estratégias existentes para auxiliar na identificação e mensuração; métricas utilizadas na etapa de mensuração; assim como dificuldades apontadas ao realizar essas atividades.
Palavras-chave:
Dívida Técnica de Requisitos, Identificação, Mensuração
Referências
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.
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.
Publicado
19/10/2020
Como Citar
DE MELO, Ana Carolina Candido; FAGUNDES, Roberta Andrade de A.; SANTOS, Wylliams B..
Um Guia para Identificação e Mensuração de Dívida Técnica de Requisitos no Desenvolvimento de Software. In: WORKSHOP DE TESES E DISSERTAÇÕES (WTDSOFT) - CONGRESSO BRASILEIRO DE SOFTWARE: TEORIA E PRÁTICA (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.