Organizing the state of practice on technical debt prevention, monitoring, and payment in software projects

Detalhes bibliográficos
Autor(a) principal: Freire, Emmanuel Sávio Silva
Data de Publicação: 2023
Tipo de documento: Tese
Idioma: eng
Título da fonte: Repositório Institucional da UFBA
Texto Completo: https://repositorio.ufba.br/handle/ri/37027
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.
id UFBA-2_797dff5bebe805ce5c5116eda51202a7
oai_identifier_str oai:repositorio.ufba.br:ri/37027
network_acronym_str UFBA-2
network_name_str Repositório Institucional da UFBA
repository_id_str 1932
spelling 2023-05-22T14:34:37Z2023-05-22T14:34:37Z2023-01-30FREIRE, 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.https://repositorio.ufba.br/handle/ri/37027Contexto: 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.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.Submitted by Sávio Freire (savio.essf@gmail.com) on 2023-05-20T14:19:37Z No. of bitstreams: 2 license_rdf: 811 bytes, checksum: e39d27027a6cc9cb039ad269a5db8e34 (MD5) TESE_Savio_Freire_VFinal.pdf: 51150033 bytes, checksum: 878b3d85a90ecfb425cb7d8c2ff342c5 (MD5)Approved for entry into archive by Solange Rocha (soluny@gmail.com) on 2023-05-22T14:34:37Z (GMT) No. of bitstreams: 2 license_rdf: 811 bytes, checksum: e39d27027a6cc9cb039ad269a5db8e34 (MD5) TESE_Savio_Freire_VFinal.pdf: 51150033 bytes, checksum: 878b3d85a90ecfb425cb7d8c2ff342c5 (MD5)Made available in DSpace on 2023-05-22T14:34:37Z (GMT). No. of bitstreams: 2 license_rdf: 811 bytes, checksum: e39d27027a6cc9cb039ad269a5db8e34 (MD5) TESE_Savio_Freire_VFinal.pdf: 51150033 bytes, checksum: 878b3d85a90ecfb425cb7d8c2ff342c5 (MD5) Previous issue date: 2023-01-30Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES)engUniversidade Federal da BahiaPrograma de Pós-Graduação em Ciência da Computação (PGCOMP) UFBABrasilInstituto de Computação - ICAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessTechnical debt (Computing)Technical debt managementTechnical debt preventionTechnical debt monitoringTechnical debt paymentFamily of surveysIDEA diagramsSoftware - DevelopmentCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWAREDívida técnica (Computação)Gerenciamento da dívida técnicaPrevenção da dívida técnicaMonitoramento da dívida técnicaPagamento da dívida técnicaFamília de surveysDiagramas IDEASoftware - DesenvolvimentoOrganizing the state of practice on technical debt prevention, monitoring, and payment in software projectsOrganizando o estado da prática sobre prevenção, monitoramento e pagamento da dívida técnica em projetos de softwareDoutoradoinfo:eu-repo/semantics/doctoralThesisinfo:eu-repo/semantics/publishedVersionMendonça Neto, Manoel Gomes de0000-0002-0874-7665http://lattes.cnpq.br/1608062196337851Spínola, Rodrigo Oliveira0000-0003-0272-9578http://lattes.cnpq.br/3699892841059441Mendonça Neto, Manoel Gomes de0000-0002-0874-7665http://lattes.cnpq.br/1608062196337851Cruzes, Daniela Soares0000-0002-2490-902Xhttp://lattes.cnpq.br/8004792005050914Kulesza, Uirá0000-0002-5467-6458http://lattes.cnpq.br/0189095897739979Mendes, Thiago Soutohttp://lattes.cnpq.br/0083867893889883Novais, Renato Lima0000-0001-7572-7392http://lattes.cnpq.br/50365443580135530000-0002-3989-9442http://lattes.cnpq.br/6459838697209307Freire, Emmanuel Sávio Silvareponame:Repositório Institucional da UFBAinstname:Universidade Federal da Bahia (UFBA)instacron:UFBAORIGINALTESE_Savio_Freire_VFinal.pdfTESE_Savio_Freire_VFinal.pdfTese de Doutorado de Emmanuel Sávio Silva Freireapplication/pdf51150033https://repositorio.ufba.br/bitstream/ri/37027/1/TESE_Savio_Freire_VFinal.pdf878b3d85a90ecfb425cb7d8c2ff342c5MD51CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811https://repositorio.ufba.br/bitstream/ri/37027/2/license_rdfe39d27027a6cc9cb039ad269a5db8e34MD52LICENSElicense.txtlicense.txttext/plain1715https://repositorio.ufba.br/bitstream/ri/37027/3/license.txt67bf4f75790b0d8d38d8f112a48ad90bMD53TEXTTESE_Savio_Freire_VFinal.pdf.txtTESE_Savio_Freire_VFinal.pdf.txtExtracted texttext/plain522825https://repositorio.ufba.br/bitstream/ri/37027/4/TESE_Savio_Freire_VFinal.pdf.txt9b3133b123940a8001d9bb41700532deMD54ri/370272023-05-30 13:22:41.317oai:repositorio.ufba.br:ri/37027TElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEKCkNvbSBhIGFwcmVzZW50YcOnw6NvIGRlc3RhIGxpY2Vuw6dhLCBvIGF1dG9yIG91IHRpdHVsYXIgZG9zIGRpcmVpdG9zIGRlIGF1dG9yIGNvbmNlZGUgYW8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgbyBkaXJlaXRvIG7Do28tZXhjbHVzaXZvIGRlIHJlcHJvZHV6aXIsICB0cmFkdXppciAoY29uZm9ybWUgZGVmaW5pZG8gYWJhaXhvKSBlL291IGRpc3RyaWJ1aXIgYSBzdWEgcHVibGljYcOnw6NvIChpbmNsdWluZG8gbyByZXN1bW8pIG5vIGZvcm1hdG8gaW1wcmVzc28gZS9vdSBlbGV0csO0bmljbyBlIGVtIHF1YWxxdWVyIG1laW8sIGluY2x1aW5kbyBvcyAKZm9ybWF0b3Mgw6F1ZGlvIGUvb3UgdsOtZGVvLgoKTyBhdXRvciBvdSB0aXR1bGFyIGRvcyBkaXJlaXRvcyBkZSBhdXRvciBjb25jb3JkYSBxdWUgbyBSZXBvc2l0w7NyaW8gcG9kZSwgc2VtIGFsdGVyYXIgbyBjb250ZcO6ZG8sIHRyYW5zcG9yIGEgc3VhIHB1YmxpY2HDp8OjbyBwYXJhIHF1YWxxdWVyIG1laW8gZS9vdSBmb3JtYXRvIHBhcmEgZmlucyBkZSBwcmVzZXJ2YcOnw6NvLCBwb2RlbmRvIG1hbnRlciBtYWlzIGRlIHVtYSBjw7NwaWEgIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrdXAgZSBwcmVzZXJ2YcOnw6NvLgoKTyBhdXRvciBvdSB0aXR1bGFyIGRvcyBkaXJlaXRvcyBkZSBhdXRvciBkZWNsYXJhIHF1ZSBhIHN1YSBwdWJsaWNhw6fDo28gw6kgb3JpZ2luYWwgZSBxdWUgbsOjbywgcXVlIHNlamEgZGUgc2V1IGNvbmhlY2ltZW50bywgaW5mcmluZ2UgZGlyZWl0b3MgYXV0b3JhaXMgZGUgbmluZ3XDqW0uCgpDYXNvIGEgc3VhIHB1YmxpY2HDp8OjbyBjb250ZW5oYSBtYXRlcmlhbCBxdWUgbsOjbyBwb3NzdWkgYSB0aXR1bGFyaWRhZGUgZG9zIGRpcmVpdG9zIGF1dG9yYWlzLCB2b2PDqiBkZWNsYXJhIHF1ZSBvYnRldmUgYSBwZXJtaXNzw6NvIGlycmVzdHJpdGEgZG8gZGV0ZW50b3IgZG9zIGRpcmVpdG9zIGF1dG9yYWlzIHBhcmEgY29uY2VkZXIgYW8gUmVwb3NpdMOzcmlvIG9zIGRpcmVpdG9zIGFwcmVzZW50YWRvcyBuZXN0YSBsaWNlbsOnYSBlIHF1ZSBlc3NlIG1hdGVyaWFsIGRlIHByb3ByaWVkYWRlIGRlIHRlcmNlaXJvcyBlc3TDoSBjbGFyYW1lbnRlIGlkZW50aWZpY2FkbyBlIHJlY29uaGVjaWRvIG5vIHRleHRvIG91IG5vIGNvbnRlw7pkbyBkYSBwdWJsaWNhw6fDo28gb3JhIGRlcG9zaXRhZGEuCgpDQVNPIEEgUFVCTElDQcOHw4NPIE9SQSBERVBPU0lUQURBICBSRVNVTFRFIERFIFVNIFBBVFJPQ8ONTklPIE9VIEFQT0lPIERFIFVNQSAgQUfDik5DSUEgREUgRk9NRU5UTyBPVSBPVVRSTyAKT1JHQU5JU01PLCBWT0PDiiBERUNMQVJBIFFVRSBSRVNQRUlUT1UgVE9ET1MgRSBRVUFJU1FVRVIgRElSRUlUT1MgREUgUkVWSVPDg08sIENPTU8gVEFNQsOJTSBBUyBERU1BSVMgT0JSSUdBw4fDlUVTIApFWElHSURBUyBQT1IgQ09OVFJBVE8gT1UgQUNPUkRPLgoKTyBSZXBvc2l0w7NyaW8gc2UgY29tcHJvbWV0ZSBhIGlkZW50aWZpY2FyLCBjbGFyYW1lbnRlLCBvIHNldSBub21lIChzKSBvdSBvKHMpIG5vbWUocykgZG8ocykgZGV0ZW50b3IoZXMpIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBkYSBwdWJsaWNhw6fDo28gZSBuw6NvIGZhcsOhIHF1YWxxdWVyIGFsdGVyYcOnw6NvLCBhbMOpbSBkYXF1ZWxhcyBjb25jZWRpZGFzIHBvciBlc3RhIGxpY2Vuw6dhLgo=Repositório InstitucionalPUBhttp://192.188.11.11:8080/oai/requestopendoar:19322023-05-30T16:22:41Repositório Institucional da UFBA - Universidade Federal da Bahia (UFBA)false
dc.title.pt_BR.fl_str_mv Organizing the state of practice on technical debt prevention, monitoring, and payment in software projects
dc.title.alternative.pt_BR.fl_str_mv Organizando o estado da prática sobre prevenção, monitoramento e pagamento da dívida técnica em projetos de software
title Organizing the state of practice on technical debt prevention, monitoring, and payment in software projects
spellingShingle Organizing the state of practice on technical debt prevention, monitoring, and payment in software projects
Freire, Emmanuel Sávio Silva
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE
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
Technical debt (Computing)
Technical debt management
Technical debt prevention
Technical debt monitoring
Technical debt payment
Family of surveys
IDEA diagrams
Software - Development
title_short Organizing the state of practice on technical debt prevention, monitoring, and payment in software projects
title_full Organizing the state of practice on technical debt prevention, monitoring, and payment in software projects
title_fullStr Organizing the state of practice on technical debt prevention, monitoring, and payment in software projects
title_full_unstemmed Organizing the state of practice on technical debt prevention, monitoring, and payment in software projects
title_sort Organizing the state of practice on technical debt prevention, monitoring, and payment in software projects
author Freire, Emmanuel Sávio Silva
author_facet Freire, Emmanuel Sávio Silva
author_role author
dc.contributor.advisor1.fl_str_mv Mendonça Neto, Manoel Gomes de
dc.contributor.advisor1ID.fl_str_mv 0000-0002-0874-7665
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/1608062196337851
dc.contributor.advisor-co1.fl_str_mv Spínola, Rodrigo Oliveira
dc.contributor.advisor-co1ID.fl_str_mv 0000-0003-0272-9578
dc.contributor.advisor-co1Lattes.fl_str_mv http://lattes.cnpq.br/3699892841059441
dc.contributor.referee1.fl_str_mv Mendonça Neto, Manoel Gomes de
dc.contributor.referee1ID.fl_str_mv 0000-0002-0874-7665
dc.contributor.referee1Lattes.fl_str_mv http://lattes.cnpq.br/1608062196337851
dc.contributor.referee2.fl_str_mv Cruzes, Daniela Soares
dc.contributor.referee2ID.fl_str_mv 0000-0002-2490-902X
dc.contributor.referee2Lattes.fl_str_mv http://lattes.cnpq.br/8004792005050914
dc.contributor.referee3.fl_str_mv Kulesza, Uirá
dc.contributor.referee3ID.fl_str_mv 0000-0002-5467-6458
dc.contributor.referee3Lattes.fl_str_mv http://lattes.cnpq.br/0189095897739979
dc.contributor.referee4.fl_str_mv Mendes, Thiago Souto
dc.contributor.referee4Lattes.fl_str_mv http://lattes.cnpq.br/0083867893889883
dc.contributor.referee5.fl_str_mv Novais, Renato Lima
dc.contributor.referee5ID.fl_str_mv 0000-0001-7572-7392
dc.contributor.referee5Lattes.fl_str_mv http://lattes.cnpq.br/5036544358013553
dc.contributor.authorID.fl_str_mv 0000-0002-3989-9442
dc.contributor.authorLattes.fl_str_mv http://lattes.cnpq.br/6459838697209307
dc.contributor.author.fl_str_mv Freire, Emmanuel Sávio Silva
contributor_str_mv Mendonça Neto, Manoel Gomes de
Spínola, Rodrigo Oliveira
Mendonça Neto, Manoel Gomes de
Cruzes, Daniela Soares
Kulesza, Uirá
Mendes, Thiago Souto
Novais, Renato Lima
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE
topic CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE
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
Technical debt (Computing)
Technical debt management
Technical debt prevention
Technical debt monitoring
Technical debt payment
Family of surveys
IDEA diagrams
Software - Development
dc.subject.por.fl_str_mv 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
dc.subject.other.pt_BR.fl_str_mv Technical debt (Computing)
Technical debt management
Technical debt prevention
Technical debt monitoring
Technical debt payment
Family of surveys
IDEA diagrams
Software - Development
description 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.
publishDate 2023
dc.date.accessioned.fl_str_mv 2023-05-22T14:34:37Z
dc.date.available.fl_str_mv 2023-05-22T14:34:37Z
dc.date.issued.fl_str_mv 2023-01-30
dc.type.driver.fl_str_mv Doutorado
info:eu-repo/semantics/doctoralThesis
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
format doctoralThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv 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.
dc.identifier.uri.fl_str_mv https://repositorio.ufba.br/handle/ri/37027
identifier_str_mv 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.
url https://repositorio.ufba.br/handle/ri/37027
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal da Bahia
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Ciência da Computação (PGCOMP) 
dc.publisher.initials.fl_str_mv UFBA
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Instituto de Computação - IC
publisher.none.fl_str_mv Universidade Federal da Bahia
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFBA
instname:Universidade Federal da Bahia (UFBA)
instacron:UFBA
instname_str Universidade Federal da Bahia (UFBA)
instacron_str UFBA
institution UFBA
reponame_str Repositório Institucional da UFBA
collection Repositório Institucional da UFBA
bitstream.url.fl_str_mv https://repositorio.ufba.br/bitstream/ri/37027/1/TESE_Savio_Freire_VFinal.pdf
https://repositorio.ufba.br/bitstream/ri/37027/2/license_rdf
https://repositorio.ufba.br/bitstream/ri/37027/3/license.txt
https://repositorio.ufba.br/bitstream/ri/37027/4/TESE_Savio_Freire_VFinal.pdf.txt
bitstream.checksum.fl_str_mv 878b3d85a90ecfb425cb7d8c2ff342c5
e39d27027a6cc9cb039ad269a5db8e34
67bf4f75790b0d8d38d8f112a48ad90b
9b3133b123940a8001d9bb41700532de
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFBA - Universidade Federal da Bahia (UFBA)
repository.mail.fl_str_mv
_version_ 1808459664450387968