Nel corso del tempo sono stati utilizzati migliaia di linguaggi di codifica per creare le applicazioni che gestiscono le nostre aziende, il nostro governo, la nostra economia e la vita su Internet. Sebbene la maggior parte di essi non sia più utilizzata per creare applicazioni, le aziende continuano a fare affidamento su applicazioni vecchie di decenni che vengono eseguite su di essi, creando un problema irrisolvibile e frammentato per i responsabili IT. I sistemi legacy ci costano quasi metà del nostro tempo ogni settimana (o più) e miliardi di dollari. Tuttavia, nella fretta di revisionare i sistemi legacy, ci rivolgiamo a soluzioni rapide illusorie e costose, invece di cambiare il modo in cui costruiamo il software.
I leader aziendali e IT guardano ai generatori di codice low-code/no-code e AI come soluzione rapida per la revisione dei sistemi legacy o lo sviluppo di nuove applicazioni. Questi strumenti promettono risultati più economici e veloci, invogliando i leader aziendali a credere di poter ridurre la loro dipendenza dagli sviluppatori professionisti. Attenzione: queste soluzioni rapide possono portare a una lenta spirale di morte per le risorse IT, con la creazione di un numero ancora maggiore di applicazioni legacy codificate in modo univoco che l'organizzazione dovrà mantenere manualmente per il prossimo futuro.
Abbiamo bisogno di un modo completamente nuovo di costruire il software. Si tratta di un cambio di paradigma difficile da realizzare, perché il codice è stato il fondamento del nostro mondo informatico. Le organizzazioni che rifiutano gli approcci a buon mercato e si orientano verso architetture software a prova di futuro, prive di codice legacy e di runtime del passato, saranno i veri vincitori.
Considerate attentamente le vostre opzioni per evitare il prossimo campo minato del codice legacy. Le soluzioni low-code/no-code e di AI generativa creeranno un panorama frammentato perché non tengono conto dell'intero ciclo di vita dell'applicazione. È una scelta facile quella di concentrarsi sulla creazione di un'applicazione piuttosto che sulla sua futura manutenibilità, ma è una decisione che imporrà alla vostra organizzazione costi e complessità futuri significativi e potenzialmente costringerà il personale IT a usare un'altra lingua.
È essenziale porre fine alla nostra dipendenza dal codice a favore di applicazioni manutenibili, in cui la fase di creazione sia collaborativa tra il personale aziendale e quello tecnico, anche se questa non è la soluzione promossa dalle aziende low-code/no-code. Finché questo non avverrà, i leader aziendali e IT continueranno a concentrarsi sulla proverbiale punta dell'iceberg, perdendo i pericoli molto più grandi che si nascondono sotto la superficie: applicazioni costose e quasi impossibili da mantenere.
Il fascino della rapidità e dell'economicità è reale
I budget sono sempre più ridotti e l'inflazione fa salire i prezzi. Modernizzare un sistema IT aziendale legacy è innegabilmente costoso. L'analisi del Government Accountability Office degli Stati Uniti sui sistemi IT di varie agenzie mostra che questi hanno un'età compresa tra gli 8 e i 51 anni e comportano costi di gestione e manutenzione pari a circa 337 milioni di dollari all'anno.
Sia nel settore pubblico che in quello privato, i mainframe, i data center e le applicazioni legacy creano enormi quantità di debito tecnico, in particolare per le grandi aziende che esistono da decenni. Questi sistemi sono difficili e costosi da mantenere, inducendo gli ingegneri a patchare applicazioni che, a volte, sono più vecchie di loro. Cercare soluzioni rapide come il low-code/no-code può sembrare una mossa intelligente al momento, se si rinuncia alle implicazioni a lungo termine. E la maggior parte dei responsabili IT sta facendo proprio questo. Rispetto al 2022, Gartner prevede che le tecnologie low-code cresceranno del 20% quest'anno.
Applicazioni insostenibili e debito tecnico
Le tecnologie low-code/no-code e l'IA generativa non sono in grado di soddisfare le complesse esigenze delle applicazioni aziendali in modo sostenibile. L'intelligenza artificiale generativa, se indirizzata verso l'obiettivo giusto, può fare miracoli. Ma il debito tecnico e le soluzioni rapide alle applicazioni sono problemi che derivano dal codice. L'uso di questi strumenti per creare altro codice peggiora la situazione.
Il debito tecnico non si limita a consumare il budget, ma richiede tempo per far fronte all'invecchiamento di mainframe, data center e applicazioni legacy. Le stime relative al tempo impiegato per gestire questo debito indicano che gli sviluppatori dedicano circa il 42% della loro settimana a gestire il debito tecnico e il codice scadente. Anche se le spese variano, l'impatto stimato della gestione del debito tecnico sul PIL mondiale è di circa 3.000 miliardi di dollari.
L'adozione di soluzioni low-code/no-code e di IA generativa si aggiunge alla sfida di mantenere linguaggi estinti e stack tecnologici obsoleti. Il problema è duplice: l'IA generativa non è stata addestrata a sufficienza per generare "buon codice" e inoltre crea applicazioni non sostenibili, codificate in modo univoco, che possono essere considerate legacy fin dal primo giorno. Quando viene applicata in questa specifica circostanza, il risultato è un codice complesso che le persone non possono comprendere o utilizzare facilmente. Crea più problemi di quanti ne risolva.
Rompere gli schemi del modo in cui costruiamo il software
Questo è un punto di inflessione. La riflessione sul futuro del lavoro e degli stack tecnologici è molto importante. Questo può accadere solo se ci muoviamo verso lo sviluppo di software definito dai dati, come l'architettura senza codici. Con questo approccio, le applicazioni sono descritte in definizioni aperte, flessibili e basate sugli eventi - non in codice unico - che vengono poi interpretate da un motore di esecuzione ottimizzato. Affidandoci a componenti riutilizzabili, eliminiamo la necessità di introdurre nuove applicazioni codificate in modo univoco, che aumentano il nostro debito tecnico.
Questo cambiamento di paradigma consentirà agli sviluppatori, non diversamente dal passaggio al cloud, di concentrare maggiormente il loro tempo sull'innovazione piuttosto che sul mantenimento delle luci, il che a sua volta favorirà il time-to-market e la produttività, accelerando al contempo il backlog tecnologico e le capacità. Per i leader IT, lo sviluppo di applicazioni incentrate sui dati consentirà loro di ridurre il costo totale di proprietà (TOC), concentrandosi al contempo su agilità, efficienza e scalabilità, non su manutenzione, patch e sunset