Gerenciamento de Dívida Técnica Utilizando Técnicas da Inteligência Artificial

##plugins.themes.bootstrap3.article.main##

Ana Carolina Candido de Melo
Roberta Fagundes
Wylliams Santos

Resumo

Contexto: No desenvolvimento de software, ainda que os projetos sejam planejados previamente, existem desafios que podem influenciar negativamente sua entrega e qualidade final. Dívida Técnica (DT) é definida como práticas inadequadas presentes no desenvolvimento de software, provocando em maiores custos e baixa qualidade [SEAMAN E GUO, 2011]. Essas ações podem acelerar o desenvolvimento em curto prazo. Porém, em longo prazo, a má qualidade gera despesas, devido aos esforços utilizados para correções. Como consequência, DT é considerada um problema crítico nas empresas de desenvolvimento de software, sua existência resulta em custos excedentes, problemas de qualidade, ocasionando em perdas econômicas significativas [LENARDUZZI E DAVIDE, 2019]. O termo conhecido como dívida técnica foi introduzido por [CUNNINGHAM, 1992]. Inicialmente, possuía o foco nas atividades de codificação, mas com o avanço das investigações, o conceito foi ampliado nas demais fases do desenvolvimento de software. Mas independentemente de como ocorra a DT, é necessário mantê-la gerenciada para assegurar a evolução do software, evitando uma descoberta tardia de sua amplitude e consequentemente dispendiosa [ALVES et al. 2018]. Motivação: O processo de gerenciamento refere-se às atividades que são realizadas para garantir a correção eficiente da DT e, envolve as etapas de: identificação, mensuração, priorização, reembolso e monitoramento [LI et al. 2014]. No entanto, as pesquisas sobre DT, em sua maioria, são realizadas através de estudos empíricos qualitativos. Tais estudos estão sujeitos a viés, uma vez que, dependem fortemente do julgamento de especialistas. De forma a reduzir essa subjetividade, pesquisadores estão explorando grandes quantidades de dados disponíveis em repositórios de software [TSINTZIRA et al. 2020]. Esses dados permitem realizar estudos quantitativos em grande escala, adotando técnicas modernas, como aquelas pertencentes à Inteligência Artificial (IA). Grande parte do sucesso atual da IA deve-se às técnicas de Aprendizado de Máquina (do inglês, Machine Learning - ML), as quais possuem o objetivo de construir soluções que melhorem o seu desempenho por meio da análise de dados, bem como, construir modelos de regressão que podem prever o número de defeitos em sistemas de software [LUDEMIR et al. 2021]. Objetivo: Neste sentido, de modo a auxiliar as empresas de desenvolvimento de software, esse projeto de doutorado possui como um dos seus objetivos iniciais, construir um modelo de regressão baseado em técnicas de ML, o qual possa facilitar e automatizar o processo de gerenciamento de DT, em especial sobre a sua mensuração. Método: Para isso, a metodologia dessa pesquisa baseia-se no CRISP-DM (Cross Industry Standard Process for Data Mining), e o trabalho está sendo desenvolvido por meio da condução de cinco etapas (com destaque as etapas ii) e iii) atualmente), sendo elas: (i) Entendimento do Contexto da Pesquisa: nessa etapa deseja-se conduzir uma Revisão Sistemática da Literatura (RSL) para avaliar criticamente as propostas na literatura para a área específica da pesquisa. (ii) Entendimento dos Dados da Indústria de Software: a segunda etapa refere-se a coleta de dados inicial. Para esse projeto, os dados estão sendo coletados a partir das informações disponíveis em repositórios de software; (iii) Preparação dos Dados: esta etapa abrange todas as atividades necessárias para construir o conjunto de dados final, a partir dos dados brutos iniciais, os quais alimentarão a modelagem do modelo de regressão na etapa seguinte; (iv) Modelagem do Modelo de Regressão; (v) Construção e avaliação da proposta final da tese. Resultados Obtidos: Os modelos de regressão são um tipo de análise que usa modelos matemáticos para relacionar o comportamento de uma variável Y com o de outra X. Segundo o estudo de [MELO et al. 2022], existem métricas que auxiliam a mensurar uma DT, proporcionando estimativas mais precisas sobre o seu reembolso. Uma das métricas é a ““when decision”, a qual segue apresentada na sequência, e objetiva auxiliar a calcular o melhor momento para pagar a dívida técnica, se seria no atual momento que foi identificada, ou em um ponto específico no futuro. Além das métricas analisadas até o momento, bases que possuem dados referentes a presença de DT em projetos de software foram identificadas no GitHub, as quais estão sendo analisadas e servirão de base para a construção do modelo de regressão desse trabalho. Resultados Esperados e Conclusão: O modelo de regressão é uma das partes da proposta final dessa tese de doutorado. Como resultados esperados, ao final pretende-se disponibilizar um framework que auxilia no gerenciamento de DT no desenvolvimento de software, proporcionando um instrumento de auxílio aos profissionais da indústria O desenvolvimento do framework tem o objetivo de fornecer funcionalidades relevantes para suprir as dificuldades que os profissionais da indústria encontram para compreender e gerenciar DT nos projetos, como também, reduzir o tempo que dedicam a esse processo. Com isso, fortalecer a colaboração entre academia e indústria, como também, o desenvolvimento de soluções tecnológicas para o mercado, ocasionando na elevação das expectativas profissionais no estado.

Downloads

Não há dados estatísticos.

##plugins.themes.bootstrap3.article.details##

Seção
Engenharia da Computação e Sistemas