Gerenciamento de Dívida Técnica Utilizando Técnicas de Machine Learning

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

Ana Carolina Candido de Melo
Roberta Andrade de A. Fagundes
Wylliams Barbosa Santos

Resumo

Contexto: 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. Com isso, as tarefas que foram comprometidas precisam ser concluídas em algum momento ao longo do projeto, caso contrário, podem gerar DT. Neste sentido, DT é considerada um problema crítico nas empresas de desenvolvimento de software, especificamente nas micro e pequenas empresas, as quais de acordo com KLOTINS et al. (2018), possuem recursos limitados, portanto, a existência de DT em seus projetos resulta em custos financeiros excedentes, esforços extras necessários, problemas de qualidade e menor produtividade, ocasionando perdas econômicas significativas. Dessa forma, é necessário manter a DT 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), a qual demonstrou avanços extraordinários nos últimos anos e, atualmente, é utilizada para solucionar inúmeros problemas tecnológicos e econômicos. 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 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, especificamente às micro e pequenas empresas, esse projeto de doutorado possui como objetivo geral, construir um framework baseado em técnicas de ML, o qual possa facilitar e automatizar o processo de gerenciamento de DT. Método: Para isso, baseando-se na metodologia CRISP-DM (Cross Industry Standard Process for Data Mining), o trabalho está sendo desenvolvido por meio da condução de cinco etapas, 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 e, ao final, espera-se responder a questão de pesquisa principal “Como auxiliar no gerenciamento de DT através da aplicação de técnicas de Machine Learning?”; (ii) Entendimento dos Dados da Indústria de Software: a segunda etapa refere-se a coleta de dados inicial. Para esse projeto, os dados serão coletados a partir das informações disponíveis em repositórios de software, bem como, coletá-las diretamente nas empresas do interior do Estado de Pernambuco; (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 framework na etapa seguinte; (iv) Modelagem do Framework: para esse projeto, espera-se que as evidências obtidas através da RSL apresentem relações entre técnicas de ML e variáveis associadas ao gerenciamento de DT. Através dessas técnicas e modelos mapeados (a exemplo, classificação e regressão), será iniciada a modelagem do framework; e por fim (v) Avaliação e Implantação do Framework: nessa etapa, todo o conhecimento adquirido e o framework desenvolvido serão apresentados de forma que as empresas possam usá-lo efetivamente dentro dos processos de tomada de decisão sobre o gerenciamento de DT existentes em seus projetos. Além disso, em virtude do crescente escopo do parque tecnológico do arranjo produtivo local da cidade de Caruaru e região, iniciativas de pesquisa se fazem necessárias para auxiliar nas necessidades na gestão de qualidade e de DT que as empresas enfrentam, especialmente as micro e pequenas empresas, contribuindo para o seu crescimento, geração de empregos e redução de custos financeiros provenientes do gerenciamento inadequado de DT em seus projetos. Os procedimentos metodológicos deste trabalho apresentam uma estreita relação com a COMEIA, empresa de soluções tecnológicas e que possui acordo de cooperação técnico-científica com a Universidade de Pernambuco. Essa abertura possibilita a validação e implementação da solução proposta em um cenário real. Resultados Esperados e Conclusão: Como resultados esperados, pretende-se disponibilizar um framework que auxilia no gerenciamento de DT em micro e pequenas empresas do 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 dos profissionais da indústria 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 interior do estado.

Downloads

Não há dados estatísticos.

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

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