La parola “manutenzione” è fuorviante in quanto
suggerisce un'analogia con l'hardware; ma il software non ha bisogno
di essere lubrificato, né vi sono parti in movimento che si usurano,
o vi sono crepe nelle quali l'acqua possa accumularsi, e fare
ruggine. Il software può essere copiato esattamente, ed inviato a
lunga distanza con un costo quasi nullo.
Le attività che sono note come manutenzione del
software sono in realtà
ri-progettazioni e re-implementazioni che avvengono durante il normale
ciclo di sviluppo. Quando la flessibilità, l'estensione e la
portabilità sono enfatizzate durante la progettazione, le sorgenti
tradizionali dei problemi di manutenzione sono coinvolti
direttamente.
Come i test, la
manutenzione non deve essere ritardata o separata dallo sviluppo
principale del sistema. In particola, è importante avere una certa
continuità nel gruppo di persone coinvolte nel progetto. Non è
facile trasferire la manutenzione ad un gruppo di persone nuove che
non hanno avuto collegamenti con i progettisti e gli sviluppatori
originali. Quando sono necessari cambiamenti di grandi dimensioni, ci
deve essere enfasi nel trasferire le conoscenze e la comprensione
della struttura del sistema attuale alle nuove persone coinvolte. Se
la “squadra manutenzione” si domanda quale sia l'architettura del
sistema e vien lasciata da sola a domandarsi come debbano essere
fatte le modifiche e la loro implementazione, la struttura si
deteriora rapidamente sotto il peso delle nuove patch
locali. La documentazione tipicamente deve includere i dettagli
necessari per aiutare le nuove persone a comprendere le idee ed i
principi chiave.
Nessun commento:
Posta un commento