Social Links Search User Login Menu
Tools
Close
Close

Articoli Low-Code Italia

Cosa sono il No-Code e il Low-Code?
La Redazione 289

Cosa sono il No-Code e il Low-Code?

Low-Code e No-Code sembrano essere in auge in questo periodo. Tuttavia, cosa sono veramente? vi ruberanno il lavoro? E, cosa più importante, dovrebbero interessarvi?

Di  Thomas Hansen

Secondo Gartner il No-Code e il Low-Code realizzeranno il 50% di tutti i progetti software nell'anno 2021. Anche se questi numeri fossero esagerati, bisognerebbe vivere in un altro pianeta per non notare che stanno crescendo e anche molto rapidamente. Quindi, cosa sono esattamente? Ti ruberanno il lavoro? E perché dovrebbero interessarvi?

La differenza tra Low-Code e No-Code

Prima di tutto, c'è un'enorme differenza tra No-Code e Low-Code. Il No-Code si rivolge tipicamente ai "citizens", cioè alle persone che non sono in grado di creare sistemi software da sole a causa della mancanza di abilità nello sviluppo del software. No-Code è spesso chiamato "citizen development" - implicando che le persone senza conoscenza del linguaggio di programmazione e della teoria dello sviluppo del software possono creare sistemi software. Il No-Code è utile per semplici front-end rivolti al cliente, con qualche interazione con servizi predefiniti, e semplici strutture di database. Tuttavia, siamo molto lontani dall'essere in grado di fornire sistemi complessi usando il No-Code, e non sono sicuro che raggiungeremo mai questo punto. Inoltre, anche i No-Coders richiedono moduli e componenti di basso livello con cui interagire, qualcosa tipicamente realizzato lavorando insieme ad un "vero" sviluppatore di software, sfornando questi componenti in modo che il "citizens" possa orchestrare questi componenti insieme.

Low-Code d'altra parte si rivolge agli sviluppatori, e può essere visto come un'estensione degli strumenti che stiamo già usando, rendendoci più produttivi e aiutandoci a fornire una qualità superiore. Il Low-Code richiede tipicamente un po' di codifica dopo che il processo automatizzato ha fatto la sua parte, e quindi al di là di ciò che il "citizen developer" medio può usare. Per queste ragioni molti sviluppatori vi risponderanno: "Non credo nel No-Code. Certo il Low-Code potrebbe avere qualche valore, ma non il No-Code".

In questo senso, Low-Code è solo un miglioramento incrementale dei nostri attuali modelli di sviluppo, e si potrebbe sostenere che anche cose come NuGet e NPM sono i suoi antenati - semplicemente perché se avete mai usato un repository di pacchetti per gestire le librerie, probabilmente state già usando Low-Code da molto tempo. Low-Code implica solo il punto in cui gli strumenti sono così buoni che il computer genera automaticamente il nostro codice. Angular's ng generate e CLI ne sono un esempio.

In qualche modo Low-Code è per il vostro codice simile ai cosi detti Unit Tests, poiché automatizza una parte del vostro processo esistente, per assicurare una qualità più alta, iterazioni più veloci, e prodotti migliori per l'utente finale. Nello stesso modo in cui i test unitari hanno automatizzato il modo in cui testiamo il software, il Low-Code automatizza inevitabilmente il modo in cui creiamo (parti del) nostro codice.

Mentre il No-Code permette tipicamente ai non sviluppatori di usare una GUI per trascinare e rilasciare insieme funzionalità, componenti visuali e connessioni al database - il Low-Code d'altra parte è tipicamente l'uso di processi automatizzati per leggere i metadati, per esempio dal vostro database, per generare codice basato sui vostri componenti esistenti e/o sulla struttura dei dati. Quindi, anche se ovviamente correlati …

No-Code e Low-Code sono due cose completamente diverse

Dovresti avere paura?

Se sei uno sviluppatore oggi, potrebbe essere facile avere paura del No-Code e del Low-Code. Lasciami rispondere alle tue paure con una domanda; "Quanti tester QA ha licenziato il tuo datore di lavoro quando hai iniziato a creare Unit Tests?" La risposta a questa domanda è (probabilmente) zero. I Unit Tests sono incredibilmente importanti per una codebase seria, ma non sostituiscono un essere umano che fa il QA sul prodotto dopo che lo sviluppatore ha fatto il suo lavoro. Né Low-Code sostituirà lo sviluppatore di sistema, al contrario, Low-Code aumenta la sicurezza del vostro lavoro se applicato correttamente.

Low-Code vuol dire qualità del prodotto

Secondo Gartner il progetto software medio ha solo il 29% di possibilità di successo - Come nell'essere fatto nel budget, con le caratteristiche previste, entro il tempo previsto. Questo implica che il 71% di tutti i progetti software o falliscono completamente, e/o sono " a rischio". Questi numeri sono semplicemente folli. Immaginate se il 71% di tutte le auto che abbiamo prodotto esplodessero e prendessero fuoco appena giriamo la chiave di accensione?

Questo è lo stato attuale dello sviluppo del software. Automatizzando il più possibile il modo in cui creiamo il software, possiamo aumentare significativamente la percentuale di cui sopra. Lo Unit Testing è un concetto collaudato in tal senso, e il Low-Code viene con la stessa promessa - Semplicemente perché un componente Low-Code viene tipicamente riutilizzato in centinaia e migliaia di progetti, e quindi ovviamente è stata data più cura alla sua implementazione, garantendo la sua qualità e performance.

