Il software invecchia. Non per motivi dipendenti in vario modo da chi l’ha creato, ma semplicemente perchè si relaziona con un mondo in rapida evoluzione. Questo richiede un’attività continuativa di manutenzione, di evoluzione.
Sulla teoria, l’accordo è generale. Nella pratica, però, gestire la manutenzione in modo organico e continuativo non è poi un’abitudine così comune. Spesso non ci si accorge della necessità di far manutenzione fino a che non si registra un problema. Purtroppo, esattamente come per altri oggetti, un intervento d’emergenza risulta più dispendioso e complesso di un programma di manutenzione continuativo.
Tipi di manutenzione a confronto
Innanzitutto una piccola premessa: esistono diversi tipi di manutenzione.
La manutenzione può essere classificata secondo diversi criteri. Il primo è lo scopo. In questo senso, abbiamo:
- manutenzione correttiva, mirata all’eliminazione di errori e bug
- manutenzione adattativa, mirata ad adeguare il software a mutamenti delle condizioni esterne
- manutenzione perfettiva, mirata alla variazione delle funzionalità -aggiunta di nuove o eliminazione di quelle inutili.
Una seconda classificazione può basarsi sulla modalità di gestione
- manutenzione a guasto, prevede l’intervento in risposta ad un problema
- manutenzione preventiva, prevede l’effettuazione di interventi periodici per cercare di prevenire l’insorgenza di un problema. La frequenza è definita in funzione di aspetti statistici relativi all’usura del sistema
- manutenzione predittiva, prevede interventi mirati a prevenire il verificarsi di problemi e gestiti sulla base dell’analisi delle condizioni di funzionamento reali e sul monitoraggio di parametri trigger
Ti piace leggere?
A noi piace scrivere, dai un’occhiata alle nostre guide e approfondimenti
Library di Innovazione DigitaleCruft e debito tecnologico
Ogni software, anche quello meglio sviluppato, presenterà dei “cruft”, ovvero degli “elementi di disturbo”, piccole deviazioni dalla programmazione ideale che magari non influiscono minimamente sul funzionamento nell’immediato, ma che nel tempo sono destinati ad emergere a venire corretti per mantenere elevata la qualità del servizio digitale.
Per farlo in modo coerente ed organizzato, è utile definire un programma di correzione basato su priorità definite in funzione del costo di correzione e dell’impatto sulla funzionalità e sulla capacità di evolvere il software. Non a caso, questi elementi vengono definiti anche come “debito tecnologico”, qualcosa da compensare nel tempo.
Tutte queste considerazioni spiegano quanto sia importante valutare la gestione della manutenzione in modo continuativo e proattivo.
Perchè la manutenzione dovrebbe essere continuativa
Se la manutenzione viene gestita in modo organizzato ed in ottica continuativa si può prolungare la validità del software ai fini del business per molto tempo. Anche la stratificazione derivante dalle attività di evoluzione del software può venire compensata con un’attività di risoluzione dei fattori di complessità pre-esistenti, riducendo il rischio di usura. Ma se la manutenzione avviene in modo caotico, l’intera applicazione diventa nel tempo qualcosa di articolato e disordinato.
Per ogni prodotto software che realizza, Bottega52 garantisce un servizio di tenuta in funzione che si distingue per l’adozione di un’ottica di risk management. Questo comporta un totale cambio di modello di gestione delle operations, non più contingente ma basato sulla valutazione e gestione preventiva del rischio attraverso un processo continuativo di manutenzione. Di conseguenza, l’azienda può concentrarsi sul proprio business senza dover pensare alla gestione del servizio digitale.