Social Links Search User Login Menu
Tools
Close
Close

Articoli Low-Code Italia

Usare strumenti low-code per elaborare prodotti più velocemente
La Redazione 279

Usare strumenti low-code per elaborare prodotti più velocemente

Pro e contro del low-code

Di Karl Hughes

Molti sviluppatori sono scettici sull'uso di strumenti low-code per costruire software. Comprare software invece di costruirlo ha dei vantaggi, specialmente quando il tuo obiettivo è maggiore velocità.

Nel 2015, ero a capo di un team di ingegneri in una startup che si occupava di tecnologia e didattica. Avevamo costruito una prima versione della nostra piattaforma di noleggio di libri di testo, ma l'adozione degli utenti era lenta e i cicli di vendita sono lunghi quando si vendono libri di testo universitari (gli studenti generalmente li comprano solo due volte all'anno).
Mentre discutevamo su come poter crescere più velocemente, uno dei fondatori dell'azienda ha deciso che voleva provare qualcosa di nuovo: avrebbe "costruito" una piattaforma di domande e risposte (come Stack Overflow) per i nostri utenti. Questo ci avrebbe permesso di offrire libri di testo universitari e contenuti e discussioni originali che i rivenditori tradizionali non avevano.

L'idea si è rivelata buona, e alla fine l'azienda ha abbandonato il noleggio di libri di testo per concentrarsi puramente sulle discussioni. Ma la lezione interessante per me come ingegnere del software è stata che la prima iterazione di questa piattaforma è stata costruita con quasi nessun codice personalizzato. Il nostro fondatore non tecnico è stato in grado di mettere insieme una piattaforma di domande e risposte utilizzabile con uno stile personalizzato, inviti via e-mail, un portale di pagamento e un reporting semi-automatico utilizzando una selezione di strumenti pre-costruiti e circa 200 righe di JavaScript.

missingIMG

Lo stack low-code della mia azienda EdTech.

Come molti sviluppatori, ero scettico sull'uso di software su cui avevamo poco controllo, ma dopo alcuni anni di esplorazione di questo problema, sono diventato molto più fiducioso sugli strumenti low-code. Comprare software invece di costruirlo ha dei vantaggi, specialmente quando il tuo obiettivo è la maggiore velocità.

In questo articolo, esplorerò alcune delle idee sbagliate sugli strumenti di sviluppo software low-code. Condividerò alcuni dei vantaggi che ho visto nell'usarli con i team di software e alcuni dei loro limiti. Infine, offrirò alcuni consigli per selezionare e valutare gli strumenti low-code. Lungo la strada, condividerò alcuni strumenti low-code che ho usato e le intuizioni di altri nel settore che hanno prestato i loro pensieri.

Il momento giusto per gli strumenti low-code

Dal 2015, i termini "no-code" e "low-code" sono diventati più comuni, ma io li vedo come parole d'ordine che indicano semplicemente livelli di astrazione di livello superiore per la costruzione di software.

