Low Code e No code si sono diffusi negli ultimi anni per la loro semplicità di utilizzo, ma non è tutto oro ciò che luccica. Si tratta di soluzioni che sono utili in determinati contesti ma che non potranno mai soppiantare il lavoro di un programmatore che scrive codice.
Negli ultimi anni il “Low Code” e il “No Code” si sono ritagliati il loro spazio fino ad essere considerati da molti come nuova frontiera per lo sviluppo di soluzioni software.
Gartner, una multinazionale della consulenza facente parte dello S&P500, ha calcolato che ad oggi la richiesta di programmatori è 5 volte superiore all’offerta del mercato.
Questo significa che non c’è tempo (né risorse umane) per rispondere alle esigenze delle aziende in tempi stretti e questo è stato il contesto perfetto per la crescita d’interesse verso soluzioni No Code/Low Code.
Grazie a strumenti sempre più performanti ed intuitivi, il mondo della programmazione si è aperto ad una nuova era, arrivando alla portata di tanti che prima non avrebbero mai potuto operare perché privi delle skills proprie degli sviluppatori di software.
Ma è davvero tutto oro ciò che luccica? O si tratta di una moda temporanea?
Ovviamente Hermes ha uno sguardo attento su tutto ciò che rappresenta un’occasione di crescita o ottimizzazione dei processi.
Per questo motivo non abbiamo timore di adottare, se necessario, soluzioni Low-Code o No-Code, ma mantenendo sempre il nostro punto di vista critico sugli utilizzi e le reali potenzialità di questo “nuovo” approccio.
Partiamo dalla definizione generale: cosa si intende per Low Code/No Code?
Il Low Code ha un suo grado di complessità, perché necessita comunque della presenza di un team di professionisti tra sviluppatori, system integrator ed enterprise architects.
Il No Code è invece è un approccio ancora più semplificato, tale da permettere la creazione di applicazioni, siti web o automazioni senza il bisogno di scrivere nemmeno una singola riga di codice.
Entrambe le soluzioni permettono agli operatori di sviluppare soluzioni veloci a partire da semplici GUI (interfacce grafiche), che di fatto vanno a sostituire la programmazione informatica standard tipica del coding tradizionale.
L’impulso definitivo all’esplosione e l’adozione di questo nuovo approccio è stata poi l’integrazione di sistemi basati sull’AI, in grado di fornire un supporto decisivo ai progettisti che possono creare prodotti funzionanti anche senza avere vere competenze tecniche di programmazione.
Il deep learning tipico dell’AI è stato in grado di risolvere e semplificare molte attività che altrimenti sarebbero state complesse e proibitive, come l’analisi del codice, il debugging e l’ottimizzazione continua.
In definitiva le soluzioni Low-Code/No-Code permettono di sviluppare prodotti funzionanti (seppur inferiori come prestazioni) con una velocità infinitamente superiore rispetto al classico coding manuale, che resta un’attività prettamente legata alla bravura ed esperienza del programmatore.
Quali sono i principali vantaggi del no code/low code rispetto al coding “tradizionale”?
- Maggiore efficienza: per realizzare una piattaforma con codice sono necessari mesi/anni di lavorazione. Le soluzioni smart che sfruttano il no code a volte sono pronte nel giro di qualche giorno o al massimo un paio di settimane;
- Maggiore produttività: visti i tempi di lavorazione ridotti, a parità di tempo è possibile sviluppare più prodotti contemporaneamente;
- Iterazione rapida: il no code permette la raccolta feedback degli utenti e le modifiche successive in tempi rapidissimi;
- Maggiore stabilità dei prodotti: una piattaforma no code prevede l’utilizzo di strumenti già testati che hanno meno possibilità di dare errori e bug di sicurezza;
- Minor costo di sviluppo: una piattaforma no code ha costi di produzione nettamente inferiori a quelli di un prodotto nato dal coding tradizionale.
Alla luce di tutti questi vantaggi, ha senso concentrare tutta l’attenzione sulle soluzioni No Code/Low Code?
La risposta breve è no, perché per quanto ci siano vantaggi in termini di semplicità, la nascita di questo approccio è dovuta alla necessità di rispondere ad un’esigenza di mercato ben precisa e non può sostituire in toto l’attività di programmazione.
Teoria e pratica viaggiano a due velocità differenti.
Se da un lato infatti tutto sembra giocare a favore di questo nuovo approccio così semplice ed efficace, dall’altro la pratica quotidiana di chi si mangia “pane e codice” insegna che non si può in alcun modo prescindere dal coding tradizionale.
Il punto di vista di Hermes sulla questione
C’è una metafora di Giacomo Caturegli, co-fondatore di Hermes, che rende in maniera tremendamente efficace la sostanziale differenza tra queste due facce della stessa medaglia.
Il paragone che usa è quello tra il coding tradizionale visto come l’argilla, un materiale che può essere plasmato a piacimento dell’artista, mentre il No Code/Low Code è più simile a dei mattoncini Lego.
Con entrambi si può creare e dar sfogo alla fantasia, anzi i Lego sono da sempre una garanzia di solidità e semplicità di utilizzo, ma non si può negare che ci sia un certo grado di rigidità nelle opzioni di scelta.
L’artista (il programmatore) invece può lavorare il materiale grezzo (il codice) in completa libertà, plasmando ogni dettaglio a partire da zero.
La differenza principale tra i due approcci sta quindi in 2 aspetti principali: il maggior tempo di lavorazione dei materiali grezzi e la maggior competenza necessaria rispetto al Lego che può essere usato anche da un bambino.
Potrebbero sembrare due elementi che spingono ancora verso una scelta dettata dalla maggiore semplicità d’uso del No code, ma prima di scegliere da che parte stare ci sono ancora due domande da porsi:
1) quanto sarà differente l’outcome dei 2 progetti finiti?
2) quanto è importante per me avere un risultato immediato?
Queste due domande sono fondamentali, perché la risposta corretta è che si può scegliere uno o l’altro solo in base alle esigenze del momento.
È vero che l’artista impiega tempi più lunghi, ma il risultato finale è nettamente superiore in termini di precisione e personalizzazione del prodotto, mentre la versione “Lego”, per quanto funzionante, sarà sempre un’imitazione dell’originale nato dal genio dell’artista.
Riportiamo questa metafora su un esempio meno astratto, come lo sviluppo di un programma gestionale
Oggi sul mercato ci sono centinaia di prodotti per ogni esigenza, eppure continuano ad essere sviluppate soluzioni customizzate, con investimenti importanti di tempo e risorse, proprio perché le soluzioni standard funzionano, ma solo fino ad un certo punto.
Tutto dipende dagli obiettivi e dalle esigenze e per questo motivo la direzione che abbiamo deciso di prendere è quella di abbandonare gli integralismi, per diventare più pragmatici e flessibili.
La riflessione finale infatti è che non c’è soluzione giusta o sbagliata, ma solo quella giusta per il cliente in quel momento e se proprio vogliamo dirla tutta, la vera risposta è che il miglior approccio è quello ibrido, che abbina entrambi gli approcci per trarre il meglio di ognuno.
Probabilmente infatti l’approccio Ibrido è quello vincente, e quindi alla domanda su cosa sia meglio tra Low-Code/No-Code oppure coding tradizionale, rispondiamo che il “meglio” è un concetto liquido, che va adattato e personalizzato caso per caso.
I nostri Talent sono formati proprio per adattarsi in maniera quasi agnostica ad ogni situazione, valutando caso per caso con tutto il team le possibili opzioni, al fine di stabilire la timeline e la strategia più efficiente come risposta alla richiesta del cliente.