Skip navigation
Universidade Federal da Bahia |
Repositório Institucional da UFBA
Use este identificador para citar ou linkar para este item: https://repositorio.ufba.br/handle/ri/37027
Tipo: Tese
Título: Organizing the state of practice on technical debt prevention, monitoring, and payment in software projects
Título(s) alternativo(s): Organizando o estado da prática sobre prevenção, monitoramento e pagamento da dívida técnica em projetos de software
Autor(es): Freire, Emmanuel Sávio Silva
Primeiro Orientador: Mendonça Neto, Manoel Gomes de
metadata.dc.contributor.advisor-co1: Spínola, Rodrigo Oliveira
metadata.dc.contributor.referee1: Mendonça Neto, Manoel Gomes de
metadata.dc.contributor.referee2: Cruzes, Daniela Soares
metadata.dc.contributor.referee3: Kulesza, Uirá
metadata.dc.contributor.referee4: Mendes, Thiago Souto
metadata.dc.contributor.referee5: Novais, Renato Lima
Resumo: 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, têm-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 experimentais 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.
Abstract: Context: Technical debt (TD) describes the effects of immature artifacts on software development that can bring benefits in the short term but may have to be paid with interest in the long term. TD management balances short-term and long-term goals, supporting development teams to decide on the need and the best time to eliminate the debt. TD management activities include prevention, monitoring, and payment. Through prevention, it is possible to prevent teams from incurring TD, while monitoring helps them follow the evolution of TD items concerning the cost-benefit of eliminating them or not, that is, paying the debt items. Knowing the practices used to prevent, monitor, and pay TD items can help development teams to choose the best practice to be used in their projects. Identifying the practice avoidance reasons (PARs) that lead to non-prevention, non-monitoring, and non-payment of TD can help teams understand which aspects need to be improved to enable TD management. Although the technical literature has investigated the prevention, monitoring, and payment of TD, current results only reflect the viewpoint of a small number of professionals and organizations. To achieve the benefits of TD management, it is necessary to investigate more deeply the practices and PARs associated with these TD activities. Aims: This Ph.D. dissertation aims to investigate, through the continuous and independent replication of a family of surveys conducted globally, the state of practice on the prevention, monitoring, and payment of TD items in software projects. Method: Initially, we conducted a literature review on the current state of research on TD and its prevention, monitoring, and payment. Then, we analyzed data collected by six replication teams from the InsighTD project, which is a family of globally distributed surveys on the causes, effects, and management of TD. From the body of knowledge resulted from the analysis of InsighTD data, we defined three artifacts: an updated version of the conceptual model for TD, a set of conceptual maps, and IDEA (Impediments, Decision factors, Enabling practices, and Actions) diagrams. Finally, we assessed these artifacts through empirical studies in academic and industrial settings. Results: This Ph.D. dissertation presents the leading practices used to prevent, monitor, and pay off TD items and the PARs that justify the non-application of these practices. Regarding the prevention of TD, well-defined requirements, adopting good programming practices, and better project management are among the five most cited practices related to prevention, while short deadlines, ineffective management, and lack of predictability in the software development are among the five most cited PARs to justify the non-prevention of debt. About TD monitoring, TD item backlog, use of tools, and team meetings are among the five most cited practices related to monitoring, while lack of interest, focus on short-term goals, and lack of time are among the five PARs used to explain the non-monitoring of TD items. Regarding TD payment, code refactoring, investing effort in TD payment activities, and design refactoring are among the top five payment-related practices, while focusing on short-term goals, lack of organizational interest, and lack of time are among the five most cited PARs to explain the non-payment of TD. We update the conceptual model for TD by including the knowledge we learn from the state of practice and organize all practices and PARs along with their types, natures, and categories into maps and IDEA diagrams. From the conceptual model and TD payment map assessment, we found that they are well organized and provide valuable information to define strategies for TD management. The IDEA diagrams assessment provided positive evidence that the diagrams are easy to read and follow and can influence decisions on how to manage TD items. Conclusion: Using the InsighTD data, this Ph.D. dissertation explores the state of practice on TD prevention, monitoring, and payment, revealing the primary practices used to perform these activities and the PARs that avoid their execution. All body of knowledge was organized into three artifacts that can drive new investigations on TD and support software practitioners in increasing their capabilities and reducing their issues in managing debt items.
Palavras-chave: Dívida técnica (Computação)
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
Software - Desenvolvimento
CNPq: CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE
Idioma: eng
País: Brasil
Editora / Evento / Instituição: Universidade Federal da Bahia
Sigla da Instituição: UFBA
metadata.dc.publisher.department: Instituto de Computação - IC
metadata.dc.publisher.program: Programa de Pós-Graduação em Ciência da Computação (PGCOMP) 
Citação: FREIRE, Emmanuel Sávio Silva. Organizing the state of practice on technical debt prevention, monitoring, and payment in software projects. 2023. 252 f. Tese (Doutorado em Ciência da Computação) Instituto de Computação, Universidade Federal da Bahia, Salvador, BA, 2023.
Tipo de Acesso: Attribution-NonCommercial-NoDerivs 3.0 Brazil
metadata.dc.rights.uri: http://creativecommons.org/licenses/by-nc-nd/3.0/br/
URI: https://repositorio.ufba.br/handle/ri/37027
Data do documento: 30-Jan-2023
Aparece nas coleções:Tese (PGCOMP)

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
TESE_Savio_Freire_VFinal.pdfTese de Doutorado de Emmanuel Sávio Silva Freire49,95 MBAdobe PDFVisualizar/Abrir
Mostrar registro completo do item Visualizar estatísticas


Este item está licenciada sob uma Licença Creative Commons Creative Commons