Come sviluppatori, siamo abituati a lavorare su diversi livelli di astrazione. "I sistemi operativi sono astrazioni sopra i bit e i byte, i linguaggi di programmazione sono astrazioni sopra i sistemi operativi e le librerie sono livelli di astrazione sopra i linguaggi di programmazione", mi ha detto Nick Selman di Draftbit. Gli strumenti low-code sono essenzialmente un altro strato, quindi mentre potrebbero basarsi più pesantemente su WYSIWYG (What You See Is What You Get cioè “​quello che vedi è quello che è" o "ottieni quanto vedi") che sul codice, possono servire bene quando si sa come usarli.

Diamo un'occhiata ad alcuni casi d'uso per gli strumenti low-code e alcuni esempi di come diversi tipi di organizzazioni li stanno usando.

"Quando si sta portando un nuovo prodotto o concetto sul mercato, è importante rendersi conto che si stratificherà in un sacco di scommesse. Sfruttare le piattaforme no-code o low-code permette di mettere in piedi prodotti con più fedeltà di un prototipo cliccabile e una frazione del costo di costruzione di un'app, e permette di testare rapidamente caratteristiche, flussi e proposte di valore". - Reid Lappin, fondatore e CEO di Vokal.io

Ho lavorato in startup per quasi tutta la mia carriera, e la parte più impegnativa è costruire un prodotto che i clienti vogliono effettivamente pagare senza spendere tutti i soldi o stremare il tuo team di ingegneri. Come sviluppatore, è estremamente frustrante costruire un pezzo di software e poi sentirsi dire che deve essere demolito e ricostruito il mese successivo, ma questo è abbastanza comune nei primi giorni in una startup.

Richard Lo di Bordr ha aggirato questo problema costruendo la sua intera startup su strumenti low-code. Dopo aver identificato un bisogno (ottenere un codice fiscale per trasferirsi in Portogallo), ha costruito un frontend su NextJS alimentato da un database in Airtable e ha automatizzato il backend della sua attività con n8n. Questo ha permesso a Richard di creare un business redditizio in soli tre mesi senza assumere uno sviluppatore.

Le iterazioni più veloci non sono importanti solo per le startup. Victor Coisne e Daniel Phiri di Strapi mi hanno raccontato recentemente di un'agenzia che ha usato il loro CMS headless per costruire un prototipo del loro modello di dati durante una sola riunione. Hanno consegnato il prototipo al loro team di sviluppo per finire i modelli e distribuire un'API pronta per la produzione. Questo ha portato il loro tempo di rilascio da due settimane a due giorni o meno.

Infine, gli strumenti low-code aggiungono un valore unico negli ambienti aziendali. Nick Selman mi ha indicato alcuni casi in cui i gruppi di innovazione di grandi aziende hanno usato Draftbit per costruire prototipi interattivi di applicazioni mobili per aiutare a portare avanti grandi progetti. "Più un prototipo realizzabile può essere messo insieme - per mostrare ciò che hanno imparato e testato con gli utenti - più è probabile che si assicurino l'acquisto".

Avere "prototipi reali testabili" che i team di ingegneri possono usare come punto di partenza rende l'avvio di una nuova applicazione o la prova di nuove funzionalità molto più veloce.

 

Strumenti interni

Altri strumenti low-code sono particolarmente utili per dare al tuo team di business l'accesso ai tuoi dati interni o per fare modifiche di routine senza aiuto ingegneristico.

Nel 2017, ero in un'altra startup, e avevamo bisogno di dare ai nostri team di business l'accesso ad alcuni dei dati nel nostro database. Non avevamo il budget per costruire o mantenere dashboard interni e un data warehouse sarebbe stato eccessivo per la scala di dati che avevamo in quel momento.

Così, abbiamo impostato una replica di sola lettura del nostro database e l'abbiamo collegata a Metabase, uno strumento di business intelligence open-source e low-code che permette di scrivere query SQL e condividerle selettivamente con gli stakeholder interni.

Anche se Metabase non è un sostituto di un vero data warehouse, è servito come un'utile soluzione a breve termine. Ha dato al nostro team non tecnico un modo per vedere e interrogare le tabelle selezionate nel nostro database senza richiedere ai nostri ingegneri di scrivere e mantenere dashboard interni.

Allo stesso modo, strumenti come Courier danno al vostro team di marketing la possibilità di modificare la vostra messaggistica senza richiedere modifiche al codice. "Gli sviluppatori possono implementare gli eventi che innescano vari pezzi di comunicazione, e poi le persone non tecniche possono costruire i modelli da sole", mi ha detto Nick Gottlieb di Courier. Per le applicazioni SaaS che vogliono incorporare notifiche automatizzate su diversi canali, togliere questo peso dal team di sviluppo ha molto senso.

 

Imprese sociali

Certamente, le aziende con enormi budget e team di sviluppo esistenti valutano il rapporto tra rischio e guadagno delle soluzioni low-code in modo diverso. Se hai un sacco di tempo e denaro per costruire un pezzo di software altamente raffinato in-house, è più difficile giustificare il rischio di piattaforma che alcuni strumenti low-code introducono.

D'altra parte, gli strumenti low-code permettono alle organizzazioni del bene sociale di aumentare il loro impatto senza aumentare la loro linea di fondo. "Una volta, se si voleva costruire software, si era limitati al tipo di software che aveva un alto ROI (ritorno sull'investimento) o che gli sviluppatori di software si preoccupavano e costruivano per se stessi", mi ha detto Nick Selman. Usando strumenti a basso costo e no-code, le imprese di nicchia e le organizzazioni no profit possono ottenere un software personalizzato ad una frazione del costo.

