Modernization software: come svecchiare i software legacy

Breaking news: potrebbe non servirti un nuovo applicativo, ma solo un processo di software modernization. La modernizzazione del software è una strategia e un investimento che vale la pena affrontare quando si è in possesso di un software legacy di vecchia data e lo si vuole aggiornare implementando tecnologie più recenti e innovative.

La modernizzazione può consistere in diverse strategie, più o meno complesse. Si può riscrivere l’applicativo, ricostruire la sua architettura oppure trasporlo allo scopo di utilizzarlo su un’altra piattaforma. Quali software necessitano di modernizzazione? Dipende dalle esigenze dell’impresa, dalle innovazioni tecnologiche in relazione al caso specifico e dalla performance/ risultati che si vogliono ottenere.

In generale, per le architetture monolitiche e per i software scritti in linguaggi di programmazione molto vecchi, come il Cobol ad esempio, sarebbe sicuramente interessante valutare almeno la fattibilità della modernizzazione.

Legacy software modernization: i vantaggi della modernizzazione

Gli approcci alla software modernization possono essere differenti, a seconda del grado di innovazione di partenza e di arrivo. Possiamo menzionare alcune strategie, partendo dalla più strutturale e incisiva:

  • Rimpiazzare il software, sostituendolo con un altro (tenendo presente il carico di lavoro che questo passaggio comporta);
  • Riscrivere o riprogettare il software, mantenendone alcune specifiche e la portata;
  • Riscrivere il codice per passarlo su una nuova architettura in grado di fornire migliori capacità;
  • Ricostruire e ottimizzare il codice esistente per rimuovere eventuali attributi disfunzionali;
  • Migrare l’applicativo su una nuova piattaforma di runtime, implementando minime modifiche al codice. Nessun intervento sulla struttura del codice, sulle feature e le funzioni;
  • Fare il deploy dell’applicativo su un’altra infrastruttura (ad esempio su cloud);
  • Sfruttare ed estendere le feature, incapsulandone i dati e le funzioni e rendendole disponibili as a service via Api.

Software modernizationGli obiettivi e i vantaggi derivanti dall’adozione di una strategia piuttosto che un’altra sono chiaramente molto diversi tra loro. Possiamo individuare però alcuni obiettivi comuni, soprattutto lato business: riduzione dei costi di manutenzione, riduzione del time-to-market e maggiore qualità a livello tecnologico (e quindi maggiore flessibilità, velocità e sicurezza dei sistemi). Implementare soluzione informatiche innovative è sicuramente una strategia vincente per l’azienda e un investimento ammortizzato nel tempo, grazie alla riduzione dei costi di manutenzione.

Cobol software modernization: cosa si può fare ai software scritti in Cobol

La software modernization di applicativi scritti in Cobol presenta diverse problematiche. Basti pensare che il Cobol è ancora ampiamente utilizzato in uno dei settori cardine delle economie occidentali, quello bancario. Il Cobol è particolarmente apprezzato perché è un linguaggio semplice, affidabile e in grado di affrontare l’elaborazione di una mole di dati significativa. Pensare di migrare interi applicativi scritti in Cobol richiede un investimento di tempo e denaro molto significativo ma, grazie alla sua versatilità, è possibile integrarlo con nuove tecnologie, risparmiando appunto sulla migrazione.

Come visto prima, modernizzazione del software non significa solo la reingegnerizzazione, ma prevede diversi gradi di intervento e l’integrazione è una di queste. L’investimento consigliato è quello di affidare la manutenzione dei propri applicativi scritti in cobol a un’azienda IT che si occupa anche di software modernization: in questo modo, l’azienda potrà guidarvi, passo dopo passo, nell’integrazione di questi applicativi con le tecnologie in grado di innovare i vostri sistemi nel loro complesso.

Software modernization strategy: perché modernizzare

La software modernization rappresenta un miglioramento dal punto di vista applicativo, ma non solo. Le motivazioni per modernizzare un software sono molteplici e variano in base alla tecnologia di partenza e ai bisogni della singola impresa. Perché bisognerebbe modernizzare i vecchi applicativi? Quanto è conveniente? Sono queste le domande che l’imprenditore spesso chiede al proprio team IT. I software più “anziani”, detti anche legacy, spesso funzionano molto bene e i dipendenti sono ampiamente formati per il loro utilizzo.

Allora, perché cambiare? Innanzitutto, per i costi che questi software comportano e dei quali spesso le aziende non si rendono conto. Il budget per manutenzione di questi applicativi spesso ricopre un’alta percentuale dell’intero ammontare dedicato all’IT, lasciando ben poche risorse all’introduzione di nuove tecnologie. Lo stesso vale per gli aspetti legati alla sicurezza: i software legacy necessitano di maggiore attenzione da questo punto di vista e la spesa a questo collegato è sempre molto alta.

Ci sono altre due voci di costo ancora meno tangibili ma che hanno un effetto importante sul fatturato: i costi legati all’inefficienza nella gestione dei cambiamenti di mercato e alla bassa agilità e il rischio di diventare meno competitivi con il passare degli anni.

Grazie alla software modernization è possibile ottenere vantaggi operativi e di processo. Ad esempio:

  • Mostrarsi più innovativi rispetto ai competitor;
  • Migliorare la user experience e alzare così il tasso di conversione;
  • Creare le condizioni per evolvere il proprio business, anche quando i trend cambiano repentinamente;
  • Sfruttare a pieno le opportunità date dai Big Data;
  • Ridurre i costi e disservizi.

Da dove iniziare? Innanzitutto, è fondamentale richiedere uno studio di fattibilità per capire come poter modernizzare i propri software, in quali tempi e con quali costi. Questo studio ti aiuterà a comprendere quale strategia è più conveniente e a trarre importanti considerazioni sui costi- benefici di un intervento di software modernization.

Cerchi maggiori informazioni?