Je lisais, Facts and Fallacies of Software Engineering, qui a une section de maintenance. Depuis, je suis développeur de maintenance depuis des années maintenant, j'ai présenté des faits très intéressants. En voici trois.
- Fait 41: La maintenance consomme généralement 40 à 80% (en moyenne, 60%) des coûts des logiciels. Par conséquent, c'est probablement la phase de cycle de vie la plus importante du logiciel.
- Fait 42: L'amélioration est responsable d'environ 60% des coûts de maintenance des logiciels. La correction d'erreur est d'environ 17%. Par conséquent, la maintenance logicielle consiste principalement à ajouter de nouvelles fonctionnalités aux anciens logiciels, et non à les réparer.
- Fait 45: Un meilleur développement de l'ingénierie logicielle entraîne plus de maintenance, pas moins.
Celui-ci était contre-intuitif, il s'avère qu'un bon logiciel a plus de maintenance, car il est facile à changer. Par conséquent, il reste en service plus longtemps, ce qui entraîne, oui, plus de changements.
Quel paradigme (tel que fonctionnel, orienté objet, procédural) a la meilleure maintenabilité, et existe-t-il des recherches à l'appui?