Programmare senza conoscere la programmazione

Da qualche hanno ho iniziato ad occuparmi a livello amatoriale dello sviluppo di applicativi web. Ma non sono un programmatore e non ho conoscenze tecniche di sviluppo del software. Certo non sono completamento a digiuno delle tecniche e delle metodologie di programmazione, ma rimane il fatto che non sono in grado di scrivere una riga di codice o di installare un web server o un tool di sviluppo. Tuttavia credo di essere un buon ricercatore di novità, sono curioso e non mi lascio intimidire dall’apprendimento di nuove competenze. Per questo ho potuto attuare il mio sogno di dare vita ad applicativi web realmente funzionanti, come i prodotti Smart Expense e Studio Semplice, e diventare quello che oggi è chiamato un “citizen developer”.

Programmare senza conoscere la programmazione è quindi possibile ? Senza volere fare inorridire la comunità degli sviluppatori veri, sicuramente le tecnologie disponibili permettono a chiunque di creare software per varie finalità. Non entriamo, per ora, nel merito della qualità o della scalabilità del software prodotto, fermandoci solo sulla definizione di citizen developer e sulle prospettive di crescita che questo movimento potrà avere. Partiamo dalle definizioni.

Cosa significa il termine citizen developer

Cercando su Google il termine “citizen developer” si incontra con facilità la definizione che ne dà il prestigioso gruppo di ricerca Gartner :

Un “citizen developer” è un utente che crea nuove applicazioni aziendali per l’utilizzo da parte di altri utilizzando ambienti di sviluppo e runtime approvati dall’IT aziendale. In passato, lo sviluppo di applicazioni per utenti finali era generalmente limitato a soluzioni per utente singolo o gruppi di lavoro create con strumenti come Microsoft Excel e Access. Tuttavia, oggi gli utenti finali possono creare applicazioni dipartimentali, aziendali e persino pubbliche utilizzando servizi condivisi, piattaforme di sviluppo con linguaggi di quarta generazione (4GL) e servizi di cloud computing.

Per Gardner si tratta quindi della creazione da parte di utenti aziendali non programmatori di applicazioni governate in qualche modo dall’IT centrale. La stessa definizione è in parte ripresa dalla rivista Forbes in un articolo del gennaio 2019, in cui si afferma che i citizen developers

sono individui all’interno di un’azienda che hanno accesso a un ambiente di sviluppo integrato visivo (IDE). All’interno di questo ambiente, lo sviluppatore cittadino è in grado di utilizzare i componenti drag-and-drop dell’applicazione, collegarli insieme per generare una nuova applicazione web o mobile unica. Questo software low-code / no-code consente ai dipendenti di progettare e costruire potenti applicazioni che possono crescere e adattarsi in base alle esigenze di un’azienda.

In base a queste definizioni si tratta quindi di un individuo che opera in ambito aziendale o che comunque si occupa di realizzare applicativi di tipo aziendale. Anche se, a mio avviso, si dovrebbero in realtà includere anche gli individui che intendono realizzare velocemente degli applicativi web per una loro start-up, siano indirizzati al mercato aziendale piuttosto che al mercato consumer o leisure.

Benefici del citizen developer per le aziende

Inizialmente visto con scetticismi dalle aziende, la programmazione visuale “no-code” da parte di utenti di business è cresciuta lentamente in un movimento che avanza e che viene oggi adottato da un numero rilevante di aziende. Quella era una nicchia per amatori, considerata poco più che un gioco per programmatori “bambini”, sta diventando una solida realtà.

Ma quali sono i benefici per le aziende che adottano iniziative di “citizen development” ?

Riduzione dei carichi di lavoro per gli IT Department

Permettere agli utenti di business, opportunamente formati, di creare proprie applicazioni verticali che soddisfano i requisiti di un ufficio o di una specifica procedura solleva le funzioni IT aziendali da molte ore di lavoro, permettendogli di focalizzarsi su problematiche di più alto livello.

Riduzione dei tempi di implementazione del software

La realizzazione di applicativi no-code è molto rapida e permette alle aziende di dotarsi in tempi celeri di procedure digitali strutturate ed idonei a gestire i processi aziendali senza incorrere in costi eccessivi e riducendo le complessità dei progetti affidati ad ogni singolo ufficio.

Adattamento alle richieste del mercato e dei clienti

La possibilità di adottare in breve tempo e con costi ridotti delle soluzioni che permettono di affrontare meglio il cambiamento e le tendenze di mercato, come sta accadendo in tempi di pandemia da Covd-19, è un ulteriore vantaggio soprattutto per le piccole e medie imprese.

Quali sono gli strumenti del “citizen developer”

Esiste una differenza tra strumenti “no-code” e “low-code”, ovvero tra strumenti che consentono realmente ad un utente non programmatore di sviluppare senza scrivere codice e strumenti che invece implicano una certa conoscenza della programmazione pur essendo di base dei sistemi di sviluppo rapido e tutto sommato visuale. Tuttavia la distinzione non è sempre così agevole.

