Organizando o Estado da Prática em Prevenção, Monitoramento e Pagamento de Dívidas Técnicas em Projetos de Software
dívida técnica, gerenciamento da dívida técnica, prevenção da dívida técnica, monitoramento da dívida técnica, pagamento da dívida técnica, família de surveys, diagramas IDEA
Contexto: Dívida Técnica (DT) descreve os efeitos de artefatos imaturos no desenvolvimento de software que podem trazer benefícios a curto prazo, mas que poderão ter que ser pagos com juros a longo prazo. O gerenciamento da DT equilibra os objetivos de curto e longo prazo, auxiliando as equipes de desenvolvimento a decidir sobre a necessidade e o melhor momento para eliminar a dívida. Dentre as atividades de gerenciamento da DT, tem-se a prevenção, o monitoramento e o pagamento. Por meio da prevenção, é possível evitar que equipes incorram em DT, enquanto o monitoramento as auxilia a acompanhar a evolução dos itens da DT em relação ao custo-benefício de eliminá-los ou não, ou seja, pagar os itens da dívida. Conhecer as práticas utilizadas para prevenir, monitorar e pagar os itens da DT pode auxiliar equipes de desenvolvimento na escolha da melhor prática a ser utilizada nos seus projetos. Identificar as razões que levam à não prevenção, ao não monitoramento e ao não pagamento da DT pode ajudar equipes a entenderem quais aspectos precisam ser melhorados para possibilitar o gerenciamento da DT. Embora a literatura técnica tenha investigado a prevenção, o monitoramento e o pagamento da DT, os resultados atuais refletem apenas o ponto de vista de um pequeno número de profissionais e organizações. Para alcançar os benefícios da gestão da DT, é necessário investigar mais profundamente as práticas e as razões associados a essas atividades da DT.
Objetivo: Esta tese tem como objetivo investigar, por meio da replicação contínua e independente de uma família de surveys conduzidos globalmente, o estado da prática sobre a prevenção, o monitoramento e o pagamento de itens da DT em projetos de software.
Método: Inicialmente, foi realizada uma revisão da literatura sobre o estado atual da pesquisa sobre DT e sua prevenção, monitoramento e pagamento. Em seguida, foram analisados os dados coletados por seis equipes de replicação do projeto InsighTD, uma família de surveys globalmente distribuída sobre causas, efeitos e gerenciamento da DT. A partir do corpo de conhecimento resultante das análises dos dados de InsighTD, foram definidos três artefatos: uma versão atualizada do modelo conceitual de DT, um conjunto de mapas conceituais e os diagramas IDEA (Impediments, Decision factors, Enabling practices, and Actions). Por fim, os três artefatos foram avaliados por meio de estudos de casos na academia e na indústria.
Resultados: Esta tese apresenta as principais práticas utilizadas para prevenir, monitorar e pagar itens da DT e as razões que justificam a não aplicação dessas práticas. Em relação à prevenção da DT, requisitos bem definidos, adoção de boas práticas de programação e melhor gerenciamento do projeto estão entre as cinco práticas relacionadas à prevenção mais citadas, enquanto prazo curto, gerenciamento ineficiente e falta de previsibilidade no desenvolvimento de software estão entre as cinco razões mais citadas para justificar a não prevenção da dívida. Sobre o monitoramento da DT, backlog composto por itens da DT, utilização de ferramentas e reuniões da equipe estão entre as cinco práticas relacionadas ao monitoramento mais citadas, enquanto falta de interesse, foco em metas de curto prazo e falta de tempo estão entre as cinco razões utilizadas para explicar o não monitoramento de itens da DT. Em relação ao pagamento da DT, refatoração de código, investindo esforço nas atividades de pagamento da DT e refatoração de design estão entre as cinco práticas relacionadas ao pagamento mais citadas, enquanto foco em metas de curto prazo, falta de interesse organizacional e falta de tempo estão entre as cinco razões mais citadas para explicar o não pagamento da DT. O modelo conceitual da DT foi atualizado por meio da inclusão do conhecimento oriundo do estado da prática e todas as práticas e razões, juntamente com seus tipos, natureza e categorias, foram organizadas em mapas conceituais e diagramas IDEA. Por meio da avaliação do modelo conceitual e do mapa de pagamento da DT, foi encontrado que eles são bem-organizados e fornecem informações valiosas para definir estratégias de gerenciamento da DT. A avaliação dos diagramas IDEA forneceu evidências positivas de que eles são fáceis de ler e seguir e podem influenciar as decisões sobre como gerenciar itens de TD. Conclusão: Utilizando dados de InsighTD, esta tese explora o estado da prática da prevenção, monitoramento e pagamento da DT, revelando as principais práticas utilizadas para realizar essas atividades e as razões que evitam sua execução. Todo o corpo de conhecimento foi organizado em três artefatos que podem guiar novas investigações sobre a DT e apoiar os profissionais de software a aumentar suas capacidades e reduzir seus problemas no gerenciamento de itens de dívida.