Fix or Rewrite: Navigating the Decision-Making in a Real Software
Development Project
Corrigir ou reescrever; manutenção de código; tomada de decisão
Este estudo investiga a tomada de decisão na escolha entre corrigir ou reescrever um software problemático. Examinamos um caso real em que uma equipe de desenvolvimento foi encarregada de retomar um projeto que fracassou no passado, no qual bugs críticos impediram o software de entrar em produção, levando ao abandono do projeto. Com informações limitadas disponíveis, a equipe teve que decidir entre tentar corrigir o código existente ou começar do zero, reescrevendo-o. A pesquisa identificou fatores-chave que deveriam ter sido considerados. Com base na literatura e na análise do caso, o estudo tem como objetivo fornecer diretrizes para futuros tomadores de decisão que enfrentam esse desafio. Os resultados sugerem que, ao analisar aspectos importantes, como a gravidade dos bugs, a baixa manutenibilidade do código e a fraca aderência aos requisitos, a alta probabilidade de falha no software existente poderia ter sido identificada, potencialmente evitando que a equipe trabalhasse em um código inviável. Um grupo focal foi conduzido, gerando novas hipóteses. Mais pesquisas são necessárias para validar as conclusões em uma gama mais ampla de casos e para propor um framework de tomada de decisão para situações semelhantes.