È possibile creare molte capacità tecnologiche utilizzando piattaforme low-code e no-code, tra cui applicazioni, database, flussi di lavoro, integrazioni, flussi di dati dell'Internet delle cose, visualizzazioni dei dati e altro ancora. Sono piattaforme versatili che aiutano a sostituire fogli di calcolo, ridurre il debito tecnico o sperimentare con l'apprendimento automatico.
Le piattaforme low-code promettono una maggiore produttività per gli sviluppatori, esperienze di qualità superiore e applicazioni più facili da mantenere, fornendo strati di astrazione rispetto alla codifica tradizionale. Ad esempio, invece di interfacce utente sviluppate in HTML, CSS o JavaScript, le piattaforme di sviluppo di app e mobile low-code forniscono ambienti di sviluppo visuale che mirano ad accelerare e semplificare lo sviluppo. Allo stesso modo, le piattaforme di flusso di lavoro e integrazione low-code forniscono strumenti che aiutano a visualizzare flussi, regole di business e eccezioni ed sono più facili da mantenere rispetto all'analisi di centinaia o migliaia di righe di codice.
La no-code solleva la promessa di consentire a coloro che non sono sviluppatori di costruire e supportare interamente o in parte un'applicazione senza la necessità di pratiche devops o della capacità di configurare l'infrastruttura cloud.
Queste astrazioni possono fornire significativi vantaggi. Ho implementato molte applicazioni low-code e no-code e ho visto altre aziende beneficiare del loro utilizzo. La codifica rimane ancora molto importante per molte applicazioni strategiche, ma le organizzazioni possono lanciare e supportare molte più funzionalità quando sono disponibili opzioni di sviluppo low-code e no-code.
Tuttavia, ci sono dei compromessi che potrebbero non essere evidenti fino a quando non si utilizzano queste piattaforme diverse volte. Anche la pandemia ha portato ad un boom nel settore del low-code e no-code, poiché molti dipartimenti IT hanno dovuto modernizzare rapidamente le applicazioni e costruire strumenti specifici per il lavoro. L'aumento della domanda ha portato una nuova ondata di strumenti low-code e no-code, aprendo la porta ad alcuni che hanno promesso più di quanto potessero effettivamente offrire in termini di funzionalità necessarie.
Quali sono i segnali di problemi? Ho chiesto a diversi esperti di fornire alcuni suggerimenti. Condividerò anche alcune delle mie esperienze.
1. I progetti di low-code non soddisfano le aspettative degli utenti
Quando i tuoi stakeholder si immaginano una casa con tre camere da letto e un garage, ma tutto ciò che riesci a realizzare con uno strumento di low-code è una baracca con un bagno, è probabile che le aspettative di tutti non vengano soddisfatte. Le piattaforme di low-code richiedono formazione per essere utilizzate in modo efficace e discussioni con gli stakeholder sui compromessi da fare per raggiungere un risultato aziendale. Quando gli sviluppatori non riescono a raggiungere l'obiettivo o la visione aziendale, potrebbe essere necessario ripensare la scelta della piattaforma e l'approccio tecnico.
Sono aperte le candidature per i migliori posti di lavoro nel settore IT del 2024 Tam Ayers, CTO di Digibee, afferma: "Un indicatore chiave è quando un'organizzazione inizia a modificare i requisiti o abbassa le aspettative sui risultati aziendali desiderati a causa delle limitazioni delle loro piattaforme di low-code. Qualsiasi piattaforma di low-code dovrebbe accelerare la consegna del valore all'azienda, non il contrario".
2. Il low-code non è adeguato alle esigenze aziendali
Molte piattaforme di low-code e no-code consentono agli sviluppatori di personalizzare l'implementazione con codice personalizzato. Ma se si aggiunge troppo codice professionale, essere limitati a una piattaforma di low-code potrebbe essere restrittivo. In alternativa, se gli stakeholder aziendali scrivono i requisiti e non sono aperti alle soluzioni accelerate attraverso le piattaforme di low-code, potrebbe essere meglio sviluppare una soluzione personalizzata.
David Brault, product marketing manager presso Mendix, concorda: "Una soluzione di low-code che richiede agli sviluppatori di uscire dalla piattaforma e tornare a ambienti di sviluppo full-code per apportare miglioramenti a un'applicazione è una soluzione che non riuscirà a soddisfare le aspettative in modo costante".
Guljeet Nagpaul, chief product officer presso ACCELQ, aggiunge: "Un segno che la tua piattaforma di low-code non sta funzionando riguarda le personalizzazioni. Se scopri che la tua piattaforma ha bisogno di personalizzazioni costanti, ciò suggerisce che il codice viene scritto senza la disciplina dell'architettura e del design solido. La manutenzione di queste personalizzazioni diventerà rapidamente insostenibile e alla fine ridurrà il ritorno sull'investimento".
3. Le piattaforme pubblicizzano "no code" ma richiedono comunque sviluppatori
Una piattaforma deve mantenere la sua categoria e la sua promessa. Le piattaforme "no code" dovrebbero essere esattamente ciò che dichiarano: piattaforme che i non tecnici possono utilizzare per sviluppare e supportare una capacità senza la necessità che l'IT sviluppi, testi e distribuisca. Le piattaforme "no code" sono strumenti per sviluppatori cittadini, persone del settore aziendale che hanno il tempo, l'interesse e una sufficiente competenza tecnica per creare capacità con strumenti semplificati.
Ma ciò non impedisce alle persone di affermare che una piattaforma o una capacità è "no code".
Dinesh Varadharajan, chief product officer presso Kissflow, afferma: "Se gli utenti aziendali faticano a creare processi o app semplici da soli e continuano a dipendere dall'IT, significa che la piattaforma "no code" non offre un approccio inclusivo come promesso".
4. Le piattaforme low-code sostengono di non aver bisogno di IT o sviluppatori
Il low-code è diverso dal no-code; l'aspettativa è che sia necessaria un po' di esperienza di codifica per sviluppare un'applicazione, un database o un'integrazione. Le piattaforme low-code mirano ad aiutare gli sviluppatori a creare soluzioni più velocemente, più facilmente e con meno supporto rispetto a una soluzione pro-code. Anche se spesso hanno capacità di sviluppo visuale, è spesso richiesta un'esperienza di codifica o conoscenza IT nel ciclo di vita dello sviluppo in un ambiente low-code.
È possibile sentire una piattaforma low-code affermare che non è necessario l'intervento dell'IT per supportare la piattaforma. Francis Carden, VP di automazione intelligente e robotica presso Pega, afferma che questa è una bandiera rossa.
"Quando una soluzione low-code promette che non è necessario l'intervento del dipartimento IT, c'è una discrepanza", afferma. "Sì, potresti essere in grado di sviluppare velocemente, ma cosa succede quando le cose vanno in produzione? Chi determina la fattibilità e il rischio in quel momento, e chi supporta ciò che hai costruito quando è necessario aggiornare, correggere o quando il rispetto della conformità impone cambiamenti critici?" Questa promessa eccessiva di poter lavorare senza l'IT comporterà complicazioni in seguito".
Da notare: alcune piattaforme supportano sia paradigmi no-code che low-code con un insieme di strumenti per sviluppatori cittadini e capacità low-code più avanzate per gli sviluppatori software. Ma anche quando si implementa una soluzione no-code per sviluppatori cittadini, affermare che non è necessario l'intervento dell'IT del tutto è una promessa eccessiva che può portare a debiti tecnici, problemi di sicurezza e altre complicazioni.
5. Il low-code porta a una varietà di integrazioni di sistema
Ho creato app e flussi di lavoro che collegano diverse piattaforme low-code in un'unica architettura complessiva di soluzione. Ma Kevin Marcus, CTO e co-fondatore di Versium, si chiede se l'acquisto, la configurazione e l'integrazione di più soluzioni SaaS e low-code superino i benefici.
"La rigidità dei sistemi low-code e no-code spinge spesso i team a richiedere ulteriori sistemi per gestire casi che esulano dalla capacità originale del sistema", afferma. "Purtroppo, ciò porta a una varietà di sistemi che devono essere collegati e integrati insieme, richiedendo spesso ancora più tempo e risorse per risolvere problemi di base che sarebbero stati più facili da risolvere direttamente attraverso l'IT o l'ingegneria utilizzando strumenti adeguati fin dall'inizio."
Questo illustra una delle ragioni per cui lo sviluppo low-code e no-code richiede il supporto dell'architettura IT. Forse viene raggiunto un prodotto minimamente funzionante integrando il low-code con un software come servizio. Ma, se diverse iterazioni successivamente la soluzione si sviluppa in molti strumenti integrati, l'IT potrebbe suggerire di rifattorizzare verso una soluzione più robusta.
6. Il low-code richiede l'accesso a molteplici integrazioni e comporta rischi per la sicurezza
Alon Jackson, CEO e cofondatore di Astrix Security, afferma che bisogna prestare attenzione quando una piattaforma richiede l'apertura di troppe porte e integrazioni a pieno accesso. È preoccupato per "le integrazioni che richiedono un alto livello di accesso a un ampio set di sistemi critici aziendali, compromettendo i processi tradizionali di revisione della sicurezza ed esponendo le aziende a possibili perdite di dati".
Queste importanti preoccupazioni si applicano a qualsiasi integrazione, che sia realizzata tramite SaaS, low-code o codice personalizzato. Jackson suggerisce che le implementazioni e le integrazioni sicure richiedono queste capacità chiave: visibilità, rilevamento delle minacce, mitigazioni contestuali, politiche di sicurezza e misure di controllo dell'applicazione delle normative di sicurezza.
7. "Una piattaforma per tutte le esigenze" può essere un ostacolo
Brault aggiunge una seconda preoccupazione riguardo alla capacità delle tecnologie low-code e no-code di supportare forniture flessibili e piattaforme di hosting cloud. "Segnali di una scarsa soluzione low-code includono la mancanza di supporto per lo sviluppo di app native per dispositivi mobili, oltre al supporto per le app web e le Progressive Web Apps, o la mancanza di natività cloud o il supporto multi-cloud."
Credo che la mancanza di supporto o un supporto insufficiente per lo sviluppo mobile sia una preoccupazione significativa quando si creano app su qualsiasi piattaforma. La domanda è se è possibile configurare facilmente esperienze web rispetto a esperienze mobile in base alle persone coinvolte e ai casi d'uso previsti.
8. Lo sviluppo con low-code è difficile da testare
Quindi, le piattaforme low-code e no-code semplificano la creazione e il deployment di applicazioni, database e integrazioni, ma quanto è facile testarle? Questa è una preoccupazione sollevata da Cyril Otalora, direttore dell'ingegneria delle soluzioni presso Provar.
"Spesso la strategia di testing viene considerata solo in un secondo momento con le piattaforme low-code", afferma. Egli mette in evidenza il rischio: "La promessa di un rapido deployment, costi inferiori e una maggiore sicurezza viene meno se le aziende non riescono a far fronte al rischio di regressione e si affidano a costosi e tediosi test manuali".
La mia esperienza con low code e no code
In precedenza ho condiviso sette elementi chiave per la selezione delle piattaforme low-code. Personalmente utilizzo molte diverse soluzioni low-code e no-code. Ecco le cose che mi infastidiscono maggiormente riguardo alle piattaforme che promettono troppo:
Piattaforme low-code che rilasciano nuove versioni che richiedono di riscrivere o rielaborare significativamente le tue applicazioni Piattaforme che non comunicano interruzioni di servizio, difetti o altri problemi che influiscono sulle prestazioni delle applicazioni Piattaforme avanzate con un supporto tecnico scadente (non dovrebbe essere io a sapere di più sulla piattaforma rispetto agli operatori di supporto) Il messaggio chiave è che i responsabili IT devono fare i compiti. Le piattaforme low-code e no-code offrono significativi vantaggi, ma richiedono ricerca e prove di concetto per convalidarne le capacità.
Articolo scritto da: Isaac Sacolick