Investimenti IT 2021-2022: spazio alla software modernization

Secondo l’ultimo Forecast di Gartner, nel 2021 le aziende stanno investendo oltre 4,1 miliardi di dollari in Information Technology, l’8,4% in più rispetto all’anno precedente. Inoltre, nel 2022 è prevista un’ulteriore crescita degli investimenti in campo IT, con un ammontare intorno ai 4,3 miliardi. A differenza nel 2020, anno nel quale le imprese hanno concentrato i loro sforzi economici nell’acquisto e nell’implementazione di strumenti utili per consentire il lavoro da remoto, già da quest’anno vi è un ritorno all’implementazione di tecnologie innovative che garantiscono vantaggi a lungo termine. Nel 2022, la curva di crescita è prevista in particolare per gli investimenti in device (14%) e in software enterprise (10,4%).

I fondi europei per la digitalizzazione, tema centrale del Next Generation EU, aiuteranno senz’altro le aziende a investire in digital transformation e a dotarsi di sistemi informatici all’avanguardia e in grado di migliorare i propri processi di business. Le agevolazioni previste dal Recovery Fund sono un’occasione unica per le aziende italiane, purtroppo ancora molto indietro rispetto al tema della digitalizzazione, per investire in strumenti informatici che richiedono un determinato budget e che spesso si fatica a trovare.

Tra i progetti che richiedono una maggiore attenzione, ci sono sicuramente quelli legati alla software modernization. Sono molte le aziende italiane che utilizzano software legacy per i loro processi di core business: questi applicativi sono estremamente strategici per l’azienda, ma sono scritti in linguaggi di programmazione oramai superati.  La modernizzazione di questi applicativi richiede uno sforzo economico e di tempo piuttosto importante e per questo viene spesso rimandata. Inoltre, i software legacy non presentano disfunzionalità rilevanti, ma costi nascosti di cui le aziende non si rendono conto.

Quali sono questi costi?

  1. Innanzitutto, questi software hanno costante bisogno di patch per risolvere i problemi lato security. L’implementazione delle patch richiede tempo poiché richiede uno sviluppo specializzato. Questi software sono più vulnerabili per svariati motivi: gli hacker hanno avuto il tempo di esaminarne i punti deboli; i produttori non supportano più la tecnologia precedente, aumentandone l’esposizione agli attacchi; sono costruiti su una struttura più vecchia e instabile, che porta l’intero sistema a crollare più facilmente.
  2. Alti costi di manutenzione: il codice più vecchio tende ad essere più lungo e pesante e richiede una mole di ore di manutenzione più alta. Inoltre, le vecchie tecnologie sono spesso incompatibili con quelle più recenti, creando problemi di integrazione, sviluppo e manutenzione e possibili vulnerabilità.
  3. Mancanza di scalabilità: i software scritti in tecnologie poco innovative, non riescono ad accompagnare l’azienda nella sua crescita. In un mondo altamente competitivo invece, poter avvalersi di tecnologie scalabili è uno degli aspetti più importanti.
  4. Scarsa customer/ employee experience: gli applicativi scritti in linguaggi “arcaici” non permettono di poter offrire all’utente/dipendente tutta una serie di funzionalità accessibili da formati più recenti. Inoltre, mantenendo questa tipologia di software possono presentarsi serie problematiche rispetto alla formazione tecnica delle risorse umane più giovani o al reperimento di personale skillato su tecnologie così vecchie.
  5. Dati non accessibili da mobile: un software legacy, spesso, non è accessibile da nessun dispositivo diverso dai computer dell’ufficio. Ciò significa che i dipendenti devono necessariamente lavorare dall’ufficio e non possono consultare determinati dati in totale flessibilità e con device alternativi.

Bisogna considerare inoltre, i costi legati alla minor competitività sul mercato: queste tecnologie non sono in grado di fornire l’agilità sul mercato e un rapido time-to-market come gli applicativi sviluppati con gli ultimi framework e dall’architettura software più flessibile.

Cosa fare quindi per innovare i propri applicativi di vecchia data? Qual è la strategia di software modernization migliore?

Dipende dalla tecnologia in uso e dal livello di innovazione che si vuole raggiungere e dalle esigenze specifiche di processo. C’è bisogno di modernizzazione quando l’applicativo in uso non risponde più alle esigenze di agilità, flessibilità del business ma anche quando la manutenzione del software risulta troppo costosa e quando i rischi per la sicurezza sono elevati.

Modernizzazione vuol dire tante cose: sono diverse le opzioni di progetto che si possono implementare, con impatti, tempi e costi diversi a seconda del grado di modernizzazione.

È importante valutare, assieme a un partner IT esperto, quale strategia è più vantaggiosa e quali aspetti del software è necessario modernizzare, eventualmente sposando paradigmi cloud per sfruttare soluzioni e servizi di provider di mercato che consentono di risparmiare i costi di manutenzione di complesse architetture on premise.

Si può procedere con la completa riscrittura del software (rebuild), in modo da implementare tecnologie e modelli applicativi più recenti in grado di massimizzare i vantaggi del software. In alternativa è possibile intervenire in misura più contenuta esclusivamente sull’architettura software, passando ad esempio dal monolite ai microservizi (rearchitect). Nel caso sia più conveniente, si può procedere solo con un refactoring, ossia ristrutturare e ottimizzare porzioni di codice esistente, in modo da ottimizzarlo e rendere l’applicativo più snello, veloce e flessibile.

Altra strategia è la migrazione del software su una nuova piattaforma di runtime, ad es. in cloud in modo da sfruttare le potenzialità ed i servizi di tali soluzioni. Anche in questo caso possiamo incidere in modo più strutturale sul codice, riprogettandolo o sostituendo parti di applicazioni con moduli nativi della nuova piattaforma (replatform), oppure con interventi meno strutturali ma anche meno incisivi, come il rehost o l’incapsulamento dei dati, che tendono a minimizzare i cambiamenti.

Rivolgersi a un’azienda esperta di sviluppo e modernizzazione software è il primo passo da fare: potrete valutare il caso specifico e individuare gli aspetti critici che meritano un intervento. Per saperne di più, potete consultare questo articolo di Omnia Group, software house fiorentina con oltre 25 anni di esperienza e vari team skillati sulle tecnologie più innovative del mercato ICT.

Lascia un commento