Eric Goldman di Sync Inc mi ha parlato di una società di istruzione con cui lavora che gestisce l'intero processo di applicazione degli studenti in Airtable. Questo permette loro di "tenere traccia del processo di applicazione, prendere appunti ed eseguire calcoli", per qualificare i candidati senza costruire un'applicazione personalizzata. Questo significa che il loro team di sviluppo rimane snello in modo da poter mantenere i costi delle tasse scolastiche il più basso possibile.

 

Limitazioni

Questa è stata una visione molto rosea delle piattaforme low-code, quindi passiamo al lato oscuro. Come tutte le decisioni nell'ingegneria del software, usare uno strumento di sviluppo low-code comporta dei compromessi, quindi è importante pesare questi fattori nella vostra decisione.

Queste limitazioni variano molto a seconda degli strumenti che si utilizzano, ma in generale, gli strumenti low-code tendono a porsi come compromesso tra l'essere veloci ad iniziare e l'essere altamente personalizzabili. In altre parole, le piattaforme che vi danno un prodotto finito più velocemente sono di solito quelle che forniscono meno flessibilità, mentre quelle che richiedono un po' di tempo per iniziare possono finire per darvi più controllo nel lungo periodo.

 

Controllo dei dati

Con regolamenti come GDPR e CCPA sempre più diffusi, le aziende tecnologiche devono stare più attente ai fornitori che usano.

Una delle aziende di tecnologia didattica con cui ho lavorato si è imbattuta in questo problema quando abbiamo cercato di espanderci in Europa. Le scuole in Germania non permettono l'archiviazione dei dati degli studenti negli Stati Uniti a causa delle preoccupazioni sulla privacy, e alcuni degli strumenti low-code che abbiamo usato non offrivano opzioni di locazione dei dati internazionali. Limitazioni come queste possono avere un serio impatto sul tuo business, quindi non dovrebbero essere prese alla leggera.

Alcuni strumenti low-code ti permettono di auto-ospitare il loro software come un modo per aggirare questo problema. "Un sacco di volte, hai bisogno di verifiche davvero complesse per essere in grado di inviare i tuoi dati a una terza parte", Tanay Pant di n8n - che utilizza una licenza fair-code - mi ha detto. "Essere in grado di auto-ospitare è sicuramente un grande vantaggio per i nostri utenti".

 

Limiti delle caratteristiche

Un altro compromesso che dovrai affrontare quando valuti gli strumenti low-code è che ognuno ha una serie di caratteristiche limitate.

Per esempio, io gestisco un sito di conferenze chiamato CFP Land che usa Airtable per memorizzare i suoi dati. Mentre funziona bene la maggior parte del tempo, Airtable ha un limite di cinque richieste al secondo sulla sua API, quindi non può essere utilizzato per alimentare un'applicazione scalabile senza un livello di caching personalizzato o un altro strumento come Sync Inc che lo accompagna.

Per aggirare le limitazioni come questa, alcuni strumenti low-code offrono un accesso limitato ai loro interni in modo che gli sviluppatori possano costruire plugin sulla loro piattaforma, e altri hanno reso open-sourced il loro codice. Strapi fa entrambe le cose: "Si risparmia un sacco di tempo quando si usano i plugin", mi ha detto Victor Coisne. "Queste caratteristiche sarebbero un sacco di lavoro da costruire da zero".

 

Debito tecnico

Infine, il vostro prototipo low-code potrebbe trasformarsi nel più grande debito tecnico della vostra azienda se non state attenti.

Per esempio, WordPress è costantemente indicato come la piattaforma più temuta nello Stack Overflow Developer Survey. Mentre è open-source e ha un robusto ecosistema di plugin, è spesso usato in modo improprio, mal protetto, lento e difficile da testare. Può richiedere pochissimo lavoro di codifica per iniziare, ma la manutenzione e l'aggiornamento sono un prezzo da pagare per anni.

