Il Citizen Developer è il nuovo volto dell'agilità?

Pubblicato: 2022-03-11

Con la stragrande maggioranza delle aziende che digitalizzano le proprie operazioni e team di sviluppo di talento cronicamente a corto di personale, la data di scadenza delle implementazioni software complesse si sta avvicinando rapidamente.

La carenza di talenti e i costi per porvi rimedio sono arrivati ​​in un momento in cui le piattaforme di sviluppo low-code offrono soluzioni impressionanti. La premessa del codice basso è semplice: ridurre la complessità dello sviluppo al punto che gli utenti aziendali possono creare soluzioni senza una conoscenza approfondita della programmazione, delle API o di come distribuire applicazioni Web o mobili. Spesso fornite come offerta cloud SaaS (software as a service) o PaaS (platform as a service), le soluzioni low-code semplificano molti intricati dettagli di sviluppo in modo che l'utente possa concentrarsi sulla creazione di funzionalità.

La società di ricerca tecnologica Gartner prevede che nel 2022 il mercato delle piattaforme applicative low-code aumenterà di oltre il 30% rispetto ai livelli del 2020. In qualità di leader di progetto IT e stakeholder dei processi aziendali, i project manager sono in grado di servire gli interessi a volte disparati e spesso isolati sia dell'IT che dell'azienda adottando queste soluzioni low-code.

Ma quali sono i vantaggi e i limiti di queste soluzioni e come possono essere implementate e applicate nei team di progetto? La risposta potrebbe risiedere nello sviluppo dei cittadini: far crescere una coorte di membri del team non tecnici per affrontare parte del lavoro che grava sui team IT. In qualità di project manager con la guida giusta e le migliori pratiche in atto, puoi utilizzare lo sviluppo dei cittadini per trasformare l'adozione low-code da dirompente a business come di consueto nella tua azienda.

I primi motori dello sviluppo cittadino

L'idea di utenti non tecnici che sviluppano soluzioni tecniche non è una novità. Già nel 1987, HyperCard di Apple utilizzava un'interfaccia grafica e un linguaggio di programmazione semplificato per consentire ai non programmatori di produrre applicazioni semplici, simili alle app basate sul Web di oggi. Ma il termine "sviluppatore cittadino" è apparso per la prima volta in una presentazione al Gartner Symposium/ITxpo del 2009 a Orlando. E nel 2014, un rapporto di Forrester ha definito una nuova ondata di piattaforme per la creazione di applicazioni rivolte ai clienti "low code". Il rapporto ha identificato diversi first mover nel settore emergente, tra cui Mendix, Salesforce e Appian. Questi first mover fornivano "alternative più rapide alle piattaforme di programmazione tradizionali" e consentivano agli utenti di "accelerare la consegna delle app riducendo drasticamente la quantità di codifica manuale richiesta". Da allora sono stati raggiunti da altri giocatori come Betty Blocks, ServiceNow e Microsoft Power Platform. Con una guida adeguata, questi sviluppatori cittadini possono creare soluzioni su piccola scala per se stessi o per i loro team o, in alcuni casi, creare soluzioni digitali a livello aziendale.

Un sondaggio IBM del 2014 ha rilevato che l'80% dei responsabili delle decisioni IT e aziendali utilizzava in qualche modo gli sviluppatori cittadini. Anche allora, l'adozione era provvisoria e su piccola scala. Non è stato fino al 2021 che il Project Management Institute ha introdotto una serie unica di corsi per sviluppatori cittadini. Quindi per quasi un decennio non ci sono stati standard di settore, benchmark o formazione formalizzata a cui i datori di lavoro possano fare riferimento, tanto meno da implementare per i project manager. Per la maggior parte degli anni 2010, le piattaforme low-code sono state considerate troppo dirompenti, creando respingimenti all'interno delle organizzazioni.

Da allora le cose sono cambiate, per usare un eufemismo. Gartner stima che entro il 2024, l'80% di tutti i prodotti e servizi tecnologici sarà realizzato da sviluppatori cittadini, rispetto a solo il 25% nel 2014. Attribuisce questa rapida espansione alla pandemia di COVID-19: mentre le aziende si affrettano ad adottare servizi cloud e digitale iniziative per gestire una forza lavoro improvvisamente remota, sono emersi nuovi modelli e processi di business. Questi eventi hanno seguito l'adozione accelerata dei framework Agile negli ultimi anni, con la loro enfasi sulla velocità e sui cicli di sviluppo più brevi.

