Organizing the state of practice on technical debt prevention, monitoring, and payment in software projects
Autor(a) principal: | |
---|---|
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 |