Technical Debt: Priorização baseada em eventos futuros

##plugins.themes.bootstrap3.article.main##

Filipe Tabosa da Silva
Wylliams Barbosa Santos
Rodrigo Rebouças de Almeida

Resumo

Dívida Técnica (DT) é um termo criado para referir-se às soluções de baixa qualidade que visam um benefício imediato, mas que precisam ser resolvidos posteriormente para evitar prejuízos ao projeto (Cunningham, 1993). Embora a definição possa trazer a ideia de que DT deva ser evitada a todo custo, ela pode ajudar no desenvolvimento de software. Desde que contraída de forma planejada e que haja uma rotina de acompanhamento, escolhendo o melhor momento para pagá-la, evitando impactos negativos nos quesitos: técnico, financeiro ou tempo do projeto. Alves (2016) afirma que não há como evitar a incorporação de dívidas técnicas no projeto, se o gestor ou equipe afirma que não possui DT, provavelmente não tem conhecimento sobre as DTs contidas no seu projeto. A gestão das DTs pode considerar aspectos relacionados à gestão das organizações, apresentando-se como uma maneira de evitar/minimizar os impactos negativos ocasionados por DTs (Li, 2015). Rotinas de gerenciamento levam em conta os aspectos técnicos envolvidos, que acompanham a DT desde sua identificação até a quitação. Dentre as fases do gerenciamento de DT, esta pesquisa se concentra em esclarecer um pouco mais sobre a etapa de priorização, que leva em conta a medição do impacto das DTs no negócio e é apontada como desafio de pesquisa (Li, 2015) (Rios, 2018). A priorização de DT pode ser realizada de várias formas, levando em consideração fatores distintos. Os eventos futuros que irão acontecer no projeto têm um peso alto na tomada de decisão por parte dos envolvidos do projeto para realizar a priorização, porém, ainda são pouco explorados e documentados. O proposto nesta pesquisa é responder a seguinte pergunta: “Quais fatores futuros influenciam na priorização de dívidas técnicas?”. Para possibilitar essa resposta é importante realizar o mapeamento das variáveis (sejam elas a nível técnico ou de negócios) que afetam na escolha de quais itens de DT devem ser quitados de forma prioritária ao levar em conta os fatores que ainda estão por vir a afetar o projeto. Atualmente existem formas de priorização que levam em conta fatores já mensuráveis como por exemplo: perspectivas comerciais, alterações em versões das tecnologias utilizadas, mudança de prioridade de entrega, influência do cliente, custos monetários da dívida, impacto para o desenvolvimento de novas funcionalidades, dentre outros. Respondendo à pergunta de pesquisa é esperado contribuir não só para o avanço do estado da arte no que diz respeito a priorização de DT em projetos de software, mas também contribuir com a indústria, para que esses fatores subjetivos sejam mapeados e possam ser levados em conta no processo de gestão e priorização de forma mais clara e ampla. O objetivo da pesquisa em questão é classificado como exploratório, onde não há foco em provar teoria e nem representar resultados estatísticos. Neste sentido, o foco da pesquisa se dará em responder a um problema de pesquisa de ordem intelectual, visando expandir o conhecimento acerca das formas de priorização de dívidas técnicas. Conforme comentado anteriormente, já se conhecem algumas formas de priorização, porém, a literatura ainda carece de algo formal no que diz respeito aos fatores futuros que influenciam na priorização de itens de dívida técnica. Para isso, um estudo de caso com profissionais da indústria possibilita o levantamento das questões práticas envolvidas. A natureza da pesquisa é classificada como básica. Voltada para aumentar o conhecimento acerca da priorização de DT e possibilitar uma posterior forma de utilização prática desse conhecimento. A abordagem é qualitativa com a utilização de um estudo de caso como procedimento técnico. Neste sentido, através da identificação e análise dos fatores futuros que influenciam na priorização de dívidas técnicas em projetos de software é esperado criar condições para otimizar a etapa de priorização do processo de gestão de DT. Por meio da investigação com base na literatura pretendesse obter um panorama geral das variáveis levadas em conta nos processos de priorização já existentes. É esperado que a publicação dos resultados da pesquisa além de avançar o estado da arte, possibilite o aperfeiçoamento dos processos de priorização de DT existentes. Para que além dos fatores já conhecidos, utilizem também os parâmetros identificados nesta pesquisa. Possibilitando que haja uma forma de automatizar o processo, minimizando o esforço para os responsáveis e dando mais segurança à rotina. Visto que dívida técnica é um conceito amplo e que atinge os projetos de software. É importante que as soluções propostas para evitar prejuízos vindos de DTs ao projeto sejam atualizadas de acordo com a realidade vivida pelos profissionais do desenvolvimento de software. Neste quesito, foi identificado um gap de pesquisa que visa complementar as estratégias existentes para priorização da DT existente no projeto de software, levando em conta fatores que podem e/ou irão afetar o projeto e que impactam na forma como o gestor das DTs irá atuar na tomada de decisão. O levantamento acerca de dívida técnica deixa claro que a preocupação da gestão de DT não é quitar toda a dívida do projeto e sim reduzir riscos de prejuízo ao projeto. A quantidade de dívidas técnicas em um projeto pode inviabilizar seu pagamento total, desta forma, a priorização é uma etapa fundamental no processo de gerenciamento da dívida. O suporte a tomada de decisão feito por abordagens já conhecidas leva em conta fatores já identificados e geralmente de cunho técnico, portanto, os fatores que ainda não foram mapeados impactam no sucesso das abordagens já conhecidas, uma vez que o profissional pode desconsiderar o suporte da abordagem ao considerar que um fator não técnico que irá afetar o projeto.
 
Palavras-chave: Dívida Técnica; Priorização; Futuro; Estudo de caso.
 
Referências
 
CUNNINGHAM, Ward. The WyCash portfolio management system. ACM SIGPLAN OOPS Messenger, v. 4, n. 2, p. 29-30, abr. 1993. Disponível em: https://doi.org/10.1145/157710.157715. Acesso em: 10 set. 2022.
 
ALVES, Nicolli S. R. et al. Identification and management of technical debt: A systematic mapping study. Information and Software Technology, v. 70, p. 100-121, fev. 2016. Disponível em: https://doi.org/10.1016/j.infsof.2015.10.008. Acesso em: 10 set. 2022.
 
LI, Zengyang; AVGERIOU, Paris; LIANG, Peng. A systematic mapping study on technical debt and its management. Journal of Systems and Software, v. 101, p. 193-220, mar. 2015. Disponível em: https://doi.org/10.1016/j.jss.2014.12.027. Acesso em: 10 set. 2022.
 
RIOS, Nicolli; MENDONÇA NETO, Manoel Gomes de; SPÍNOLA, Rodrigo Oliveira. A tertiary study on technical debt: Types, management strategies, research trends, and base information for practitioners. Information and Software Technology, v. 102, p. 117-145, out. 2018. Disponível em: https://doi.org/10.1016/j.infsof.2018.05.010. Acesso em: 10 set. 2022.

Downloads

Não há dados estatísticos.

##plugins.themes.bootstrap3.article.details##

Seção
Engenharia da Computação e Sistemas