Tutto ciò, combinato con una carenza di sviluppatori, ha creato un'opportunità per gli sviluppatori cittadini di risolvere una serie di problemi.

Cronologia intitolata "Una storia di sviluppo dei cittadini". Include "1987: Apple rilascia HyperCard, la prima di una nuova generazione di piattaforme di sviluppo rapido di applicazioni". "2009: Gartner conia il termine "sviluppatore cittadino" al suo annuale Gartner Symposium/ITxpo a Orlando." "2014: Forrester pubblica un rapporto che introduce il termine 'codice basso' nel contesto dell'identificazione di diversi first mover, tra cui Mendix, Salesforce e Appian." "2019: Salesforce acquisisce Tableau per espandere le funzionalità low-code/no-code". "2021: Gartner stima le entrate totali delle tecnologie di sviluppo low-code a 11,3 miliardi di dollari".

Vantaggi del codice basso

Velocità

Per i project manager IT, i programmi di sviluppo cittadino accelerano le tempistiche semplificando le attività di innovazione e riducendo la dipendenza da un pool limitato di sviluppatori professionisti. Possono essere necessari mesi per ottenere un'applicazione Web tradizionale pronta per il rilascio iniziale; anche lo sviluppo di un prodotto minimo vitale (MVP) richiede settimane. Utilizzando una piattaforma low-code, un team può mettere insieme più MVP nella stessa quantità di tempo e utilizzare le informazioni di questi per guidare i propri sforzi di sviluppo. I cicli di iterazione si riducono proporzionalmente.

Ad esempio, uno sviluppatore professionista che crea uno strumento di notifica potrebbe trascorrere un'intera giornata progettando un semplice front-end per interagire con un'API, configurando l'autenticazione e la sicurezza, testando e infine distribuendo l'app per uso interno. Su una piattaforma low-code, uno sviluppatore cittadino può raggiungere lo stesso livello di funzionalità e sicurezza in pochi minuti e tre clic dopo condivide la sua creazione con il resto del team.

Flessibilità

Il software standard non sempre si adatta al flusso di lavoro o alla struttura di un'azienda. Ma le soluzioni costruite su piattaforme low-code possono essere personalizzate in base alle esigenze particolari della tua azienda. Ad esempio, se il processo aziendale richiede la possibilità di inoltrare un problema a un determinato manager e il pacchetto standard non può farlo, una soluzione personalizzata a basso codice è una buona alternativa.

Una soluzione low-code può anche colmare le lacune nell'integrazione tra i sistemi esistenti senza dover lavorare direttamente con un'API. Ad esempio, se il tuo CRM esistente non è in grado di inviare un messaggio a un canale Slack specifico, una soluzione low-code potrebbe colmare rapidamente e facilmente tale lacuna. La maggior parte delle piattaforme dispone di ampie opzioni per integrazioni che consentono al loro servizio di comunicare con i database e le API di applicazioni popolari basate su cloud o on-premise come Jira, Gmail, Oracle o Shopify. Queste integrazioni offrono a un progetto più opzioni rispetto a una soluzione inadatta, pronta all'uso o costosa su misura; puoi costruire con più capacità usando un codice basso.

Immagina la differenza che questo potrebbe fare per i tuoi progetti. L'arretrato del team di sviluppo può essere rivalutato, con alcune esigenze scorporate e mirate a una soluzione sviluppata dai cittadini a basso codice. Ciò può consentire all'IT di avere il tempo di affrontare problemi come il debito tecnico che spesso possono essere ignorati quando i tempi sono stretti. E le soluzioni implementate tramite una piattaforma low-code approvata dall'IT possono mitigare i problemi creati dall'IT ombra. Il team di sviluppo stesso può esaminare una serie di esigenze o requisiti, quindi consigliare e implementare soluzioni utilizzando una piattaforma low-code come parte o tutto lo stack tecnologico.

Quando utilizzare il codice basso

