Um mecanismo de otimização para alocação de times de software
Engenharia de software, otimização, programação linear, alocação de times.
A indústria de software tem sido um dos setores que mais cresce em todo o mundo nas últimas décadas, impulsionado pela crescente demanda por tecnologia e pela digitalização de diversos setores econômicos. Com o aumento da conectividade e o surgimento de novas tecnologias, como a inteligência artificial e a computação em nuvem, a indústria de software continua a crescer em tamanho e importância, desempenhando um papel cada vez mais crucial na economia global. Em outro contexto, pode-se destacar que a distribuição de serviços e de mão de obra qualificada são desafios comumente conhecido na produção de software. Ou seja, a alocação inadequada de times/recursos em projetos de engenharia de software pode resultar em problemas significativos, como atrasos na entrega, aumento de custos e baixa qualidade do produto final. É fundamental entender como a alocação de recursos pode ser feita de forma eficiente para maximizar o desempenho do projeto. Em consequência disso, a otimização e alocação de times são aspectos cruciais para o sucesso de projetos em diversas áreas, como tecnologia, engenharia e marketing. Dessa forma, a falta de planejamento adequado nessas áreas pode levar a atrasos, erros e custos adicionais, comprometendo a qualidade do trabalho e a satisfação do cliente. Portanto, é importante investir em processos eficientes de otimização e alocação de times para garantir que os projetos sejam entregues dentro do prazo, dentro do orçamento e com alta qualidade. A proposta deste trabalho é a concepção de um mecanismo para otimizar o processo de alocação de pessoas em projetos de software, se utilizando de programação linear inteira. O trabalho propõe um modelo matemático para alocação e uma ferramenta para alocação de pessoas em atividades de desenvolvimento de software. A proposta foi modelada matemáticamente e em conjunto, o algoritmo em CPLEX implementando o modelo de alocação. As organizações de software podem utilizar esse mecanismo, buscando otimizar a gestão e a redução de custos, Como melhoria de qualidade e eficiência do desenvolvimento de software.