Stavo leggendo, Facts and Fallacies of Software Engineering, che ha una sezione di manutenzione. Da allora, sono uno sviluppatore della manutenzione da anni, sono stati presentati fatti molto interessanti. Eccone tre.
- Fatto 41: la manutenzione in genere consuma dal 40 all'80 percento (in media, il 60 percento) dei costi del software. Pertanto, è probabilmente la fase più importante del ciclo di vita del software.
- Fatto 42: il miglioramento è responsabile di circa il 60 percento dei costi di manutenzione del software. La correzione degli errori è all'incirca del 17 percento. Pertanto, la manutenzione del software consiste principalmente nell'aggiungere nuove funzionalità al vecchio software, non nel risolverlo.
- Fatto 45: un migliore sviluppo dell'ingegneria del software porta a più manutenzione, non a meno.
Questo era controintuitivo, risulta che un buon software ha più manutenzione, perché è facile da cambiare. Quindi, rimane in uso più a lungo, portando a, sì, ulteriori cambiamenti.
Quale paradigma (come funzionale, orientato agli oggetti, procedurale) ha la migliore manutenibilità e c'è qualche ricerca a sostegno di questo?