Per quanto un codice basso possa migliorare i tassi di velocità verso la soluzione e ridurre i costi per la creazione di software, presenta alcuni inconvenienti. In qualità di project manager, dovrai comprendere i limiti dei servizi low-code in modo da poter prendere decisioni valide su quando la piattaforma che hai scelto è appropriata per un progetto. Ecco alcuni suggerimenti:

  1. Preparati a rimanere su una piattaforma. La struttura e la funzionalità a basso codice sono diverse per ciascun servizio, quindi una soluzione utile che si costruisce su uno generalmente non viene trasferita su un altro. Ciò significa che poiché le organizzazioni utilizzano una particolare piattaforma low-code per più soluzioni, il costo delle modifiche successive aumenta con una maggiore dipendenza da tale piattaforma, creando un forte disincentivo a provarne una diversa in futuro.
  2. Account per limitazioni UI/UX. Per rendere l'esperienza più semplice per gli sviluppatori cittadini, un controllo molto più accurato sulla gestione degli eventi, lo stile e le funzionalità di nicchia è predeterminato e relativamente immutabile su piattaforme a basso codice. È abbastanza limitato da frustrare un buon designer. Ad esempio, il codice basso in genere offre meno scelte per le funzionalità mobili offline, più metodi di autenticazione e controlli utente specializzati come le ruote dei colori. Chiediti se il progetto andrà bene con un design "abbastanza buono". Se il tuo team ha bisogno di un controllo squisito sull'aspetto, la sensazione e il flusso dell'app, il codice basso non è la strada da percorrere.
  3. Fai attenzione ai problemi di manutenzione. Gli sviluppatori cittadini potrebbero non avere una comprensione profonda di test software efficaci o un punto di vista esperto su come le soluzioni potrebbero dover cambiare in futuro. Per le soluzioni semplici, questo non è un grosso problema, ma quando una soluzione a basso codice diventa più complessa, è più probabile che sia difettosa, insicura e difficile da mantenere. Se la tua soluzione pianificata ha un alto grado di complessità o è mission-critical, prendi in considerazione uno stack tecnologico senza codice basso o coinvolgi sviluppatori più esperti nella costruzione della soluzione.

Le piattaforme low-code non sono l'ideale per situazioni che richiedono:

  • Più di 200 utenti interni coerenti, che potrebbero influire sulle licenze e sulle prestazioni.
  • Funzionalità altamente specializzate, come blockchain, giochi o navigazione in tempo reale.
  • Enfasi sulla bassa latenza e sulle prestazioni di alto livello.
  • Un'esperienza utente attentamente progettata.

