Detalhes bibliográficos
Ano de defesa: |
2023 |
Autor(a) principal: |
ANDRADE, Vinícius de Oliveira |
Orientador(a): |
BARROS, Flávia de Almeida |
Banca de defesa: |
Não Informado pela instituição |
Tipo de documento: |
Dissertação
|
Tipo de acesso: |
Acesso aberto |
Idioma: |
por |
Instituição de defesa: |
Universidade Federal de Pernambuco
|
Programa de Pós-Graduação: |
Programa de Pos Graduacao em Ciencia da Computacao
|
Departamento: |
Não Informado pela instituição
|
País: |
Brasil
|
Palavras-chave em Português: |
|
Link de acesso: |
https://repositorio.ufpe.br/handle/123456789/53849
|
Resumo: |
Em projetos de desenvolvimento de software, a alocação eficiente de desenvolvedores a tarefas específicas é de extrema importância, uma vez que essa distribuição pode impactar diretamente o tempo de desenvolvimento e a qualidade do produto final. Objetivando auxiliar os gestores, propomos aqui um processo de recomendação de desenvolvedores para projetos e tarefas com base no conhecimento acumulado por cada especialista (modelo orientado a tópico). Nossa proposta adota uma estratégia personalizada de recomendação. Aqui, o usuário do sistema é o gerente responsável pela alocação e os desenvolvedores são vistos como os “itens” que serão recomendados. Assim, o perfil (efêmero) do usuário será representado pela descrição da tarefa a ser realizada no momento, e os desenvolvedores (“itens”) são representados pela descrição dos trabalhos e atividades que cada um já realizou (dados históricos). Por fim, adotamos a técnica de recomendação baseada em filtragem de conteúdo, que analisa a similaridade entre tarefas a realizar (“perfil” do usuário) e os dados históricos dos desenvolvedores. Essa configuração de estratégia e técnica apresentou os melhores resultados nos testes exploratórios realizados com diferentes abordagens. Foi implementado um sistema protótipo para recomendação de especialistas no contexto de uma empresa de desenvolvimento de software. Esse sistema, implementado em Python, conta com três módulos: (1) Coleta de Informações, que recupera e pré-processa as informações necessárias disponíveis na ferramenta de gerenciamento de tarefas da empresa parceira; (2) Módulo de Recomendação, que analisa as informações coletadas e recomenda os desenvolvedores mais adequados para cada tarefa e projeto; e (3) Módulo de Gerenciamento de Alocação, responsável por gerenciar os cadastros do sistema, registrando e mantendo o controle das alocações de desenvolvedores a tarefas e projetos. As tecnologias utilizadas são: Django, Jira, NLTK, Pandas e Scikit-learn. A validação do protótipo foi realizada durante um período de dois meses de uso, considerando um total de 191 recomendações de atividades. Os resultados foram analisados observando-se quais desenvolvedores recomendados pelo sistema foram de fato alocados pelo gerente para as tarefas de entrada. O protótipo alcançou uma precisão de 65,13%, o que indica que os resultados não são aleatórios, e que o sistema tem potencial para melhorar o processo de alocação de desenvolvedores a tarefas, facilitando a busca pelo profissional mais adequado para cada atividade. |