Nel 2024, una percentuale significativa di organizzazioni continua a utilizzare sistemi legacy a supporto dei propri processi critici. Definire tale quota è molto complesso, a causa delle molteplici variabili in gioco; tuttavia, secondo una ricerca di un paio di anni fa, il 66% delle aziende continuerebbe a utilizzare queste tecnologie per alimentare il proprio core business, mentre oltre il 60% le impiegherebbe per supportare le applicazioni customer-facing.
Ci siamo occupati recentemente di modernizzazione applicativa, sostenendo come essa rappresenti un elemento chiave e imprescindibile della trasformazione digitale d’impresa. I sistemi legacy, per quanto gloriosi e ancora in linea con le capacità funzionali e le performance richieste, non riescono più a garantire la flessibilità, l’integrazione con tecnologie moderne e la scalabilità necessaria per affrontare le sfide del mercato odierno. Eppure, molte aziende non solo continuano a utilizzarli, ma li pongono al centro della loro mappa applicativa. Domandiamoci dunque i motivi e ipotizziamo quali potrebbero essere i primi passi verso l’evoluzione.
Potrebbe sembrare un’osservazione banale, ma la principale resistenza al cambiamento non deriva dai costi, dalla complessità evolutiva delle architetture software o dalla necessità di change management, bensì dalla scarsa consapevolezza della sua reale utilità. Le attuali applicazioni legacy sono il risultato di un’evoluzione graduale e di adattamenti continui nel corso degli anni per rispondere alle mutevoli esigenze aziendali sotto il profilo funzionale, di performance e compliance.
In queste condizioni, è difficile che l’azienda scelga volontariamente di aumentare il proprio livello di rischio, pur nella consapevolezza di dover abbracciare l’innovazione.
Com’è noto, questa apparente robustezza nasconde delle insidie non da poco. I progressivi aggiornamenti del software possono creare un sistema molto complesso e fragile, difficile da comprendere e da far evolvere nel tempo. Ed è praticamente impossibile che questi sistemi adottino i moderni paradigmi di sicurezza, che oggi la integrano direttamente nei processi di sviluppo e di gestione del software, mentre un tempo si trattava di un aspetto valutato a posteriori.
La modernizzazione applicativa, che può intraprendere diverse strade a seconda della maturità digitale del sistema di partenza e degli obiettivi che l’azienda si pone, è comunque un percorso complesso che richiede competenze in architetture cloud, containerizzazione, sicurezza avanzata e sviluppo agile, ambiti spesso non pienamente coperti dalle risorse interne.
Le aziende che hanno fatto affidamento per anni su team dedicati alla manutenzione dei sistemi legacy, possono trovarsi senza il know-how necessario per gestire la transizione verso tecnologie più moderne. La chiave, in questi casi, è la consulenza da parte di operatori specializzati, che però dovrebbero operatore in sinergia (e non in modo indipendente) con i team di sviluppo e/o sistemistici interni.
Molte aziende interpretano l’evoluzione del proprio software come un impegno finanziario importante e senza garanzie di ritorno. O meglio, senza tempi certi di ritorno. Se c’è l’opzione di implementare una soluzione temporanea, sia pur inefficiente, per mantenere i sistemi legacy operativi, il rischio che si opti per questa strada è fondato. Ovviamente, questa prospettiva ignora l’impatto negativo del software legacy sulla competitività, che deriva dall’assenza di innovazione. I competitor, invece, ne sono consapevoli e pronti ad approfittarne.
Qualsiasi trasformazione incontra una resistenza al cambiamento, che coinvolge non tanto il comparto IT, ma soprattutto gli utilizzatori finali, siano essi clienti, dipendenti, fornitori e partner. Paradossalmente, sebbene i dipendenti siano spesso i primi a lamentarsi delle applicazioni legacy soprattutto in ottica di user experience poco curata e intuitiva, sono anche i primi a resistere a un cambiamento radicale.
La modernizzazione, dal canto suo, non riguarda solo il miglioramento tecnologico, ma anche il ripensamento dell’esperienza utente, un elemento fondamentale per garantire che i nuovi sistemi rispondano alle esigenze di chi li utilizzerà. Nonostante ciò, va attuato un efficace piano di change management, che includa il supporto incondizionato della leadership aziendale, una comunicazione chiara dei benefici della trasformazione, attività di formazione mirata e il coinvolgimento diretto degli utenti. Ascoltare le loro opinioni durante il processo di transizione può contribuire a facilitare l’adozione delle nuove soluzioni.
Se sostituire i sistemi legacy sembra una mossa troppo radicale, si può procedere con la giusta gradualità cercando di perseguire due obiettivi: potenziare al massimo i sistemi legacy attuali supponendo di usarli ancora per qualche tempo, e parallelamente preparare il terreno per una trasformazione più profonda e impattante.
A tal fine, una delle prime strategie adottate dalle aziende è la riduzione dell’hardware necessario per supportare l’esecuzione delle applicazioni critiche. Gli occhi, in tal senso, sono ovviamente puntati sul cloud e sui suoi servizi infrastrutturali (IaaS), che di fatto possono concretizzare quel concetto di lift and shift che rappresenta il punto base della modernizzazione applicativa. Passare a un’infrastruttura virtualizzata, con la sicurezza e la resilienza garantite dai cloud provider, può costituire un vantaggio interessante in termini di solidità e scalabilità, ma anche per l’assenza di costi di manutenzione dell’infrastruttura fisica, che va dai server a tutta la struttura del data center.
Seconda possibilità, più complessa ma anche maggiormente in linea con il concetto di modernizzazione applicativa, è la migrazione di specifiche funzionalità dei sistemi legacy verso tecnologie, architetture e infrastrutture moderne (cloud). Non dimentichiamo, infatti, che molti sistemi mainframe integrano funzionalità che, nell’offerta moderna, sono solitamente gestite da applicativi diversi, come il governo dei processi industriali e la contabilità aziendale. Può accadere che l’azienda abbia investito nello sviluppo di funzionalità molto sofisticate solo in uno di questi ambiti, e decida quindi di mantenere in vita quella porzione di sistema, modernizzando l’altra o passando addirittura (per quest’ultima) a un prodotto moderno di mercato (un SaaS, per esempio nell’ambito del reporting).
In quest’ultimo caso, il sistema legacy continua a operare ma diventa un sistema isolato sul quale l’azienda costruisce delle integrazioni per esternalizzare funzionalità più o meno core. Questo riduce la dipendenza dalla tecnologia legacy e, soprattutto, avvia quel processo di modernizzazione graduale che crea una discontinuità gestibile e, poco per volta, aiuta la struttura a trasformare i propri processi, a renderli più fluidi e a supportarli con tecnologia allo stato dell’arte, magari basata su tecniche di intelligenza artificiale.