Nonostante queste limitazioni, non mancano potenziali casi d'uso per piattaforme a basso codice. Considerali per progetti che coinvolgono:

  • Creazione di strumenti interni come app di onboarding, tracker attività o soluzioni di gestione delle risorse per migliaia di dispositivi aziendali.
  • Aggiornare i sistemi legacy aggiungendo nuove funzionalità a infrastrutture obsolete ma integrate o digitalizzando i flussi di lavoro.
  • Progettare prototipi a basso rischio o MVP che possono fungere da semplice proof of concept nelle prime fasi di un progetto senza ingenti investimenti di tempo o risorse. (Una volta avviati i test degli utenti, è possibile passare all'IT tradizionale e alla maggiore scalabilità che offre.)

Autorizzare gli sviluppatori cittadini

Le piattaforme low-code sono progettate per ridurre la curva di apprendimento a un livello più gestibile, consentendo ai project manager di coltivare i cittadini sviluppatori all'interno delle loro organizzazioni. Gli sviluppatori cittadini possono provenire da qualsiasi campo non IT e provengono da aree diverse come l'analisi aziendale, la gestione dei progetti, il finanziamento o le operazioni. Chiunque sia esperto di tecnologia e desideroso di imparare può essere addestrato a incorporare lo sviluppo low-code nel proprio lavoro, a condizione che il project manager comprenda le lacune tra le loro capacità e quelle di sviluppatori professionisti. Gli sviluppatori cittadini non devono essere esperti di programmazione per collaborare con l'IT per colmare le esigenze tecnologiche e aziendali. Acquisendo una migliore comprensione del ciclo di vita della fornitura del software e assumendosi alcune delle responsabilità che tradizionalmente richiedono conoscenze di programmazione, diventano in parte esperti in materia, in parte analisti aziendali e in parte risorse IT.

Le organizzazioni ottengono il massimo dalle piattaforme low-code e dagli sviluppatori cittadini seguendo queste best practice:

  • Fornire addestramento. Facilita l'adozione di codici ridotti attraverso sessioni di formazione e dimostrazioni di casi d'uso pertinenti.
  • Insegna nuovi concetti. Presenta agli sviluppatori cittadini i concetti di test, documentazione e componenti riutilizzabili per migliorare la qualità delle soluzioni che creano.
  • Stabilisci dei guardrail. Fornire supporto per la governance agli sviluppatori cittadini, come l'aggiunta di politiche di protezione dalla perdita di dati specifiche e la configurazione di ambienti sandbox per la sperimentazione.
  • Incoraggiare la collaborazione. Incoraggiare cittadini e sviluppatori professionisti a generare soluzioni insieme, in particolare su progetti complessi che integrano codice basso. Ciò può portare a una migliore comprensione dei requisiti, alle opportunità di formazione incrociata e a un maggiore apprezzamento per i loro ruoli distinti nell'organizzazione. Combinare l'esperienza tecnica del team IT con l'acume per gli affari degli sviluppatori cittadini può portare a soluzioni che servono meglio l'organizzazione.

Gli sviluppatori cittadini devono avere questo tipo di guida. Alcuni saranno troppo timidi per provare qualcosa al di là di un primo passo, e altri creeranno pasticci a causa del loro eccessivo entusiasmo. Fornire formazione e linee guida aiuta i nuovi utenti di codice basso a trovare una via di mezzo migliore, portando a un'adozione di qualità superiore all'interno dell'azienda.

Gli sviluppatori cittadini offrono una nuova capacità all'organizzazione che può essere sfruttata tatticamente e strategicamente. Alcuni utilizzeranno le loro nuove competenze nei ruoli aziendali esistenti, contribuendo agli sforzi di cambiamento digitale e ai progetti IT con una nuova comprensione migliorata delle sfide e dei flussi di lavoro. Altri potrebbero intraprendere un lavoro completamente nuovo, assumendo lo sviluppo di app a basso codice o la progettazione di funzionalità come parte dei loro compiti principali.

I fornitori di piattaforme low-code sanno che un forte supporto è importante e stanno aggiungendo funzionalità di conseguenza. Le piattaforme più sviluppate offrono funzionalità di governance a livello aziendale, comunità di utenti fiorenti e molteplici modi per imparare.

Infografica intitolata "Best Practices for Low-code Adoption" con quattro elementi. "Fornire formazione" è accompagnato dall'immagine di una scheda di presentazione e dal testo "Dimostrare soluzioni low-code con casi d'uso pertinenti". "Insegna nuovi concetti" è accompagnato dall'immagine di una lampadina all'interno di frecce circolari e dal testo "Migliora l'output aiutando gli sviluppatori cittadini ad apprendere pratiche che sono una seconda natura per l'IT ma a loro sconosciute". "Establish Guardrails" è accompagnato dall'immagine di un blocco per appunti e dal testo "Crea un ambiente ben governato in cui la sperimentazione non porti a risultati negativi". "Encourage Collaboration" è accompagnato dall'immagine di una stretta di mano e dal testo "Non tenere cittadini e sviluppatori professionisti in silos separati; lascia che lavorino insieme".

Per incoraggiare un'adozione più ampia da parte degli sviluppatori professionisti, alcune piattaforme stanno abbracciando concetti familiari come il controllo del codice sorgente, i moduli di test e la gestione del ciclo di vita delle applicazioni. Ciò offre il meglio di entrambi i mondi: possono utilizzare codice basso con un solido set di strumenti per creare rapidamente applicazioni di qualità senza rinunciare ai loro strumenti esistenti per soluzioni più complesse. E innovazioni come le metodologie design-to-code promettono di alleviare i vincoli esistenti di queste piattaforme, come scelte limitate di UX/UI, negli anni a venire.

Un campo in espansione

Sono stati effettuati investimenti significativi in ​​piattaforme low-code sia da attori affermati che da startup. Microsoft ha recentemente registrato una crescita del 97% anno su anno sulla sua Power Platform e sta rilasciando nuove funzionalità a un ritmo sbalorditivo. Gli investimenti in startup low-code/no-code come Bubble e Airtable sono aumentati di $ 415 milioni nel mercato statunitense in un periodo di cinque anni. Poiché le aziende cercano di espandere ulteriormente le proprie capacità digitali, gli sviluppatori professionisti continueranno a scarseggiare e il numero di sviluppatori cittadini aumenterà. Le proiezioni mostrano che gli sviluppatori cittadini supereranno di 4 a 1 gli sviluppatori professionisti entro il 2023.

Per un importante sottoinsieme di applicazioni, lo sviluppo cittadino può offrire un pratico mix di velocità, semplicità e flessibilità. Non sostituirà il lavoro dei team di sviluppo professionale, ma può fornire soluzioni potenti per migliorare quei team mentre navigano nel panorama del software in continua evoluzione.