Il citizen developer può guardare a mio avviso ad entrambe le famiglie di strumenti disponibili sul mercato, tra i quali citerei quelli che ritengo siano i più adatti ad essere utilizzati in ambito aziendale.

Bubble

Bubble

Crea e avvia applicazioni web completamente funzionali e basate sui dati in una frazione del tempo necessario per codificarle da zero utilizzando Bubble! Bubble è alimentato da un robusto editor point-and-click che consente agli utenti di creare applicazioni web e flussi di lavoro completamente personalizzabili che vanno da semplici prototipi a mercati complessi, prodotti SaaS e altro ancora. Oltre 350.000 utenti hanno avuto successo nel costruire e lanciare attività su Bubble: molti hanno continuato a partecipare ai migliori programmi di accelerazione, come Y Combinator, e una società ha persino raccolto 365 milioni di dollari in finanziamenti di rischio. Bubble è più di un semplice prodotto. Ha creato una forte comunità di costruttori e imprenditori che sono uniti dalla convinzione che tutti dovrebbero essere in grado di creare tecnologia (descrizione del produttore pubblicata su www.g2.com)

Betty Blocks

Betty Blocks

Benvenuti nell’era senza codice! Crea applicazioni complesse di livello aziendale: sorprendentemente facile, veloce e divertente. La piattaforma No-code Betty Blocks mira a potenziare una nuova generazione di sviluppatori e a spingere i confini di ciò che è possibile con hpaPaaS. Supportiamo gli sviluppatori cittadini, aiutiamo le organizzazioni a innovare e sfidare i presupposti di ciò che una piattaforma senza codice può ottenere. Dalle app mobili ai portali (dei clienti) alla gestione del back office e tutto il resto. La facilità d’uso della piattaforma Betty Blocks supporta ogni dimensione o complessità della tua app. Vai quanto vuoi, nel modo più semplice possibile. 100% nel cloud. 100% senza codice. 100% guidato dall’innovazione (descrizione del produttore pubblicata su www.g2.com)

Airtable

Airtable

Airtable è una piattaforma software che consente alle persone di creare le soluzioni di cui hanno bisogno per guidare l’innovazione e aumentare l’agilità all’interno dei loro team. Airtable mette la potenza di un database flessibile nelle mani dei creatori. Abbiamo raccolto oltre $ 170 milioni di finanziamenti e abbiamo oltre 170.000 organizzazioni che eseguono processi e flussi di lavoro mission-critical su Airtable. A prima vista, Airtable assomiglia molto a un foglio di calcolo, ma siamo molto più potenti. I nostri elementi costitutivi consentono ai team di modellare le cose su cui lavorano, definire le relazioni tra le cose e creare viste su misura per il loro tipo di lavoro. Airtable consente ai team di adattare il proprio software quando i mercati si evolvono o gli obiettivi cambiano. Aumentiamo l’agilità fornendo trasparenza e visibilità a collaboratori e manager. Soprattutto, consentiamo ai team di risolvere un’ampia serie di casi d’uso senza risorse IT. Prova Airtable oggi e scopri perché così tante organizzazioni stanno passando ad Airtable da fogli di calcolo e rigidi strumenti di gestione dei progetti (descrizione del produttore pubblicata su www.g2.com)

Webflow

Webflow

Webflow è uno strumento di web design, CMS e piattaforma di hosting tutto in uno (descrizione del produttore pubblicata su www.g2.com)

Appian

Appian

Appian fornisce una piattaforma leader di sviluppo software per l’automazione a basso codice che consente alle organizzazioni di sviluppare rapidamente applicazioni potenti e uniche. Le applicazioni create sulla piattaforma Appian aiutano le aziende a guidare la trasformazione digitale e la differenziazione competitiva. Per ulteriori informazioni, visitare www.appian.com.(descrizione del produttore pubblicata su www.g2.com)

Diventa anche tu un citizen developer

Per chi ha buone capacità di ideazione e progettazione di applicativi aziendali, comprende bene le esigenze di business, i processi operativi e le interazioni con i sistemi IT esterni, il mio consiglio è quello di individuare, tramite una approfondita ricerca ed una serie di test, la piattaforma no-code che si intende utilizzare. Da lì inizia un percorso di apprendimento, a volte non privo di ostacoli, per ottenere un buon livello di autonomia e di capacità tecnica nell’uso dello strumento.

E’ importante non avere paura di cimentarsi in progetti di test, costruendo un percorso di “trial and errors” che permetterà di diventare mediamente esperti e quindi in grado di creare un primo e magari semplice  applicativo che risolve un esigenza della propria azienda.

Occorre ricordare che, nonostante molte piattaforme no-code siano completamente visuali e grafiche, ci sono molte decisioni da prendere durante il percorso di sviluppo di un applicativo. Dalla login utenti  (SSO, 2FA, etc.) alla struttura dei dati, dalla navigazione alla sicurezza dei dati, dai workflow alla gestione dei ruoli, sono molti gli ambiti in cui è necessario avere maturato una certa esperienza. Ma come in tutte le cose, da qualche parte occorre partire …

Se l’argomento è di tuo interesse o vuoi saperne di più, lascia un messaggio nei commenti.