Contattaci
Lasciaci i tuoi riferimenti, saremo felici di contattarti il prima possibile e organizzare una consulenza gratuita.
App tattiche di supporto alla gestione dei progetti reiterativi
In questo articolo trattiamo il tema delle applicazioni, definite “tattiche”, che servono da supporto alla gestione dei progetti che coinvolgono processi di tipo reiterativo.
Cosa sono le "app tattiche"
Le app tattiche sono applicazioni che cercano di risolvere alcune problematiche riguardanti il controllo di progetti che coinvolgono un grande numero di attori e oggetti, che interagiscono con modalità simili, ripetute nei vari ambiti operativi.
L’origine di questa idea di applicazione
Il contesto operativo
Alcuni anni fa, nel 2018, siamo stati ingaggiati da una grande banca italiana, che necessitava di consulenza su progetti di innalzamento della baseline di sistema operativo dei propri server Windows.
Le problematiche
Le problematiche che si presentavano in modo evidente erano legate essenzialmente a:
- Un grande numero di server da aggiornare;
- Un notevole numero di prodotti che venivano gestiti nella migrazione;
- Un numero di interlocutori distribuiti su vari progetti (chiamati dal cliente “Acronimi”);
- Esigenze operative diverse, con vincoli sugli orari di intervento;
- Informazioni sparse, frammentarie e settoriali.
Le esigenze
Analizzando le problematiche che la realizzazione del progetto presentava, ci siamo accorti che occorreva razionalizzare e raccogliere le informazioni. Occorreva inoltre gestire la pianificazione ed il controllo delle attività, cercare di rendere più semplici ed automatiche le operazioni di migrazione.
La soluzione: Access-VBA
Per soddisfare le esigenze precedenti, all’epoca si decise in autonomia di implementare una soluzione che aiutasse il tema di progetto. Dal momento che non si voleva gravare l’Istituto committente con richieste di risorse di sviluppo e conseguenti lungaggini burocratiche, che cozzavano contro il poco tempo a disposizione, si scelse di utilizzare come strumento di sviluppo MS Access e VBA (Visual Basic for Application), già presente su tutte le workstation degli utenti destinatari dell’applicazione stessa.
I benefici di queste applicazioni
Implementando la soluzione si sono tenuti presenti determinati obiettivi, che si sono poi manifestati in modo evidente tramite l’utilizzo della stessa, da parte del personale del team di progetto. Possiamo quindi elencarli nei paragrafi seguenti.
Information Focal Point
L’app ha consentito di centralizzare le informazioni, precedentemente sparse su siti diversi, con formati diversi, di proprietà a volte privata, non accessibili a tutti quelli che ne necessitavano. Con quanto implementato, tutti gli utenti del team sono stati dotati di uno strumento che consentiva la completa operatività e dava la certezza di trovare in un solo luogo tutte le informazioni che servivano a svolgere le operazioni.
Integrazione con repository informativi aziendali
I dati utilizzati dall’applicazione per la definizione del perimetro dei progetti, l’individuazione dei relativi interlocutori responsabili, le fasce orari di intervento e le macchine coinvolte, sono stati ricavati integrando alcune sorgenti di dati istituzionali. Nella fattispecie si tratta di:
- MyAPM, repository istituzionale dei dati relativi ai progetti (“Acronimi”);
- CMDB, repository istituzionale dei dati relativi ai servizi sistemistici;
- BigFix, repository dei dati relativi all’hardware utilizzato per l’erogazione dei servizi stessi.
Process Automation
Questi progetti coinvolgono un gran numero di oggetti e persone, ma in genere le operazioni da fare sono tutto sommato ripetibili su larga scala, per cui si prestano ad essere automatizzate in modo abbastanza semplice.
Per ogni Acronimo, si parte dall’ingaggio del personale responsabile, si effettua una riunione preliminare in cui si discutono i vari aspetti tecnici e si pianificano le varie attività. A fronte della pianificazione si devono gestire in conseguenza gli approvvigionamenti di hardware e software necessari.
Tutti questi processi vengono gestiti in genere via mail, controllando e gestendo i cambi di stato dei relativi processi informativi.
L'app, tramite opportuni template consente la gestione dei processi e permette la pianificazione delle attività nel modo più possibile automatizzato, sgravando l’utente dalle operazioni più noiose, riducendone le possibilità di errore.
Real Time Project Control
L’app, dando la possibilità di una pianificazione fine delle attività progettuali, unita al fatto che alcuni cambi di stato delle stesse vengono gestiti in modo automatico e soprattutto con uno stretto controllo dei dati da parte dei Project Managers, consente di osservare tramite le sue dashboards lo stato reale ed attuale del progetto stesso.
Queste funzionalità sono particolarmente utili quando si devono produrre report per il management, che in genere vuole sapere l’andamento del progetto in relazione al rispetto delle tempistiche pianificate.
Sviluppo in modalita' DevOps
Con l’utilizzo dell’app da parte degli utenti, sorgono continuamente idee su nuove funzionalità, modifiche alle esistenti e correzioni di eventuali bug.
La modalità di sviluppo dell’app e la sua architettura consente di operare con rilasci continui, alla bisogna, non essendo inserita in complesse piattaforme di gestione del ciclo di vita del software.
Assoluta aderenza al soddisfacimento delle esigenze operative
L’app è stata sviluppata implementando le esigenze derivanti dall’operatività, da chi questa operatività realizza; quindi, sa perfettamente che cosa serve e le priorità con cui devono essere realizzate le funzionalità. Quindi l’implementazione è perfettamente ritagliata su quanto si deve fare e come lo si deve fare.
Esistono certo sul mercato dei softwares che permettono la gestione dei processi di questo tipo, ma in genere sono molto costosi e complessi. A fronte dell’acquisto oneroso mettono sicuramente in campo tantissime funzionalità che non servono nei casi specifici. E soprattutto non riescono invece a coprire funzionalità che sono invece necessarie. Il soddisfacimento di queste necessità costringe in genere ad ulteriori esborsi per customizzare adeguatamente il prodotto stesso.
Un esempio: il progetto di migrazione M&Q Series IBM
Visto il notevole successo di utilizzo dell’applicazione sviluppata, si è stati coinvolti nella realizzazione di altri progetti che manifestavano le stesse caratteristiche operative di quello relazionato in precedenza.
Abbiamo quindi approcciato il problema negli stessi termini, sviluppando app di gestione simili a quella di cui abbiamo parlato finora. Quella descritta nel seguito implementa la migrazione di versione di un prodotto IBM: M&Q Series.
Il contesto operativo
Il progetto prevedeva la migrazione del prodotto IBM M&Q Series dalla versione 8 alla versione 9.
La migrazione coinvolgeva circa 400 Acronimi, risultanti dall’analisi dei repository aziendali dei servizi informatici. Tale processo, a causa del sistema operativo presente sulle macchine da migrare, non poteva essere portato a termine ‘on place’ ma necessitava l’approvvigionamento anticipato delle macchine target delle operazioni.
Le operazioni da gestire ed automatizzare sono in massima parte simili a quelle del progetto originario: ingaggio degli interlocutori applicativi, riunione preliminare, gestione delle attività di migrazione.
Rispetto ai progetti precedenti, che prevedevano la gestione della migrazione di più componenti software, nella fattispecie risulta più semplice, perché si tratta di migrare una sola componente. Nel seguito si trovano le immagini di alcune videate dell’app sviluppata ad hoc.
Alcune videate
L’evoluzione tecnologica
Da quando si è cominciato a ideare questo tipo di applicazioni è passato parecchio tempo, circa 5 anni, che informaticamente parlando sono un lasso di tempo notevole.
Nel frattempo, gli strumenti informatici confacenti allo sviluppo di queste app, hanno raggiunto un livello molto elevato.
In particolare, facciamo riferimento alle piattaforme low-code e no-code che consentono di sviluppare app in modo semplice, adatto anche a persone senza elevate competenze di sviluppo.
Come gestire il cambiamento
In base a quanto detto in precedenza, occorre quindi prendere in esame le possibili soluzioni che il mercato mette a disposizione, per lo sviluppo di questo tipo di applicazioni di gestione.
Ma, ricordiamo, sempre nell’ottica di preferire la soluzione già presente ed utilizzata dal cliente. In alcuni casi sarà pure possibile e conveniente un’integrazione di più soluzioni di sviluppo.
Le possibili soluzioni
Le soluzioni possibili sono molteplici, in base al contesto aziendale del cliente in cui si opera.
Occorre tenere presenti le esigenze che si devono soddisfare e quali sono gli strumenti a disposizione dei singoli utenti. In genere troviamo molto facilmente strumenti di condivisione Microsoft, accompagnati dalla suite Office 365.
Ovviamente in altri contesti si potranno trovare altre soluzioni, ma teniamo sempre presente che per questo tipo di applicazioni è preferibile utilizzare quello che è presente, senza costringere il cliente a dotarsi di nuovi e costosi strumenti.
Nella fattispecie analizzeremo il prosieguo in ambito Microsoft, dal momento che attualmente operiamo su un cliente dotato di tutte le licenze necessarie ai nostri scopi.
La Microsoft Power Platform
Power Platform è una piattaforma intuitiva e collaborativa di Microsoft che include una serie di strumenti low-code per automatizzare rapidamente i processi e creare app e altre soluzioni utili per vari casi d'uso.
Power Platform incorpora tecnologie inclusive e altamente accessibili per l'uso aziendale quotidiano, consentendo agli utenti di creare nuove soluzioni aziendali end-to-end che offrono valore alle parti interessate e accelerano la crescita aziendale.
La Power Platform è composta da cinque applicazioni principali:
- Power Apps
- Power BI (Business Intelligence)
- Power Pages
- Power Automate
- Power Virtual Agents
La componente Power Apps
Power Apps è una piattaforma intuitiva che consente agli utenti di creare un’interfaccia utente per applicazioni mobili con funzionalità di trascinamento della selezione. Gli utenti hanno la possibilità di aggiungere vari controlli all’interfaccia utente come campi di scelta, caselle di testo, ecc.
Power Apps supporta anche altre funzionalità e dispositivi multimediali che possono aiutarti a sviluppare un’applicazione mobile avanzata
Usando Power Apps è possibile creare rapidamente app aziendali personalizzate che si connettono ai dati archiviati nella piattaforma di dati sottostante (Microsoft Dataverse) o in varie origini dati online e locali (ad esempio, SharePoint, Microsoft 365, Dynamics 365, SQL Server e così via).
La componente Power BI
Power BI è una raccolta di strumenti di Business Intelligence il cui scopo è quello di generare report per l’analisi dei dati aziendali a supporto dei processi decisionali.
Gli utenti possono esplorare i dati su cui si basano le dashboard, usando strumenti intuitivi che permettono di trovare facilmente le risposte.La componente POWER VIRTUAL AGENTS.
Power Virtual Agents è un chatbot facile e veloce da creare. È una funzionalità di Microsoft Power Platform, ma è disponibile anche in versione standalone.
La chatbot può essere utilizzata su diversi canali come intranet, Microsoft Teams o il tuo sito web.
La componente Power Automate
Power Automate è uno strumento che permette di rendere automatiche un ampio ventaglio di attività semplificando, velocizzando e ottimizzando i flussi di lavoro.
Il bello di Power Automate è che esso funziona sul cloud: le varie operazioni, ad esempio quelle di analisi dei dati, modifica di documenti, creazione di nuovi file, effettuazione di backup, invio di e-mail e così via possono essere impostate in maniera tale che vengano eseguite su server remoti senza quindi la necessità di dover mantenere acceso alcun PC.
La componente Power Pages
Power Pages è un prodotto che permettere la creazione di pagine e siti web moderni e sicuri anche a chi non ha nozioni di sviluppo software. Tramite la filosofia “low code”, ovvero con poche righe di codice e in modo visuale tramite strumenti di drag & drop semplici ed intuitivi, è possibile configurare, creare e pubblicare siti web che permettono di visualizzare e manipolare i dati provenienti da un database.
La componente infrastrutturale Power AI Builder
AI Builder è un tool che permette di costruire modelli di Intelligenza Artificiale all’interno di Power Automate. Permette di ottenere tutti i vantaggi della IA e di analizzare, ad esempio, direttamente gli allegati delle e-mail e di estrarre le informazioni dai documenti ricevuti.
La componente infrastrutturale Power Dataverse
Dataverse consente di archiviare e gestire in modo sicuro i dati che vengono utilizzati dalle applicazioni aziendali. I dati in Dataverse vengono archiviati all'interno di un set di tabelle
Dataverse consente l'integrazione dei dati da più origini in un singolo archivio che può quindi essere utilizzato in Power Apps, Power Automate, Power BI e Power Virtual Agents insieme ai dati già disponibili nelle applicazioni Dynamics 365.
La soluzione
Volendo portare in un contesto moderno le applicazioni descritte in precedenza, abbiamo scelto una piattaforma di sviluppo software Low-Code/No-Code, presente all’interno della suite di prodotti a disposizione presso il cliente.
In particolare, si tratta proprio della Microsoft Power Platform, di cui il cliente possiede tutte le licenze necessarie al suo utilizzo per gli scopi che ci siamo prefissi.
L’utilizzo di queste piattaforme di sviluppo consente di spostare il focus sul processo, invece che sulla programmazione. Diventa quindi importante l’analista di processo, a discapito del programmatore.
L’integrazione con le fonti dati e l’automazione dei processi è così forte e resa talmente semplice che anche un utente inesperto può creare app molto interessanti. Ovviamente, anche in questo caso, si possono creare applicazioni molto sofisticate e fortemente specializzate, che necessitano di gestione da parte di personale con skill più elevate.
La caratteristica di questo tipo di applicazioni, fortemente orientate all’operatività continua di un numero ristretto di persone che gestisce processi molto specifici con numerose richieste di adeguamenti al software, impone di adottare una modalità di sviluppo che contempli uno sviluppo agile e rilasci semplici e a ciclo continuo. In pratica, parliamo di DevOps.
Associate queste esigenze con l’adozione di un’architettura modulare, otteniamo un quadro che la piattaforma consente di “dipingere” completamente. Microsoft Power Platform, con tutte le sue componenti, mette a disposizione possibilità che consentono di soddisfare pienamente tutte le esigenze che abbiamo espresso in precedenza.
I benefici della Power Platform
Finora abbiamo parlato del perché abbiamo scelto Power Platform. Nel seguito andiamo ad elencare quello che riusciremo ad ottenere dall’implementazione delle “vecchie” applicazioni, portandole in Microsoft Power Platform, soprattutto evidenziandone gli aspetti che consentono di superare i limiti posti dall’infrastruttura di sviluppo precedente.
App moderna
I canoni estetici delle nuove interfacce sono evidenti rispetto a quanto si è sviluppato con le tecnologie preesistenti. Non si tratta solo di fattori estetici, ma anche ergonomici e di user experience, in quanto associati alla distribuzione delle nuove versioni del sistema operativo Windows.
Microsoft Power Platform, mette a disposizione un’oggettistica standard confacente con i nuovi dettami tecnologici imposti dal mercato. Si capisce a colpo d’occhio che si tratta di applicazioni “nuove”, più performanti, integrate, condivise ed ergonomiche.
Superamento dei limiti di Access/VBA
Ma è soprattutto in aiuto al superamento dei limiti tecnologici della vecchia piattaforma di sviluppo che Microsoft Power Platform ci dà una mano.
La soluzione Microsoft Access-VBA, pur possedendo esso molte prerogative interessanti, presenta diversi limiti: non consente l’allocazione dinamica degli oggetti, la gestione canonica delle classi, la gestione semplice di più fonti dati eterogenee, l’integrazione con gli strumenti moderni di condivisione, ecc.…
La Microsoft Power Platform ci consente di superare nativamente tutti i limiti di dinamicità ed integrazione elencati in precedenza, in modo semplice e intuitivo: ci sono connettori per i dati, collections per gli oggetti e repository in numero più che sufficiente agli usi che normalmente se ne deve fare.
Gestione di workflow e forms
Non parliamo poi della gestione e automazione dei processi, dove si vede un’evidente differenza rispetto alla vecchia tecnologia.
Nelle vecchie applicazioni MS Access non c’è nulla di nativo a riguardo: tutti i risultati ottenuti in questi ambiti sono frutto di mera programmazione.
Power Automate, istruito in modo adeguato, “ci pensa” a livello talmente alto che il programmatore non è più necessario. Arriva l’analista di processo che modella i flussi sulla base delle sue esigenze, che conosce nel profondo, senza doverle spiegare a terzi.
Per recuperare dati da interlocutori esterni, umani, abbiamo a disposizione moduli e form che permettono di evitare il fastidioso andirivieni di mail e le conseguenti perdite di tempo.
Con il controllo in tempo reale dei flussi di lavoro è possibile capire molto più velocemente dove intervenire se ci sono ritardi e situazioni operative da sbloccare.
Integrazione con Office 365, Teams, Outlook
Un altro aspetto fondamentale dell’adozione di Microsoft Power Platform è l’integrazione nativa con il sistemo operativo Windows, in termini di sicurezza e gestione delle capacità operative degli utenti, in pratica la gestione dei ruoli. Questo è molto importante quando andiamo a operare in contesti che richiedono un alto livello di sicurezza e segretezza, come le aziende del settore militare e finanziario.
L’integrazione di queste apps con il mondo della condivisione Microsoft è totale: le app possono essere esposte direttamente in Teams, utilizzare elenchi e file caricati in SharePoint, gestire mail con Outlook…
In pratica siamo all’interno di Office 365 e ne abbiamo a disposizione tutte le funzionalità.
Migliore qualita' delle dashboard e integrazione con Power BI
In ottica, ed in estensione, di quanto detto in precedenza, l’attenzione all’esposizione dei risultati, nella fattispecie i risultati del lavoro fatto sul progetto che ogni app gestisce, usufruisce della possibilità messe a disposizione dalle dashboard e reportistica di Power BI.
Essendo il prodotto Microsoft che si occupa della gestione dei dati rivolto alla Business Intelligence, mette a disposizione tutto il necessario per risolvere ogni esigenza di esposizione dei dati che questo tipo di processi richiedono. Anche molto di più di quanto necessario per i normali utilizzi di reportistica riassuntiva per il management.
Facile condivisione dei documenti
La forte integrazione con SharePoint consente di gestire in modo agevole delle “viste” sui documenti, anche di natura, tipo e provenienza diversa.
Ci viene permesso così di organizzare le proprie Knowledge Base, con quanto serve a risolvere le esigenze di focal points informativi organizzati, specializzati per argomento, ufficio, attività, ecc...
Un esempio: l’attualizzazione dell’app per M&Q Series IBM.
Il contesto operativo
Il contesto operativo è quello descritto per l’app di gestione vista nei capitoli precedenti.
Partendo da quella base, abbiamo fatto il porting su Power Platform delle funzionalità che erano a disposizione degli utenti dell’ufficio “Progettazione DC” che si occupano del progetto di migrazione della versione di M&Q IBM.
Sono state inoltre aggiunte alcune particolarità per adeguare e migliorare alcuni comportamenti e facilitare l’erogazione delle automazioni.
Nel seguito sono visualizzate alcune immagini con le schermate che l’app Power Platform mette a disposizione in cui emerge in modo evidente la modernità dell’interfaccia utente e la completezza delle informazioni esposte, soprattutto nella parte che gestisce il calendario settimanale delle migrazioni.
Alcune videate
La nostra proposta: app tattiche di gestione
Dopo aver visto l’origine e l’evoluzione di queste app di gestione dei processi reiterativi, andiamo a delineare quale può essere il contributo che esse possono dare in casi di applicazione concreti.
Il contesto operativo
Iniziamo con il dire che simili problematiche riguardano tutti i contesti operativi complessi, cioè quelli in cui siano presenti un grande numero di oggetti, eventi e processi da gestire. In genere, quindi, ci si trova in presenza di clienti di categoria Enterprise.
Preso atto della complessa realtà dell’interlocutore, ci si trova in presenza di elevata “confusione” informativa, con una molteplicità e eterogeneità delle fonti da gestire.
Per la natura dei processi da gestire, vi è una elevata necessità di automazione degli stessi, che presentano peculiarità adeguate a ottenere buonissimi risultati con quanto ci si prefigge di fare. L’obiettivo è ridurre drasticamente l’intervento umano nella gestione delle informazioni, con conseguente decadimento della durata delle operazioni e della possibilità di errore nello svolgerle.
Rendendo semplice e accurata la raccolta e la memorizzazione delle informazioni del progetto, si rende evidente anche la sua accuratezza nel controllo delle attività con l’esposizione real time dei risultati ottenuti al momento. La presentazione dei dati sullo stato attuale del progetto, che senza queste app risulta laboriosa ed onerosa in termini di tempo, diventa facilissima e veloce, realizzata con qualche click.
Il target
La nostra proposta per questa tipologia di app di gestione interessa:
- Tutti i clienti “complessi”, di qualsiasi dimensione, non necessariamente Enterprise;
- Tutti i contesti in cui ci sono da governare processi “complessi”: tanti oggetti e tanti interlocutori, con le stesse modalità;
- Tutte le realtà che necessitano di razionalizzazione, automazione e controllo delle attività e delle relative informazioni.
I punti chiave della proposta
Ricapitoliamo nel seguito le prerogative chiave della nostra proposta:
- Risoluzione del caos informativo con un’app che farà da Focal Point;
- Risoluzione delle necessità di controllo real-time del progetto;
- Risoluzione delle necessità di automazione dei processi ripetitivi;
- Sviluppo CON il cliente, in assoluta aderenza alle esigenze operative;
- Utilizzo dell’infrastruttura software esistente, salvaguardando gli investimenti;
- Sviluppo in modalità Agile e paradigma DevOps;
- Risparmio di tempo, di skill e di risorse nelle attività operative.