Di Max Yarchevsky
All'inizio del 2021, Gartner ha previsto che il mercato mondiale delle tecnologie di sviluppo low-code aumenterà del 22,6% quest'anno. Naturalmente, i dati per dimostrare che hanno ragione o torto arriveranno in futuro, ma sembra che anche i non tecnici abbiano familiarità con il termine in questi giorni, dato che la trasformazione digitale (in gran parte accelerata da soluzioni no-code e low-code) si sta giocando davanti agli occhi del pubblico.
Che siate tutti a bordo del treno dell'hype del low code o che non siate convinti, dobbiamo riconoscere i benefici tangibili che queste soluzioni stanno già portando al mondo.
Supponiamo che tu sia un imprenditore che cerca di automatizzare i processi cartacei, gestire i contatti e le comunicazioni attraverso un CRM, o creare un sito web rapidamente e facilmente. In questo caso, il low-code è una strada eccellente da percorrere.
Il low-code può essere uno strumento utile per costruire un MVP e dare corpo a un concetto all'interno di un piccolo ambito con requisiti di prodotto precisi e piani limitati per scalare. Tuttavia, quando un progetto si sviluppa naturalmente, si avrà anche bisogno di aggiornare i processi. Con le soluzioni low-code, la scalabilità è dolorosa, costosa e limitata.
Dal punto di vista di uno sviluppatore professionista, andare sulla strada del low-code per completare progetti su piccola scala e prototipi o costruire soluzioni di base è veloce e per lo più indolore. Tuttavia, la maggior parte dei professionisti preferisce codificare da zero quando lavora su applicazioni complesse a causa della flessibilità. C'è sempre la possibilità che una piattaforma low-code non vi permetta di creare un prodotto che soddisfi requisiti nuovi o modificati.
Nel migliore dei casi, il low code è uno strumento praticabile, ma nel peggiore è un cattivo investimento a lungo termine. Perché?
La scalabilità è una questione chiave
L'opportunità e il costo della scalabilità orizzontale e verticale sono fattori vitali quando si sceglie un fornitore. Il numero di utenti attivi giornalieri, le funzioni disponibili, lo storage e la potenza di calcolo sono solo alcuni fattori da considerare.
Per esempio, se state cercando di costruire un negozio online, considerate se il fornitore con cui state scegliendo di farlo limita il vostro traffico o strozza l'accesso. Se il tuo sito sperimenta un afflusso di visitatori, limiteranno l'accesso e ti costringeranno ad aggiornare o a perdere affari. Quel che è peggio, questa decisione è presa dall'AI e non è negoziabile.
I grandi fornitori nella nicchia SaaS dei costruttori di siti web/store sono noti per chiudere gli account dei clienti e smettere di rispondere del tutto.
Oltre a questo, il pensiero a breve termine, i requisiti che cambiano continuamente sul lato del business, e la mancanza di una visione sistemica si tradurrà in un debito tecnico che limita silenziosamente la crescita del vostro business.
Scegliere la soluzione migliore per l'organizzazione nel suo complesso non è sempre la scelta più attraente per i manager che pensano nell'ambito del loro dipartimento, il che si traduce in sviluppatori che devono supportare codice obsoleto e sgangherato. È una famosa lamentela tra gli sviluppatori, e anche la seguente.
Necessità di formazione specifica
Saper usare il prodotto sarà il primo requisito per implementare una soluzione low-code. Questo può ritardare significativamente l'implementazione, fino al punto in cui l'approccio low-code non vince più sullo sviluppo agile nel time to market.
Dopo aver fatto shopping per una macchina, aver negoziato con un venditore, aver pagato e aver avuto le chiavi in mano, si può andare via come un cliente soddisfatto. Ma quando si acquista l'accesso a una soluzione low-code, è necessario andare di nuovo a scuola guida. Gli sviluppatori devono prima salire a bordo e imparare a lavorare all'interno di un nuovo sistema. Devono imparare efficacemente come usare un nuovo ambiente e annullare qualsiasi esperienza che portano sul tavolo.
I tempi varieranno da settimane a mesi e dipenderanno dalla qualità della documentazione e del supporto disponibili. Non c'è uno standard industriale, e ogni piattaforma avrà il suo sistema unico.
E l'implementazione è solo un pezzo del puzzle. Il vero problema inizierà quando si verificherà un problema e qualcuno dovrà risolverlo.
La risoluzione dei problemi è difficile
Nel migliore dei casi, avete definito il piano per il vostro progetto all'inizio, avete scelto una soluzione adatta, l'avete costruita e ora funziona bene per soddisfare le vostre esigenze.
Ma qualcosa inevitabilmente si romperà, come succede sempre. Di nuovo, a seconda della qualità della documentazione, della velocità di risposta e della competenza del supporto, il team di sviluppo potrebbe aver bisogno di molto tempo per studiare e risolvere il problema, perché le stesse scorciatoie che hanno reso facile lo sviluppo possono ostacolare la manutenzione.
Il debugging di un programma fatto con una soluzione low-code può essere difficile o addirittura impossibile poiché gli sviluppatori non hanno accesso all'infrastruttura che il codice usa per funzionare. Lo sviluppatore può non sapere se l'errore è dalla sua parte o da quella del fornitore. Rintracciare un problema può produrre un vicolo cieco quando non si possono fare domande direttamente al loro team di sviluppatori.
E se si scopre che si tratta di una vulnerabilità di sicurezza informatica, siete sfortunati.
Vendor lock-in
La vostra soluzione low-code non sarà compatibile con nessun altro concorrente o fornitore simile. Anche se potete esportare il codice sorgente, dipenderà necessariamente dalla piattaforma del fornitore per funzionare, e potrete utilizzarlo solo come backup.
A seconda della soluzione, le opzioni di integrazione, i webhook e le API saranno disponibili per incrementare lo stack e la vostra fattura SaaS mensile. E mentre i CEO del settore giustificano l'alto prezzo iniziale con la riduzione dei costi nel tempo, possono essere sfidati da una manutenzione problematica e dalla difficoltà di fare aggiornamenti.
Se siete troppo coinvolti e vi rendete conto che è il momento di migrare a un altro servizio, scoprirete che è impossibile. Il sistema proprietario che il vostro team ha imparato a usare e perfezionato per funzionare in un modo compatibile con i requisiti del business e dovrà essere abbandonato, e potreste dover ricominciare il processo da zero.
No code e low code sono qui per rimanere, ma la rivoluzione è forse un termine improprio. Queste soluzioni, per quanto potenti, sono solo un altro strumento nel kit di un professionista. Cioè, devono essere impiegati solo quando è necessario.
Il low-code è fatto con lo stampino, ma funziona, e questo è il punto. Naturalmente, nessuno si aspetta che questi strumenti non siano efficaci o utili, quindi se avete bisogno di una soluzione a breve termine, se state costruendo un MVP, o se avete bisogno di qualcosa di standard come un negozio online, seguite questa strada. Ma prima di impegnarvi, assicuratevi di avere una profonda comprensione della nicchia in cui state lavorando in modo da poter formulare chiaramente le richieste per il prodotto che state costruendo e testarle contro le capacità di un fornitore.
Le recensioni sono fondamentali, naturalmente, ma chiedete ai vostri sviluppatori di studiare la documentazione e dare la loro valutazione di ogni dato prodotto prima di firmare il contratto. La migliore scommessa sono i venditori con molti utenti che forniscono piattaforme per gli sviluppatori per comunicare e hanno una ricca libreria di materiali facilmente ricercabili.
Infine, fate attenzione alle red flag come ritardi, documentazione imprecisa e competenza discutibile del supporto durante lo sviluppo. Non è mai troppo tardi per staccare la spina se qualcosa non funziona.