Tradizionalmente, ovvero sino ad oggi, quando un'azienda avverte la necessità di automatizzare funzioni o procedure tramite software ha due sole possibilità:
-) sviluppare il software internamente, oppure
-) acquistare un software esistente sul mercato.
Lo sviluppo interno implica disporre di risorse IT in grado di gestire il progetto e tutti gli step di sviluppo (magari con la collaborazione di sviluppatori esterni). Si tratta in generale di una scelta onerosa e che richiede parecchio tempo per produrre i risultati.
Viceversa, l'acquisto di un software di mercato è molto più rapido e senza dubbio meno costoso. In genere questi software offrono molte opzioni di configurazione per adattarsi alle esigenze aziendali, ma si tratta sempre di personalizzazioni limitate. Non è raro vedere che è l'azienda alla fine ad adattare parzialmente le sue procedure a ciò che il software permette di fare.
Ma oggi esiste anche una terza soluzione. Lo sviluppo di applicativi con strumenti no-code affidati a personale aziendale di business, i cosiddetti “citizen developers”.