Documenting and managing self-admitted technical debt using issues

Detalhes bibliográficos
Ano de defesa: 2022
Autor(a) principal: José Laerte Pires Xavier Júnior
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Universidade Federal de Minas Gerais
Brasil
ICX - DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO
Programa de Pós-Graduação em Ciência da Computação
UFMG
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: http://hdl.handle.net/1843/51321
https://orcid.org/0000-0001-7925-4115
Resumo: A metáfora da Dívida Técnica (TD, do inglês Technical Debt) refere-se aos custos inequívocos de manutenção e evolução gerados por decisões sub-ótimas comumente tomadas por desenvolvedores de software. Desde a sua concepção, o termo foi rapidamente adotado na indústria e tornou-se objeto de diversos estudos, investigando técnicas de identificação, gerenciamento e pagamento de TD. Nos últimos anos, vários estudos surgiram em torno do fato de que desenvolvedores documentam explicitamente suas dívidas, o que a literatura conhece como Dívida Técnica Auto-Admitida (SATD, do inglês Self-Admitted Technical Debt). Particularmente, a maioria dos estudos anteriores investigou essa prática analisando comentários de código fonte para identificar indícios de admissão de TD. Nesta tese, denotamos essa forma de SATD como SATD-C. No entanto, ainda não está claro como diferentes artefatos de software são utilizados para admitir TD. Especificamente, poucos estudos investigaram profundamente SATD em sistemas de rastreamento de issues, apesar da sua crescente adoção no desenvolvimento de software. Para contribuir na resolução desse problema, descreve-se nesta tese um estudo aprofundado sobre a adoção de issues para documentar e gerir a Dívida Técnica Auto-Admitida (denotado como SATD-I). Esta pesquisa está organizada em quatro unidades de trabalho. Inicialmente, são exploradas as características da adoção do SATD-I, em termos dos tipos de TD comumente documentados em issues, e as motivações para a criação e o pagamento delas. Em seguida, estende-se os resultados iniciais investigando a interação entre SATD-C e SATD-I em um dataset de larga escala. Com base nas evidências de que elas possuem naturezas distintas, avaliam-se as circunstâncias em que cada forma de SATD é mais adequada. Finalmente, reune-se o conhecimento produzido nos estudos empíricos anteriores para propor e avaliar um framework leve para apoiar o gerenciamento de TD através da criação de issues. Esse framework é denominado LTD: Less Technical Debt Framework. No geral, os resultados obtidos confirmam que os desenvolvedores também utilizam issues para admitir TD em seus projetos. Mostra-se também que issues são mais adequadas para documentar dívidas de alto nível e alta prioridade. Por fim, foram obtidos resultados promissores após a adoção do LTD em duas equipes de desenvolvimento em uma grande empresa pública. Por exemplo, as equipes conseguiram reduzir o TD e criar uma lista de issues para gerenciar o TD durante a execução dos sprints.