Use este identificador para citar ou linkar para este item: https://repositorio.ufba.br/handle/ri/33242
Tipo: Tese
Título: Organização de um conjunto de descobertas experimentais sobre causas e efeitos da dívida técnica através de uma família de surveys globalmente distribuída
Autor(es): Alves, Nicolli Souza Rios
Autor(es): Alves, Nicolli Souza Rios
Abstract: Contexto: O conceito de dívida técnica (DT) contextualiza o problema das tarefas de desenvolvimento pendentes como um tipo de dívida que traz um benefício a curto prazo para o projeto, mas que poderão ter de ser pagas com juros mais tarde no processo de desenvolvimento. É comum que um projeto de software incorra em dívida durante o processo de desenvolvimento, no entanto, sua presença traz riscos para o projeto e dificulta sua gestão. Diferentes estratégias de gerenciamento da DT têm sido propostas, contudo, considerar ações que possam evitar sua inserção e monitorar seus efeitos ainda não é uma prática comum. Este é um ponto que merece ser melhor investigado por diferentes motivos: (i) conhecer as causas da DT pode auxiliar as equipes de desenvolvimento na definição de ações que possam ser tomadas para evitar sua ocorrência e (ii) conhecer os possíveis os efeitos da DT pode apoiar na realização de análises de impacto mais precisas e também na definição de ações corretivas para minimizar possíveis consequências negativas da dívida inserida. Dessa forma, enquanto o gerenciamento da DT é um tópico de pesquisa importante, também é necessário entender as causas que podem levar equipes de desenvolvimento a incorrer em diferentes tipos de dívida, bem como os efeitos de sua presença em projetos de software. Objetivo: O objetivo desta tese é investigar, através da replicação contínua e independente de surveys distribuídos globalmente, o estado da prática e tendências da indústria sobre DT incluindo causas que levam à sua ocorrência, efeitos de sua existência e como esses problemas se manifestam no processo de desenvolvimento de software. A partir da organização das causas e efeitos identificados, estruturar diagramas de causa e efeito probabilísticos que possam ser utilizados no apoio a atividades de gestão da DT. Método: As atividades realizadas nesta tese são fundamentadas no paradigma da engenharia de software experimental. Inicialmente, foi realizado um estudo terciário com o objetivo de investigar o estado atual da pesquisa sobre DT identificando quais tópicos de pesquisa têm sido considerados, organizando direcionamentos de pesquisa e conhecimentos práticos que já foram definidos, identificando os tipos conhecidos de DT, e mapeando quais atividades, estratégias e ferramentas têm sido propostas para apoiar o gerenciamento da DT. Em seguida, foi planejado InsighTD, uma família de surveys globalmente distribuída. InsighTD foi planejado de forma cooperativa com pesquisadores da área de DT de diferentes instituições ao redor do mundo. Trata-se do primeiro estudo em larga escala realizado na área. Ele busca organizar um conjunto aberto e generalizável de dados experimentais sobre causas e efeitos da DT em projetos de software. Por fim, os diagramas probabilísticos de causa e efeito da DT propostos foram avaliados através de estudo de caso executado na academia. Resultados: Esta tese apresenta os resultados do estudo terciário executado e as análises realizadas sobre a primeira execução de InsighTD no Brasil e sua primeira replicação nos Estados Unidos. Ao total, 107 profissionais da indústria brasileira e 99 da indústria estadunidense de software responderam ao questionário. Os resultados indicam que há uma ampla familiaridade com o conceito de DT. Prazos, planejamento inadequado, falta de conhecimento e falta de um processo bem definido estão entre as 10 causas mais citadas e mais prováveis de levar à ocorrência da DT em projetos de software. Por outro lado, baixa qualidade, atraso na entrega, baixa manutenibilidade, retrabalho e perdas financeiras estão entre os 10 efeitos mais citados e de maior impacto em um projeto com a presença da DT. Diagramas probabilísticos de causa e efeito da DT para os diferentes tipos de DT foram elaborados. Os resultados também indicaram que o tipo de modelo de processo (ágil, híbrido ou tradicional) impacta nos efeitos da DT sentidos por equipes de desenvolvimento. Conclusão: Com InsighTD, pretende-se reduzir o problema de investigações isoladas em DT que ainda não são representativas e, assim, construir um conjunto aberto e generalizável de dados experimentais para a compreensão de problemas práticos e desafios da área. Parte do conhecimento organizado será estruturado em diagramas probabilísticos de causa e efeito que permitem apoiar atividades de gestão da DT.
Context: The concept of technical debt (TD) contextualizes the problem of outstanding development tasks as a type of debt that brings a short-term benefit to the project, but may have to be paid with interest later on the development process. It is common for a software project to incur debt during the development process, however, its presence brings risks to the project and makes it difficult to manage. Researchers have proposed different TD management strategies, however, actual actions that can prevent TD insertion and monitoring its effects are not yet a common practice. This issue deserves better investigation because: (i) knowing the causes of TD can support development teams in defining actions that can be taken to prevent its occurrence and (ii) knowing its possible effects can support more accurate impact analyzes and better definition of corrective actions to minimize its negative consequences. Thus, while TD management is an important research topic, it is also necessary to understand the causes that can lead development teams to incur different types of debt, as well as the effects of their presence on software projects. Goal: The goal of this dissertation is to investigate, through continuous and independent replication of surveys distributed globally, the state of practice and industry trends on TD. This includes investigating the status quo on TD, causes that lead to its occurrence, effects of its existence and how these problems manifest themselves in the software development process. Based on the organization of the gathered data, this dissertation also seeks to structure probabilistic cause and effect diagrams that can be used to support TD management activities. Method: The activities carried out in this work are based on the experimental software engineering paradigm. Initially, a tertiary study was carried out with the objective of investigating the current state of research on TD, identifying which research topics have been considered, organizing research directions and practical knowledge that have already been defined, identifying the known types of TD, and mapping which activities, strategies and tools have been proposed to support TD management. Next, InsighTD, a family of globally distributed surveys, was planned and executed. InsighTD was planned in cooperation with researchers from different institutions around the world. It is the first large-scale study carried out in the area, and it is producing and organizing an open and generalizable set of empirical data on the causes and effects of TD in software projects. vii Lastly, the data produced in the first two executions of the InsighTD survey was organized in TD probabilistic cause and effect diagrams, that were evaluated through case studies carried out in academia and industry. Results: This thesis presents the results of the tertiary study carried out and the analyzes carried out on the first execution of InsighTD in Brazil and the United States. In total, 107 practitioners from the Brazilian industry and 99 from the US software industry answered the questionnaire. The results indicate that there is a wide familiarity with the concept of TD. Deadlines, inadequate planning, lack of knowledge and lack of a welldefined process are among the 10 most cited and most likely causes of TD occurrence in software projects. On the other hand, low quality, delay in delivery, low maintainability, rework and financial losses are among the 10 most cited and most impacting effects in a project with the presence of DT. Probabilistic cause and effect diagrams for TD types have been developed and evaluated. Conclusion: With InsighTD, this dissertation executes a broad investigation, based on the input of practitioners, on the causes and effects of TD in software engineering. It builds an open and generalizable set of empirical data to understand practical problems and challenges in the area. Part of the gained insights are structured in probabilistic cause and effect diagrams that can support TD management activities.
Palavras-chave: Dívida técnica - Desenvolvimento de software
Dívida técnica - Causa e efeito
Efeitos da dívida técnica
Engenharia de Software
CNPq: Ciências Exatas e da Terra
Ciência da Computação
Metodologia e Técnicas da Computação
Engenharia de Software
País: brasil
Sigla da Instituição: UFBA
metadata.dc.publisher.program: em Ciência da Computação
Tipo de Acesso: Acesso Aberto
URI: http://repositorio.ufba.br/ri/handle/ri/33242
Data do documento: 8-Abr-2021
Aparece nas coleções:Tese (PGCOMP)

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
TESE_NICOLLIRIOS_CORRECAO_V4.pdf12,32 MBAdobe PDFVisualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.