Per diversi decenni, le organizzazioni hanno avuto due alternative quando hanno avuto bisogno di nuovi sistemi informativi. Potevano costruire un nuovo sistema utilizzando i propri sviluppatori, oppure potevano acquistare un sistema da un fornitore esterno. L'approccio "build", come un abito o un vestito su misura, offre una stretta aderenza ai requisiti aziendali. Ma, come nel caso di un abito su misura, comporta in genere costi più elevati e lunghi tempi di attesa. I sistemi dei venditori, come i capi d'abbigliamento non confezionati, non si adattano altrettanto bene, ma sono in genere molto più economici e possono essere installati più rapidamente. A volte le aziende possono configurare questi sistemi, ma spesso è più facile cambiare la propria attività per adattarla al sistema che non viceversa.
Oggi, tuttavia, esiste una terza alternativa che sta diventando sempre più popolare. Le applicazioni low-code/no-code (LC/NC) sono in grado di adattarsi perfettamente ai requisiti aziendali, possono essere implementate rapidamente e in genere costano molto meno dei sistemi sviluppati internamente. Queste applicazioni non ottengono questi vantaggi per magia, ma affidano lo sviluppo agli utenti invece che agli sviluppatori di sistemi professionali. Grazie alle interfacce point-and-click o ai menu a tendina, gli utenti possono solitamente progettare e implementare i loro sistemi individuali o dipartimentali in poche ore. Il software può anche avere un'interfaccia di conversazione o di ricerca. Sono richieste poche, se non nessuna, competenze di programmazione.
L'automazione robotica dei processi (RPA), ad esempio, è una delle categorie di sistemi LC/NC in più rapida crescita. Utilizzando regole per un semplice processo decisionale, consente agli utenti di progettare flussi di lavoro automatizzati che possono raggiungere più sistemi informativi. È eccellente per automatizzare i processi amministrativi di back-office. Alcuni strumenti RPA offrono funzionalità avanzate che aiutano a scoprire le opportunità di automazione o a collegarsi a strumenti di intelligenza artificiale per creare quella che alcuni chiamano automazione "intelligente" o " aumentata". La RPA è generalmente classificata come low-code, ma esistono versioni "light" del software che sono no-code, più vicine al "plug and play", ma che offrono meno opzioni di personalizzazione e scalabilità.
Altri esempi di strumenti LC/NC sono i sistemi low-code per la gestione dei flussi di lavoro o dei casi (una rivisitazione in chiave moderna dei tradizionali strumenti di gestione dei processi aziendali), gli assistenti virtuali o i chatbot e gli strumenti specifici per le funzioni nel settore del marketing. Anch'essi offrono ora interfacce che rendono la creazione di nuove applicazioni e funzionalità digitali una questione di punta e clicca e di configurazione dei menu, invece di assumere e gestire un esercito di sviluppatori.
Questo amplia notevolmente la popolazione di persone che possono creare applicazioni software all'interno di un'azienda. Il software low-code - che, come suggerisce il nome, può comunque richiedere un certo livello di competenze di programmazione - è tipicamente utilizzato da sviluppatori di software professionisti o da dipendenti ibridi di aziende/IT per migliorare la loro produttività. Il software no-code è adatto all'uso da parte di personale aziendale non tecnico, talvolta noto come "citizen developer". Per molte aziende, questo aiuta a digitalizzare e automatizzare attività e processi più velocemente rispetto al tentativo di assumere e inserire talenti di sviluppo difficili da reperire. Tuttavia, c'è un'avvertenza importante: i software LC/NC richiedono un certo livello di coinvolgimento dell'IT quando toccano sistemi mission-critical o a livello aziendale. Quando le aziende si rivolgono alle soluzioni LC/NC, devono essere consapevoli che queste piattaforme, pur offrendo risparmio di costi, riduzione di tempi ed errori e altre opportunità di miglioramento, richiedono comunque un certo livello di competenza tecnica per scalare, mantenere, integrare e gestire.
Funzionalità comuni low-code/no-code
Gli approcci allo sviluppo del software LC/NC supportano una varietà di tipi di applicazioni. I sistemi transazionali per piccole imprese sono forse i più comuni. Si tratta di applicazioni che elaborano transazioni commerciali - strumenti come la gestione delle risorse umane (ad esempio, la valutazione delle prestazioni), la gestione delle prenotazioni per ristoranti o altre esperienze, la creazione di preventivi, la gestione dei servizi sul campo e così via. Le grandi aziende possono disporre di pacchetti costosi o di programmi sviluppati su misura per eseguire tali operazioni, ma le piccole imprese possono generare facilmente i propri.
Un'altra caratteristica comune è la capacità di automazione su piccola scala. L'automazione di processi e flussi di lavoro aziendali su larga scala dovrebbe essere generalmente affidata a sviluppatori professionisti, ma molte aziende hanno anche flussi di lavoro più piccoli da automatizzare. Come l'automazione robotica dei processi più sofisticata, le versioni LC/NC sono in grado di accedere a database, e-mail e sistemi transazionali e di eseguire attività come se fossero un utente umano che lavora al computer. Ciò significa che può essere facilmente applicato a piccoli compiti che un individuo dovrebbe normalmente svolgere, comprese le interazioni con i software di produttività d'ufficio come i fogli di calcolo, l'elaborazione di testi e le cartelle di file elettronici. L'agenzia di pubblicità e marketing Dentsu, ad esempio, ha istruito diverse centinaia di dipendenti sull'uso di uno strumento LC/NC RPA. Un analista operativo lo ha utilizzato, ad esempio, per automatizzare le notifiche via e-mail dei ritardi nella compilazione dei timesheet.
Le aziende utilizzano i programmi LC/NC anche per l'analisi, in particolare per l'analisi visiva. Il mercato in crescita per l'analitica descrittiva è stato in gran parte quello dei programmi LC/NC in grado di generare analisi visive interessanti e ricche di significato, con alcuni sistemi che ora si concentrano sulla fornitura di informazioni attraverso un'esperienza di chat testuale o addirittura vocale. Sebbene non siano così avanzati, i fornitori offrono anche versioni LC/NC di software di analisi predittiva e di apprendimento automatico che conducono l'analista o il data scientist attraverso una serie automatizzata di passaggi per creare modelli adatti a un set di dati di addestramento.
I programmi LC/NC possono essere utilizzati anche per sviluppare siti web e mobile. Le versioni più sofisticate di questi programmi possono persino elaborare le transazioni dei clienti. Le aziende che forniscono strumenti per la progettazione di siti web spesso forniscono anche servizi di hosting e possono mettere a disposizione funzionalità LC/NC a valore aggiunto che aiutano l'ottimizzazione per i motori di ricerca e il social media marketing e consentono di impostare e gestire l'analisi digitale. Alcuni strumenti LC/NC facilitano l'automazione delle attività di marketing, come la personalizzazione dei siti web, il marketing via e-mail e il traffico di annunci digitali.
Gli sviluppatori di prodotti tecnologici possono facilitare la configurazione e l'impostazione dei dispositivi con le applicazioni LC/NC. Possono avere competenze di programmazione, ma desiderano conservarle per il prodotto stesso. I programmi semplici per la configurazione e l'impostazione da parte degli utenti possono essere creati da persone non tecniche.
Le sfide di gestione con il Low-Code/No-Code
Lo sviluppo di software LC/NC offre grandi vantaggi, ma anche sfide di gestione. L'ampio uso di questi strumenti istituzionalizza il fenomeno dell'"shadow IT", che ha afflitto le organizzazioni IT per decenni e che potrebbe peggiorare notevolmente il problema, se non viene governato in modo adeguato. Gli citizen developers tendono a creare applicazioni che non funzionano o non scalano bene, e poi cercano di girarle all'IT. Oppure la persona lascia l'azienda e nessuno sa come modificare o supportare il sistema che ha sviluppato.
La supervisione del LC/NC può tuttavia controllare questo problema e rendere comune il passaggio delle applicazioni da citizen developers a sviluppatori professionisti, quando è opportuno. Le organizzazioni IT devono mantenere un certo controllo sullo sviluppo del sistema, compresa la selezione degli strumenti LC/NC che l'organizzazione supporterà. La situazione migliore può essere un modello ibrido di sviluppo citizen/professionale, in cui l'utente sviluppa l'80% del modello e lo passa allo sviluppatore per la rifinitura. Oppure l'utente può sviluppare l'applicazione iniziale utilizzando uno strumento di interfaccia grafica, per poi affidarla a uno sviluppatore che la programmi in Python o in un altro linguaggio più scalabile. In entrambi i casi, lo sviluppatore può registrare l'esistenza del sistema, assicurarsi che funzioni correttamente e collegarlo a qualsiasi sistema di dati o transazionale necessario. Abbiamo visto organizzazioni in cui uno sviluppatore di sistema supporta dieci o più citizen developers.
La maggior parte della responsabilità di gestire lo sviluppo di LC/NC, tuttavia, ricadrà sui responsabili dei dipartimenti, poiché la maggior parte dei sistemi ottenuti si trova a quel livello. I responsabili dei dipartimenti devono essere incoraggiati a facilitare lo sviluppo di LC/NC e devono essere istruiti sul funzionamento della tecnologia, sugli strumenti supportati dall'organizzazione e sul rapporto desiderato tra gli citizen developers e l'organizzazione IT. Dovrebbero anche istruire i membri del loro dipartimento sulle opportunità e le responsabilità dello sviluppo di LC/NC.
Anche i leader dei dipartimenti e i leader esecutivi potrebbero aver bisogno di una maggiore formazione sulle migliori pratiche per la scalabilità degli strumenti LC/NC, soprattutto su ampie aree geografiche. Potrebbe essere necessario creare nuovi modelli organizzativi, come un COE (Center of Excellence) coordinato, supportato da portali digitali interni (o " vetrine") dove i citizen developers, gli sviluppatori di sistemi e i leader possono collaborare, imparare e ricevere rapidamente aiuto quando incontrano ostacoli. Man mano che i sistemi LC/NC scalano e creano i propri set di dati intorno ai processi aziendali, potrebbero essere necessari ulteriori investimenti in analisi e infrastrutture di supporto per aiutare la governance.
Quasi tutte le organizzazioni oggi hanno bisogno di più talenti per lo sviluppo di sistemi. Lo sviluppo di LC/NC non è una soluzione, ma può risolvere alcune di queste carenze di risorse. Con il tempo, è probabile che i sistemi diventino ancora più facili da costruire per processi e casi d'uso comuni. Come ha detto Chris Wanstrath, ex CEO di Github, "Il futuro della programmazione è l'assenza di programmazione".