Il 2023 è stato certamente l’anno in cui l’AI è passata da essere un tema per addetti ai lavori e da anni presente dietro le quinte ad un tema di pubblico dominio.
Il largo impiego dell’AI generativa (GAI) da parte del grande pubblico ha stimolato una moltitudine di domande che riguardano gli impatti sul futuro del lavoro.
Una delle attività che certamente viene impattata dall’utilizzo della GAI è lo sviluppo del software e pertanto molti si chiedono se in futuro saranno necessari gli sviluppatori software.
Per rispondere a questa domanda è necessario chiarire che una applicazione software in ambito Enterprise non è un mero frammento di codice ma un insieme di componenti software progettati, implementati e orchestrati tra loro per rispondere a una specifica esigenza di business. Nello sviluppo ed utilizzo di una applicazione software può verificarsi una varietà di problemi funzionali, di efficienza, di usabilità, di sicurezza e compliance che solo un approccio critico e creativo, tipico dell’agire umano, è in grado di risolvere.
Gli sviluppatori rimarranno pertanto essenziali nelle attività di sviluppo software: La GAI contribuirà a efficientare e automatizzare alcune attività del ciclo di sviluppo del software.
E le piattaforme cloud low-code/ no-code (LC/NC) potranno essere un giorno soppiantate dalla GAI ?
Interessante è la risposta fornita dallo stesso ChatGPT alla domanda “L’intelligenza artificiale generativa potrà soppiantare le piattaforme di sviluppo LC/NC ?”. Di seguito la risposta.
La GAI e le piattaforme LC/NC servono a scopi diversi e possono coesistere, ma è improbabile che una soppianti completamente l’altra. Vediamo alcune considerazioni:
- Complementarietà: GAI potrebbe essere utilizzata per migliorare le capacità delle piattaforme LC/NC. Ad esempio, l’IA potrebbe assistere nella generazione di codice automatico basato su requisiti specifici, riducendo ulteriormente la quantità di codice che gli sviluppatori devono scrivere manualmente.
- Complessità dei Progetti: Per progetti più complessi e specifici, potrebbe ancora essere necessaria l’expertise di sviluppatori più esperti. Le piattaforme LC/NC sono spesso ottimali per progetti più semplici e standard, mentre l’IA generativa potrebbe non coprire tutte le sfaccettature di progetti più complessi.
- Personalizzazione e Flessibilità: Le piattaforme LC/NC sono progettate per essere accessibili ai non-sviluppatori, consentendo loro di creare rapidamente applicazioni. Tuttavia, l’IA generativa potrebbe non essere altrettanto flessibile o personalizzabile, specialmente quando si tratta di soddisfare esigenze aziendali specifiche.
- Apprendimento Continuo: GAI potrebbe beneficiare dell’apprendimento continuo per migliorare le sue capacità nel tempo. Tuttavia, le piattaforme LC/NC sono più dirette e controllate dagli utenti, consentendo un maggiore controllo sull’evoluzione delle applicazioni senza dipendere da processi di apprendimento automatico.
- Integrazione di Dati e Processi Aziendali: Le piattaforme LC/NC spesso si concentrano sulla facilità di integrazione dei dati e dei processi aziendali. L’IA generativa potrebbe richiedere un maggiore sforzo per raggiungere un livello simile di integrazione senza intervento umano.
In conclusione, mentre GAI e le piattaforme LC/NC possono collaborare e influenzarsi a vicenda, sembra improbabile che una sostituirà completamente l’altra. La scelta tra le due dipenderà dai requisiti specifici del progetto, dalla complessità dell’applicazione e dal livello di controllo e personalizzazione desiderato. Probabilmente, vedremo una crescente integrazione di tecnologie AI all’interno delle piattaforme LC/NC per migliorare le loro funzionalità e rendere più agevole lo sviluppo delle applicazioni.
In definitiva entrambe le tecnologie mirano a semplificare lo sviluppo di applicazioni ma si prestano a casi d’uso distinti e si rivolgono a diverse tipologie di utenti. Più precisamente:
GAI
- La GAI, come GPT-3 e modelli simili, è principalmente progettata per generare testo o contenuti simili all’umano in base a dati di input o prompt.
- Può assistere gli sviluppatori generando frammenti di codice, fornendo spiegazioni in linguaggio naturale o automatizzando compiti di generazione di testo.
- La GAI è uno strumento che gli sviluppatori ed esperti del settore possono utilizzare per semplificare determinati aspetti del loro lavoro, come la documentazione o l’assistenza nella scrittura del codice.
Piattaforme LC/NC
- Le piattaforme LC/NC sono progettate per semplificare il processo di sviluppo di applicazioni software complete, fornendo interfacce visive, componenti trascinabili e modelli predefiniti.
- Sono destinate a utenti con diversi livelli di competenza tecnica, tra cui analisti aziendali e citizen developer.
- Mirano a ridurre la necessità di codifica manuale e accelerare lo sviluppo di applicazioni per un pubblico più ampio di utenti.
- Una piattaforma è un ambiente che oltre a consentire la scrittura della applicazione software consente di eseguirla garantendo resilienza, efficienza, disaster recovery, sicurezza, compliance, trattasi di un servizio in cui la componente funzionale è solo una parte dell’intero servizio offerto.
È dunque improbabile che la GAI possa sostituire le piattaforme LC/NC, entrambe le tecnologie hanno il loro spazio nel panorama dello sviluppo software, piuttosto la GAI è per i produttori di piattaforme LC/NC una grande opportunità per realizzare ancora di più la figura del citizen developer. Difatti la GAI può semplificare quelle attività di “scrittura” della applicazione che ancora richiedono competenze di coding (scripting, scrittura di regole, etc.) e comporre automaticamente, in base all’esigenza di business, dei prototipi di applicazioni da cui partire per lo sviluppo dell’applicazione da inviare in produzione.
In definitiva GAI e piattaforme LC/NC sono due potenti strumenti che integrati consentiranno di rendere ancora più efficiente lo sviluppo del software.
Gestire processi estesi: 2 casi d'uso
CASO 1 – Estendere i processi al di fuori della propria organizzazione
Abbiamo già introdotto il tema dei processi estesi o interaziendali, ovvero di quei processi che si estendono oltre i confini dell’organizzazione (magazine n°43).
Questi processi, ricordiamo, possono includere la collaborazione e lo scambio di informazioni tra aziende o entità per creare valore per tutti i soggetti coinvolti. Li possiamo individuare per esempio nella gestione delle catene di approvvigionamento che coinvolge fornitori, ma anche nella gestione delle relazioni con i clienti, nelle partnership commerciali (con partner o agenti), nella collaborazione interaziendale, la logistica condivisa, il coordinamento di progetti tra organizzazioni diverse, o anche in alcune attività del Recruiting.
La gestione efficace di tali processi la si ottiene, utilizzando adeguati strumenti che consentano di governare e monitorare l’intero flusso di business, evitando una molteplicità di sistemi ed una ridondanza di informazioni.
Abbiamo raccontato, in precedenza, del caso d’uso di gestione preventivi, oggi guarderemo al caso d’uso della gestione richieste dei clienti dove gli attori esterni sono i clienti di una organizzazione ed anche i consulenti esterni che lavorano per conto di questa organizzazione.
CASO 2 – Gestione richieste clienti
Aree aziendali interessate: trasversale alle aree
Le esigenze organizzative
Siamo in uno studio di commercialisti ed in questo ambito, così come in tanti altri contesti, accade che il cliente ha da sottoporre tante richieste ai consulenti; dalla richiesta di documentazione alla istruttoria di alcune pratiche di natura diversa. Alcune di queste richieste hanno dei tempi specifici di evasione legati a scadenze fiscali/normative e in generale la loro lavorazione viene assegnata, a seconda dell’ambito o delle competenze sul cliente, ad un consulente specifico.
Inoltre, alcune tipologie di richieste necessitano della sottoscrizione di un contratto specifico con il cliente, altre possono essere evase direttamente, a fronte di un contratto generale già sottoscritto dal cliente. Anche il consulente, non essendo un dipendente dello studio, potrebbe necessitare di un contratto specifico per essere ingaggiato su di una pratica.
Il modo più comunemente usato per gestire questo processo è altamente destrutturato e si può ricondurre alle seguenti attività principali:
- Il cliente contatta lo studio o via e-mail o telefonicamente formulando la richiesta con il suo linguaggio;
- Qualcuno si occupa di raccogliere la richiesta, valutarla ed indirizzarla via e-mail al consulente;
- Se necessario qualcuno si occupa di: redigere e far sottoscrivere un contratto al cliente e/o redigere e far sottoscrivere un contratto al consulente.
- Il consulente ingaggiato deve rispondere alla richiesta entro determinati tempi indicati;
- Il cliente deve ricevere l’esito della sua richiesta solo al termine della lavorazione.
I clienti partecipano indirettamente al flusso ed hanno un modo assolutamente libero per l’ingaggio, così come l’ingaggio dei consulenti avviene semplicemente via e-mail. L’assegnazione delle pratiche avviene in assenza di una visione organica.
Si può bene osservare come una gestione non strutturata di un processo di questo tipo può portare a diverse problematiche, influenzando negativamente l’efficienza e l’efficacia complessiva, con ricadute dirette sulla soddisfazione del cliente:
- Disorganizzazione e incomprensione: le richieste dei clienti potrebbero essere gestite in modo disorganizzato, rendendo difficile l’interpretazione, il tracciamento e la risoluzione tempestiva;
- Rischi di smarrimento: c’è il rischio che le richieste siano smarrite o trascurate, con conseguente insoddisfazione del cliente e perdita di opportunità di business;
- Assegnazione inefficace delle risorse: potrebbe essere difficile assegnare in modo efficace le risorse umane e temporali necessarie per gestire le richieste dei clienti, portando a ritardi e a una scarsa qualità del servizio;
- Difficoltà nella ricerca e nella elaborazione dei documenti: potrebbe essere complicato o dispendioso cercare o condividere i documenti e i dati dei clienti;
- Difficoltà nel monitoraggio: La mancanza di un adeguato tracciamento può rendere complicato il monitoraggio dello stato delle richieste e delle prestazioni complessive dei processi, rendendo difficile l’identificazione delle aree che richiedono miglioramenti.
La soluzione
Provando a strutturare adeguatamente questo processo e a gestirlo con uno strumento di process e document automation come Jamio un’organizzazione può efficientare la gestione delle richieste dei clienti, aumentando la soddisfazione del cliente e la sua reputazione.
Il flusso precedentemente decritto diventa il seguente.
- Il cliente contatta lo studio attraverso un form strutturato che lo guida nella richiesta o telefonicamente formulando la richiesta con il suo linguaggio e qualcuno (anche un bot) si occupa riportare la richiesta nel form;
- Il sistema si occupa di assegnare in modo automatico la richiesta al consulente preposto, in alternativa, se la richiesta è di carattere particolare, qualcuno la valuterà e la indirizzerà al consulente tramite sistema;
- Il consulente riceve una e-mail automatica per l’ingaggio,
- Il cliente riceve una e-mail automatica di notifica dell’avvenuta presa in carico;
- Laddove necessario, il sistema provvede ad auto comporre, inviare ed eventualmente anche raccogliere i contratti per l’ingaggio verso il cliente e/o verso il consulente e a gestire l’evasione solo dopo la raccolta dell’opportuna documentazione contrattuale;
- Il consulente ingaggiato riceve in modo automatico indicazione dei tempi di lavorazione, indica i tempi effettivi e deposita il risultato del suo lavoro sempre nel sistema;
- Il cliente riceve l’esito della sua richiesta attraverso una e-mail di notifica automatica con un link al sistema dove potrà sempre consultare gli esiti delle sue richieste;
- Sempre in modo tracciato sono gestite le eventuali interlocuzioni intermedie tra cliente ed il consullente.
Risulta palese che vengono così demandate ad un sistema informatico tutte quelle attività umane che comportano una perdita di tempo e margini di errore, come la raccolta della richiesta, la compilazione dei contratti partendo da template predefiniti, l’invio delle e-mail, lo smistamento delle attività sulla base di una classificazione delle richieste o di un consulente gestore del cliente.
Inoltre, la partecipazione al processo da parte degli attori esterni, i clienti ed i consulenti, diventa attiva, poiché il cliente imputa in maniera guidata la sua richiesta, Il consulente esegue l’ingaggio in modo guidato attraverso il sistema.
Ecco di seguito un elenco dei punti di intervento:
- Centralizzazione delle richieste: Tutte le richieste dei clienti vengono raccolte in un sistema centralizzato. Il cliente può inserire direttamente la richiesta in modo guidato o la stessa può essere inserita da un operatore a da un bot a seguito di una telefonata. Questo aiuta a tenere traccia di tutte le richieste in un unico luogo.
- Classificazione delle richieste: Le richieste vengono classificate in base al tipo di consulenza richiesta. Questo facilita la distribuzione efficiente delle richieste ai consulenti più adatti evitando perdite di tempo.
- Assegnazione automatica o manuale: il sistema può assegnare automaticamente le richieste ai consulenti in base alle loro competenze o potrebbe essere lasciata la possibilità di un’assegnazione manuale da parte di un responsabile.
- Tracciamento dello stato: Su ogni richiesta viene gestito automaticamente uno stato di avanzamento, con possibilità di monitorare il processo di evasione. Ciò aiuta a mantenere i clienti informati sullo stato delle loro richieste e migliora notevolmente l’immagine dell’organizzazione.
- Priorità delle richieste: Le richieste possono avere diversi livelli di priorità in base alla loro natura e all’urgenza.
- Comunicazione con il cliente: Un sistema di notifica automatica informa i clienti sull’avanzamento delle loro richieste.
- Archiviazione delle informazioni: Tutte le informazioni pertinenti relative alle richieste dei clienti sono archiviate in modo da poter essere recuperate facilmente in futuro per consultazione, analisi o per rispondere a richieste simili.
- Sicurezza e riservatezza: Il sistema garantisce la sicurezza e la riservatezza delle informazioni a partire da un accesso sicuro.
- Reportistica e analisi: Un sistema di reportistica potrebbe essere implementato per analizzare le prestazioni del processo, identificare tendenze e prendere decisioni informate per migliorare l’efficienza complessiva.
I vantaggi
- riduzione dei tempi di gestione
- riduzione degli errori
- controllo sul processo
- elevazione della branding reputation da parte del cliente
- Condivisione immediata di Dati e Documenti
- Impiego degli operatori in attività a maggior valore aggiunto
- Efficienza organizzativa
Novità in arrivo per il nuovo corso base su Jamio
È in fase di definizione il nuovo corso base Jamio, un’attività in cui continua l’impegno di Openwork nel rendere la tecnologia no-code accessibile e intuitiva per chiunque voglia dar vita alle proprie idee digitali, indipendentemente dal proprio background.
Visione e Creazione
Più di una semplice introduzione al no-code con una visione chiara: che tu sia un imprenditore, un creativo, o semplicemente un appassionato di tecnologia, il corso Jamio è progettato per aprire le porte a un mondo di possibilità creative abbattendo le barriere tecniche che rendevano lo sviluppo software un’attività riservata ai soli programmatori professionisti.
Anche se il corso è ancora in fase di definizione, si stanno creando le fondamenta per concepirlo con un approccio pratico e interattivo all’apprendimento. Con nuovi contenuti, prove intermedie, esercitazioni, i partecipanti saranno immersi in un ambiente in cui potranno sperimentare direttamente con gli strumenti no-code, guadagnando non solo conoscenza, ma anche fiducia nelle proprie capacità di costruire soluzioni digitali innovative. Il nuovo corso base avrà lo scopo di fornire una comprensione completa di come sfruttare al meglio la piattaforma Jamio per creare soluzioni digitali innovative.
Stay tuned!
Con questo nuovo approccio, il corso base Jamio rappresenterà una migliore opportunità di apprendimento volta ad effettuare un ulteriore passo verso la democratizzazione dello sviluppo software.
“La tecnologia elastica che fa scorrere i processi aziendali”. Aruba Enterprise presenta Openwork
Da sempre la mission delle tecnologie Openwork si focalizza sull’approccio strategico alla definizione e ottimizzazione dei processi aziendali attraverso linguaggi visivi in sostituzione dei linguaggi di programmazione (approccio no-code). In breve tempo dal lancio della piattaforma di BPM Jamio openwork, e la conseguente traiettoria di crescita dei volumi di dati e di traffico, hanno reso evidente la necessità di affiancarsi a infrastrutture e servizi sempre più performanti e sicuri, come quelli offerti dal Cloud Server di Aruba.
Sono trascorsi già diversi anni dalla migrazione di alcuni servizi della piattaforma Jamio sul Virtual Private Cloud di Aruba che, grazie alla capacità di restare perfettamente allineata alle esigenze di Openwork, valorizza la collaborazione con Aruba Enterprise continuando a dare certezze non solo sull’aspetto funzionale ma anche dal punto di vista strategico, quindi, legato alle certificazioni richieste dai diversi clienti Jamio (ad esempio le pubbliche amministrazioni) per il rispetto di specifiche conformità.
Tutto questo è stato ampiamente spiegato su enterprise.aruba.it attraverso un case study dedicato ad Openwork, alla sua piattaforma Jamio e ai servizi certificati del partner tecnologico Aruba Enteprise, un approfondimento reso possibile grazie anche alla preziosa collaborazione di Alessandro Cortese, IT & Devops Director di Openwork.