Cos’è il Modern Workplace?
Con “Modern Workplace” facciamo riferimento a un ambiente di lavoro che sfrutta tecnologie avanzate per migliorare la produttività, la collaborazione e la flessibilità. Grazie all’uso di strumenti digitali, piattaforme di comunicazione, soluzioni di cloud computing e applicazioni di intelligenza artificiale, si cerca di facilitare il lavoro da remoto, la gestione dei progetti e la condivisione delle informazioni.
Un mood che si estende anche a una cultura aziendale che supporta il benessere dei dipendenti, promuove l’innovazione e adotta pratiche di lavoro agili.
Un esempio classico è un’azienda di sviluppo software che utilizza una combinazione di strumenti e pratiche per ottimizzare il lavoro dei propri dipendenti:
- Cultura aziendale: Promuovono una cultura di flessibilità, offrendo opzioni di lavoro da remoto, orari di lavoro flessibili e iniziative per il benessere dei dipendenti, come programmi di fitness e supporto per la wellness.
- Strumenti di comunicazione e collaborazione: L’azienda utilizza software specifici per le riunioni virtuali, la messaggistica istantanea e la collaborazione sui documenti. I dipendenti possono facilmente condividere file, discutere idee e tenere traccia delle attività di progetto in un’unica piattaforma.
- Soluzioni cloud: I dati e i progetti sono archiviati nel cloud, consentendo ai dipendenti di accedere alle informazioni da qualsiasi luogo e in qualsiasi momento. Questo facilita il lavoro da remoto e l’accesso sicuro ai dati aziendali.
- Gestione dei progetti: Utilizzano strumenti come Jira, Planner, SharePoint lists (Task Tracker) per la gestione dei progetti, dove i team possono creare task, assegnare responsabilità e monitorare lo stato di avanzamento in tempo reale.
- Intelligenza Artificiale e automazione: L’azienda implementa bot di AI per gestire richieste di assistenza interna, automatizzare compiti ripetitivi e fornire analisi dei dati. Questo libera tempo per i dipendenti, permettendo loro di concentrarsi su attività più strategiche.
In un mondo ideale, il modern workplace non solo migliora l’efficienza operativa, ma crea anche un ambiente di lavoro dinamico e sostenibile che può adattarsi rapidamente ai cambiamenti del mercato e alle esigenze dei dipendenti.
Post pandemia è diventato un obiettivo strategico e sono stati tanti gli investimenti per accelerare questo processo; la spinta tecnologica è stata anche qui un game changer.
Ma avere una soluzione che vada bene per tutti a dei costi sostenibili è abbastanza utopistico, specialmente in un paese come l’Italia dove le normative sono abbastanza complesse da far desistere i suddetti colossi dall’imbarcarsi in customizzazioni del tutto antieconomiche, cosa che fa entrare in gioco aziende software sempre blasonate, ma con economie di scala sicuramente inferiori.
A seconda del budget, quindi, si possono interpellare aziende software di tutte le dimensioni per farsi fare il famoso vestito su misura con quello che oggi individuiamo come pro-code.
Cosa si intende per pro-code?
Col termine Pro-Code, coniato per distinguerlo velocemente dal low-code e dal no-code, facciamo riferimento a uno sviluppo software tradizionale che richiede una conoscenza di linguaggi di programmazione, framework e strumenti di sviluppo avanzati. Gli sviluppatori Pro-Code sono professionisti ‘classici’ che scrivono, testano e mantengono codice complesso per creare applicazioni, sistemi e soluzioni tecnologiche su misura.
I vantaggi del pro-code
Il Pro-Code offre numerosi vantaggi, tra cui la possibilità di creare soluzioni altamente personalizzate e scalabili, l’adozione di pratiche di sicurezza avanzate, la flessibilità di integrare diversi sistemi e servizi, e la capacità di ottimizzare le prestazioni delle applicazioni attraverso un controllo completo su ogni aspetto del codice. Inoltre, consente di affrontare esigenze aziendali complesse e specifiche, migliorando l’efficienza operativa e permettendo alle aziende di adattarsi rapidamente ai cambiamenti del mercato e alle nuove opportunità tecnologiche.
Gli svantaggi del pro-code
D’altra parte, però, richiede competenze tecniche avanzate e un maggiore investimento di tempo e risorse. L’alto costo di sviluppo dovuto alla necessità di competenze tecniche avanzate, tempi di implementazione mediamente lunghi, una maggiore complessità nella gestione e manutenzione del codice, e il rischio di dipendenza da sviluppatori specifici per la continuità e l’aggiornamento delle applicazioni. Inoltre, l’elevata personalizzazione può complicare la scalabilità e l’integrazione con altri sistemi aziendali. Il ROI è spesso sovrastimato e sono molti i costi ‘nascosti’ tipici dello stare su mercati in perenne evoluzione.
Quando è meglio usare il pro-code
Il Pro-Code rimane la scelta preferita in diverse situazioni dove è richiesta una maggiore personalizzazione, controllo e scalabilità e si ha a disposizione un budget adeguato. Un caso tipico è quando l’applicazione ha requisiti altamente specifici e complessi che non possono essere facilmente soddisfatti con altre soluzioni e che richiedono un controllo dettagliato sul codice.
Oppure per applicazioni su larga scala che devono gestire un elevato volume di utenti, dati o transazioni ed hanno criticità tipiche dei sistemi complessi come infrastruttura e controllo degli effort tali da richiedere un’attività di monitoring dedicata e costante.
Un altro caso si ha quando l’applicazione deve integrarsi con sistemi esistenti o legacy che hanno specifiche esigenze di comunicazione, sicurezza e compatibilità, come succede spesso nel settore bancario o in contesti industriali che fanno riferimento a standard tipici di determinati scenari o utilizzano prodotti proprietari.
Come abbiamo visto, anche un contesto in rapida evoluzione che necessità di aggiornamenti frequenti e personalizzati è preferibile adottare soluzioni che permettano cambiamenti di codice in tutta sicurezza.
Come l’AI generativa sta cambiando l’approccio pro code
L’intelligenza artificiale generativa sta trasformando radicalmente l’approccio Pro-Code, introducendo nuove possibilità e migliorando l’efficienza degli sviluppatori. Questi possono concentrarsi su compiti più creativi e complessi, mentre l’AI si occupa delle attività ripetitive e del supporto tecnico. Ciò non solo accelera i tempi di sviluppo, ma migliora anche la qualità complessiva del software, riducendone sensibilmente il costo.
Strumenti di AI come GitHub Copilot e OpenAI Codex riducono il tempo necessario per scrivere codice ripetitivo migliorando l’autocompletamento con suggerimenti più contestuali. Inoltre, l’analisi del codice individua errori o vulnerabilità potenziali, suggerendo soluzioni o correzioni. In più, aiuta nei test automatizzati, nel refactoring, nell’assistenza alla documentazione, nel pair programming e in molti altri aspetti costantemente e senza interruzione di continuità.
Non male se si pensa che fino a poco tempo fa era l’unica possibilità di avere un sistema integrato, scalabile, sicuro e conforme. Poi è arrivato il Low-Code.
Cosa si intende per low-code?
Il termine Low-Code è stato introdotto ufficialmente nel 2014 dalla società di ricerca e consulenza Forrester Research. Forrester ha coniato il termine per descrivere piattaforme di sviluppo che permettono di creare applicazioni software con una quantità minima di codice manuale, utilizzando invece strumenti visivi e componenti predefiniti per accelerare il processo di sviluppo.
Da allora, il concetto di Low-Code ha guadagnato crescente popolarità, portando alla proliferazione di numerose piattaforme e soluzioni che mirano a rendere lo sviluppo di applicazioni più accessibile e rapido per un’ampia gamma di utenti, dalle piccole imprese alle grandi organizzazioni.
I vantaggi del low-code
L’adozione del Low-Code offre numerosi vantaggi, tra cui la velocità di sviluppo, riducendo drasticamente i tempi necessari per creare applicazioni rispetto ai metodi tradizionali. Riduce i costi di sviluppo e manutenzione grazie alla diminuzione della necessità di sviluppatori altamente specializzati e alla loro gestione. Migliora la flessibilità, consentendo rapide modifiche e adattamenti in base alle esigenze aziendali in continua evoluzione. Inoltre, rende lo sviluppo accessibile anche a utenti non tecnici, facilitando la collaborazione e permettendo interazioni rapide per migliorare continuamente le applicazioni.
Personalmente, il coinvolgimento del personale non specializzato nella trasformazione del sistema informativo aziendale è il vantaggio più palpabile in quanto non ci sono sconvolgimenti nella cultura aziendale e, soprattutto, nessuno lamenta sovrapposizioni o sostituzioni nei ruoli.
Si ma…gli svantaggi del low-code
L’adozione del Low-Code presenta alcuni svantaggi, tra cui le limitazioni di personalizzazione che potrebbero non soddisfare applicazioni altamente specifiche o complesse. La scalabilità può essere un problema per le soluzioni che devono gestire grandi volumi di utenti o dati. Inoltre, le aziende possono diventare dipendenti dalla piattaforma Low-Code scelta, rendendo difficile la migrazione ad altre soluzioni.
Altri aspetti cruciali riguardano il supporto continuo, gli aggiornamenti e la manutenzione garantita dal fornitore del software. Le piattaforme low-code sono progettate per accelerare la creazione di applicazioni e migliorare l’accessibilità dello sviluppo software, ma la loro efficacia e il loro valore dipendono fortemente dalla qualità del supporto post-vendita offerto, funzionalità aggiuntive, integrazioni e moduli speciali possono richiedere licenze separate o costi aggiuntivi. Alcune piattaforme low-code, per esempio, addebitano costi per utente o per sviluppatore, il che può aumentare rapidamente se l’adozione della piattaforma si espande .
E quindi l’AI generativa cambia anche il low code?
Sì, e poiché si tratta di una tecnologia che sfrutta velocità e scalabilità, l’impatto dell’AI generativa è, se possibile, maggiore.
In un’azienda che utilizza una piattaforma Low-Code potenziata dall’AI, un manager senza conoscenze di programmazione può descrivere un’applicazione desiderata. L’AI generativa interpreta queste descrizioni, suggerisce componenti predefiniti, genera automaticamente codice e crea flussi di lavoro ottimizzati. Durante lo sviluppo, l’AI offre suggerimenti per migliorare l’interfaccia utente e automatizza i test per garantire che l’applicazione funzioni correttamente. Una volta distribuita, l’applicazione è monitorata continuamente dall’AI per identificare e correggere eventuali problemi, assicurando così un’elevata qualità e affidabilità.
Sembra quasi naturale avere un prodotto che impatta sulla generazione del codice con suggerimenti contestuali partendo da una progettazione resa più facile dai suggerimenti di interfacce utente più intuitive e user-friendly, analizzando le migliori pratiche e suggerendo layout ottimali. Il tutto usufruendo di una prototipizzazione ultra rapida.
Unire i due approcci in un unico prodotto è possibile?
Naturalmente, il meglio si ottiene in un mix ideale di entrambi gli approcci. Specialmente se si parte da una suite matura come gli strumenti offerti da Microsoft, che permettono di coniugare i due mondi, i risultati possono essere sorprendenti.
Gli Hub di SharePoint, ad esempio, sono una funzionalità avanzata di Microsoft SharePoint Online che consente alle organizzazioni di collegare e organizzare diversi siti SharePoint all’interno di una struttura coerente e gestibile. Gli hub aiutano a migliorare la navigazione, la gestione dei contenuti e la coerenza grafica tra i vari siti correlati.
Inoltre offrono numerosi vantaggi dal punto di vista della sicurezza, migliorando la protezione dei dati e semplificandone la gestione, permettendo di applicare in modo uniforme le policy a tutti i siti collegati. Questo assicura che le impostazioni di sicurezza siano coerenti e conformi alle normative aziendali, grazie anche al fatto che gli amministratori possono gestire le autorizzazioni da un’unica posizione centrale, riducendo il rischio di configurazioni errate e migliorando l’efficienza, ottenendo un controllo più raffinato e preciso degli accessi ai vari siti collegati.
Su ciascuno si possono dare permessi a gruppi o utenti specifici, assicurando che solo le persone autorizzate abbiano accesso ai dati sensibili, mantenendo la conformità con le normative sulla protezione dei dati (come GDPR e HIPAA) in maniera semplice e supervisionata grazie anche a un monitoraggio centralizzato, che consente di identificare rapidamente attività sospette o non autorizzate.
Cos’è e come funziona Recyc-AI
La combinazione di pratiche lavorative moderne, nel caso specifico SharePoint Hub e gli assistenti digitali offrono un’opportunità significativa per aumentare la produttività, semplificare i processi e quindi aumentare il benessere dei propri collaboratori. Questo si può vedere ad esempio in ‘Recyc-AI’, un assistente digitale realizzato dal Gruppo Danieli a cui si possono chiedere informazioni su progetti, diversi tipi di documenti relativi ad attività dettagliate relative a questi, selezionandoli per cercare foto e video.
Tutto ciò che bisogna fare è aprire la chat su Microsoft Teams e chiedere quello di cui si ha bisogno e in pochi semplici passaggi tutto ciò che è relativo al progetto verrà proposto nella chat o tramite link di navigazione allo SharePoint
Di rilevanza, la sicurezza by design, ovvero, l’assistente risponde in base ai permessi e visibilità dell’utente.
Gli hub di SharePoint, sono un centro di organizzazione e gestione delle informazioni aziendali, devono quindi essere progettati e gestiti con un alto livello di sicurezza integrato applicando quello che è comunemente conosciuto come ‘security by design’ un principio di ingegneria e sviluppo software che implica l’integrazione delle misure di sicurezza fin dalle prime fasi del ciclo di vita del prodotto. Questo approccio assicura che la sicurezza non sia un’aggiunta successiva, ma una componente fondamentale del design e dell’architettura del sistema. Ed è questo principio che pervade la progettazione e la realizzazione di Recyc-AI.
Combinazione di Low-code e pro-code
Durante il processo vengono utilizzati strumenti quali: Azure AI Search, Azure Open AI, Azure Cognitive Services, SharePoint Indexer online, Power Automate, i canali di sviluppo di Teams ed altre librerie interne, mantenendo un approccio RAG (Retrieval-Augmented Generation), una tecnica avanzata nel campo dell’intelligenza artificiale che combina il recupero di informazioni (retrieval) con la generazione di testo (generation).
Questo approccio è particolarmente utile per migliorare la qualità e la pertinenza delle risposte generate dagli LLM, utilizzando informazioni pertinenti recuperate da un corpus di dati preesistente.
Conclusioni: I benefit
A seconda dell’azienda in cui Recyc-AI si troverà ad operare, i benefici saranno diversi:
- Migliore gestione delle informazioni:
- Accesso rapido ai dati.
- Dati organizzati in modo più efficace.
- Aumento della produttività:
- Automazione delle attività.
- Migliore condivisione delle conoscenze.
- Centralizzazione delle informazioni in un’unica piattaforma.
- Risposte contestuali alle domande.
- Integrazione di informazioni da diverse fonti di SharePoint in risposte coerenti.
- Gestione e monitoraggio delle autorizzazioni di accesso:
- Accesso limitato a persone autorizzate.
- Analisi dell’utilizzo dei documenti e delle informazioni su SharePoint.
- Fornitura di insight utili per migliorare i processi aziendali.
In sintesi, Recyc-AI beneficerà di una gestione delle informazioni più efficiente, una produttività aumentata e una migliore sicurezza e analisi dei dati.