Eu estava lendo, Facts and Fallacies of Software Engineering, que tem uma seção de manutenção. Desde que sou desenvolvedor de manutenção há anos, fui apresentado fatos muito interessantes. Aqui estão três.
- Fato 41: A manutenção normalmente consome de 40 a 80% (média, 60%) dos custos de software. Portanto, é provavelmente a fase mais importante do ciclo de vida do software.
- Fato 42: O aprimoramento é responsável por aproximadamente 60% dos custos de manutenção de software. A correção de erros é de aproximadamente 17%. Portanto, a manutenção do software é basicamente adicionar novos recursos ao software antigo, não corrigi-lo.
- Fato 45: Melhor desenvolvimento de engenharia de software leva a mais manutenção, não menos.
Este foi contra-intuitivo, verifica-se que um bom software tem mais manutenção, porque é fácil mudar. Portanto, ele permanece em uso por mais tempo, levando a, sim, mais alterações.
Qual paradigma (como funcional, orientado a objetos, processual) tem a melhor capacidade de manutenção e existe alguma pesquisa para respaldar isso?