La mia storia personale di Low-Code

Sono stato personalmente licenziato un mese fa. Inizialmente ero spaventato, e ho iniziato a cercare disperatamente un lavoro - Ma dopo un po' ho capito che era una "benedizione", perché mi ha dato quel calcio nel sedere di cui avevo bisogno per iniziare la mia azienda, basata esclusivamente su costrutti Low-Code, posso aggiungere. Il paradosso è che sono stato effettivamente licenziato a causa della cattiva qualità del codice. Non era qualcosa che era colpa mia però, dal momento che avevo ereditato un incubo di un progetto legacy, dove il 90% dei suoi componenti era vecchio di oltre 10 anni, in un mostro di codebase, con più di 1 milione di righe di codice. Quindi, essere il capo dello sviluppo di un tale progetto, era probabilmente come essere il presidente all'inferno - Suona bene finché non ti rendi conto di dove sei ... :/

Comunque, il paradosso è che se il mio datore di lavoro fosse stato disposto ad usare i costrutti Low-Code, non ci saremmo mai ritrovati con una qualità del codice così bassa, e saremmo stati in grado di consegnare prodotti molto migliori, in tempo, nei tempi previsti, con le caratteristiche attese dal management. Quindi, la mancanza di costrutti Low-Code, e il fatto che mi è stato negato di usare tali costrutti, è stata la ragione per cui ho perso il mio lavoro.

Low-Code avrebbe potuto salvare il mio lavoro!

Sì, per quanto paradossale possa sembrare, è veramente vero. Se fossi stato ascoltato riguardo al mio desiderio di usare costrutti Low-Code, il mio lavoro al mio ex datore di lavoro esisterebbe ancora, tutti sarebbero felici e nessuno sarebbe stato licenziato. Quindi, Low-Code è qui per salvare il tuo lavoro. È davvero molto semplice; ti sbarazzi solo delle persone che non consegnano ciò che ti aspetti che consegnino. Low-Code aumenta la tua possibilità di consegnare, e quindi aumenta la sicurezza del tuo lavoro. Consegna ciò che il tuo datore di lavoro vuole che tu consegni, e lui non si libererà mai di te.

Come funziona il Low-Code

Capire il Low-Code è capire che tutto espone i metadati in una forma o nell'altra. Per esempio, posso eseguire un semplice SQL un database, estrarre tutte le tabelle, i loro campi, i loro tipi e tutte le chiavi esterne. Questo produce una "specifica" estremamente formale, creata in un formato strutturato, permettendo ai miei sistemi di scaffolding Low-Code di produrre codice funzionante, basato su questa "specifica". Per gran parte del nostro lavoro, il risultato finale di tali processi di scaffolding è sufficiente. Per altre parti del nostro codice è inutile. Per tutto ciò che sta tra questi due estremi "aiuta". Finisco ancora per passare del tempo a cambiare manualmente le cose e/o ad aggiungere cose dopo aver generato automaticamente lo scheletro dei miei progetti usando i costrutti Low-Code. Tuttavia, Low-Code mi rende (almeno) 10 volte più produttivo.

Low-Code ti rende almeno 10 volte più produttivo!

Quanto sopra è fondamentale, poiché se mi fosse stato permesso di usare i costrutti Low-Code nel mio precedente lavoro, saremmo stati in grado di consegnare secondo le aspettative. Invece, siamo rimasti bloccati in una vecchia base di codice legacy, impossibile da migliorare, fino al punto che l'intero dipartimento di sviluppo software è stato licenziato in un mese.

12 persone hanno perso il lavoro perché NON avevamo Low-Code

L'ironia... :/

Low-Code è qui per salvare il tuo lavoro, non per rubarlo. Se non riesci a capire questo, sei nei guai, e potresti non essere in grado di sostenere il tuo attuale lavoro - Per ragioni che ho illustrato nel mio ultimo articolo. Il motivo per cui Low-Code è qui per salvare il tuo lavoro, può essere riassunto riassumendo alcune delle sue caratteristiche.

  •     Low-Code ti rende 10 volte più produttivo.
  •     Low-Code ti permette di consegnare una qualità 10 volte superiore.
  •     Low-Code rende il tuo software 10 volte più sicuro.
  •     Low-Code spesso scala 10 volte meglio.

I fatti sono che il Low-Code migliora ogni singolo aspetto misurabile del tuo lavoro attuale di almeno 10 volte. Quando sei 10 volte meglio su ogni singolo parametro misurabile, è altamente improbabile che qualcuno voglia liberarsi di te. Tuttavia, se continuate a distruggere il vostro JavaScript creato manualmente per un altro paio d'anni, risolvendo problemi di commodity che il mio sistema risolve cliccando un pulsante, posso garantirvi che il vostro datore di lavoro un giorno si sveglierà e si renderà conto che altri sono in grado di superarvi di 10 volte su ogni singolo parametro con cui misuriamo i nostri progetti software oggi. A quel punto, sarà troppo tardi, e il vostro lavoro non ci sarà più.

Se volete giocare con un progetto Open Source Low-Code che ho passato diversi anni a creare, potete giocare con Magic Cloud.

 

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