Gli strumenti low-code potrebbero anche costringervi a una riscrittura completa una volta che li avete superati. Ho fatto da consulente per una startup che ha usato Bubble.io per il suo MVP, ma si è subito resa conto che sarebbe stato molto costoso e lento per il loro caso d'uso. Se dovete ricostruire mentre la vostra azienda sta crescendo rapidamente, potreste trovarvi in una situazione molto difficile.

Il mio unico consiglio su questo argomento è di costruire interfacce che controlli per minimizzare il lock-in il più possibile. Questo può essere difficile quando il vostro strumento low-code è la spina dorsale della vostra intera applicazione, quindi è importante spendere tempo per valutare ogni opzione.

 

Trovare e valutare gli strumenti low-code

Mentre il branding è diverso, gli strumenti low-code sono in realtà in giro da molto tempo. Ricordo di aver imparato a costruire siti web senza codice su Dreamweaver e WordPress quasi due decenni fa. Il più grande cambiamento che ho visto negli ultimi anni è il numero e la gamma di strumenti low-code tra cui scegliere. Trovare lo strumento giusto per il lavoro è ora una sfida enorme per gli ingegneri che vogliono iniziare ad usarli.
Definisci i tuoi requisiti

Non puoi saltare la raccolta dei requisiti solo perché puoi cambiare le cose velocemente usando strumenti low-code. "Quando stai valutando questi strumenti, devi tornare ai fondamenti del prodotto", mi ha detto Nick Gottlieb di Courier, "Qual è il lavoro da fare?
Raccogliete le vostre opzioni

Una volta che i vostri requisiti sono definiti, chiedete ai vostri colleghi all'interno e all'esterno della vostra organizzazione il loro input. Eric Goldman di Sync Inc mi ha fatto notare che "Non è più solo costruire contro comprare. C'è un sacco di roba che è già stata comprata nella tua azienda, quindi vedi se puoi costruire prima su quella".

Se stai cercando di ottenere un nuovo strumento, comunità esterne come Makerpad e No Code List mantengono elenchi aggiornati di strumenti che gli sviluppatori possono utilizzare. Mentre non c'è nessun sostituto per usare gli strumenti da soli, queste liste possono darvi un punto di partenza.
Comunità e supporto

Con così tanti di questi strumenti che sono relativamente recenti sul mercato, è importante cercare la longevità. I forum di discussione e di supporto attivi sono di solito un buon indicatore di una base di utenti vivace, quindi controllate le piattaforme interne dell'azienda e le terze parti come Stack Overflow, Quora e Twitter.

 

Conclusione

Nel 2018, ho scritto che la maggior parte dell'ingegneria del software è solo idraulica, e penso che questo sia ancora più vero ora. Questo non significa che non abbiamo bisogno di pensare criticamente a ciò che stiamo costruendo, ma significa che il nostro lavoro di sviluppatori sta diventando sempre più sulla selezione degli strumenti giusti piuttosto che sulla costruzione degli strumenti giusti.

Le librerie e i framework sono stati i salvataggi di apertura: "15-20 anni fa, dovevi costruire la maggior parte del tuo stack, mentre ora puoi portare molto del codice boilerplate", mi ha detto Nick Gottlieb. "Poi, puoi consultare il tuo team di ingegneri sulla manciata di cose che faranno davvero la differenza per il tuo cliente".

Gli strumenti low e no-code sono solo il prossimo passo nella normalizzazione delle astrazioni di livello superiore. "Il tempo dirà come il no-code o il low-code interagiscono con il ruolo dello sviluppatore", ha detto Nick Selman, "Ma la previsione più comune è che il no-code permetterà agli sviluppatori di concentrarsi sull'implementazione strategica di più alto valore".

Proprio come JavaScript non ha rimosso la necessità di sviluppatori C++, il low-code non sostituirà gli sviluppatori JavaScript. Avremo sempre bisogno di persone che capiscano i livelli fondamentali al di sotto di quello in cui stiamo lavorando, ma se gli strumenti low-code ci permettono di iterare più velocemente e costruire un software migliore, sono entusiasta di vedere dove porteranno il nostro settore.

 

 

 

 

 

Rate article

Nessun voto
Vota questo articolo:
Nessun voto

Condividi

Stampa

Comment

Collapse Expand Comments (0)
You don't have permission to post comments.
Back To Top