Lean Forecasting In Software Projects
Pedro Manuel Costa Miranda · Open Repository of the University of Porto (University of Porto) · 2020
Quando se desenvolve um projeto de software, é reconhecível que estimativas precisas do esforço envolvido no desenvolvimento são uma parte importante na gestão bem-sucedida do projeto. Embora este processo seja tão importante, desenvolvedores e especialistas não conseguem normalmente estimar precisamente o esforço, tempo e custo que o projeto a ser desenvolvido terá. Isto é inerente à incerteza subjacente à sua atividade. Depois da primeira estimativa do esforço ser feita, o projeto pode, com alguma probabilidade, necessitar de se adaptar a circunstâncias em evolução, o que pode levar a mudanças nas características do projeto, e subsequentemente levar a que os gestores ponham mais pressão nos desenvolvedores para que sejam respeitados os prazos de entrega. No fim, o desenvolvimento do projeto irá, provavelmente, atrasar-se e estes atrasos não só afetam a equipa de desenvolvimento, mas também outras partes da empresa, como os departamentos responsaveis pelos funcionários e pelo marketing. Isto pode, em algumas situações, levar a que a empresa perca tempo e muitas vezes a confiança do cliente interessado no projeto. Mesmo que a estimativa seja precisa o suficiente para que as datas de entrega sejam respeitadas, métodos que dependem das estimativas de humanos consomem, normalmente, muito tempo, o que pode representar um problema quando equipas gastam tempo precioso a fazer estimativas. De maneira a mitigar estes problemas, iremos procurar identificar as motivações e forças em jogo no processo de fazer estimativas precisas e determinar que métodos de previsão alcançam os resultados mais precisos com alguma generalização, de modo a satisfazer a variedade de projetos de software existente. Vamos nos focar nos métodos de previsão devido à sua automaticidade, que irá ajudar a reduzir o tempo que as equipas gastam em estimações, mantendo a precisão dos resultados. Este método deve, também, ser fácil de perceber, implementar e usar, logo o número de dados que deve receber e a sua dificuldade de obter deve ser reduzida. As previsões do método devem conter um certo nível de ambiguidade, de modo a representar melhor o problema. Para a fase de validação do método, uma ferramenta baseada no método irá ser desenvolvida, testada em termos de eficácia e precisão contra outros métodos existentes, e irá ser integrada com ferramentas de gestão de desenvolvimento de software, de modo a validar a sua usabilidade em projetos reais durante a fase de desenvolvimento destes. Assim, o objetivo principal desta dissertação é o de ajudar a reduzir o tempo perdido em estimações, mantendo ou até melhorando a precisão das previsões feitas e mantendo a facilidade de percepção e de uso para os desenvolvedores e equipas que utilizem este método.