Introduzione
Nelle organizzazioni organizzate e gestite per processi (process-centric) le iniziative di business process change vengono istanziate con lo scopo di progettare/riprogettare e migliorare le prestazioni dei processi di business e realizzare così un ciclo di miglioramento continuo.
Nella realizzazione di questi progetti, i sistemi software che vanno sotto il nome di Business Process Management System (o Suite), ossia i BPMS, assumono un ruolo chiave, soprattutto nelle fasi finali del progetto quando la soluzione definita prevede l’automazione del processo oltre che eventuali cambiamenti di carattere organizzativo o a livello di risorse umane.
I primi BPMS sono stati proposti al mercato agli inizi degli anni Novanta e rappresentano oggi uno strumento di Business Process Management da cui non si può prescindere, non solo per quanto riguarda l’esecuzione del day-to-day.
Business Process Management Systems
“I sistemi software che oggi rientrano nella categoria riferita con il termine Business Process Management System (BPMS) sono quei sistemi costituiti da una suite di moduli integrati per il workflow management, per l’integrazione dei sistemi (Enterprise Application Integration, EAI), per la modellazione dei processi di business, per il monitoraggio delle prestazione dei processi” [1].
In essenza un BPMS è un sistema che, come minimo:
- permette ai business manager, ai business analyst o alle persone IT di definire un modello di un processo di business;
- all’accadere di un determinato evento organizzativo, è in grado di creare un’istanza (detta anche case) del modello del processo, di eseguirne l’esecuzione step by step instradando e assegnando le attività ai relativi responsabili, garantendo al contempo il rispetto delle regole di business definite;
- permette un’iterazione mediante delle interfacce grafiche tra gli utenti e l’istanza del processo in cui vengono gestiti e visualizzati i dati relativi all’entità di business/documento (reclamo, richiesta prestito, documento, etc.) gestito dal processo e che solitamente vengono memorizzati in una base dati;
- permette di orchestrare e scambiare dati tra l’istanza del processo e gli altri sistemi, dell’organizzazione, ma anche esterni a questa, al fine garantire il coordinamento e/o l’allineamento tra gli stessi.
In figura 1 viene mostrato un modello schematico dei concetti appena espressi.
Di seguito, andremo a caratterizzare meglio i BPMS e a vedere più nel dettaglio quali sono gli elementi che tipicamente ne compongono l’architettura.
Architettura di un BPMS
La figura 2 (da [1], adattata dall’autore) presenta schematicamente l’architettura di un Business Process Management System evoluto:
Utilities
Il livello più alto è quello delle Utilities che può essere scomposto principalmente in quattro elementi:
- Process Modelling Environment
- Development Environment
- Process Monitoring Enviroment
- Management Enviroment
Il Process Modelling Environment è l’ambiente funzionale che consente, tipicamente ai business analyst ma anche ai business manager, di definire graficamente il modello concettuale del processo, detto anche Business Oriented Process Model, che è utile soprattutto nelle fasi di analisi e riprogettazione del processo.
Il Development Enviroment è l’ambiente dove le persone IT definiscono le interfacce grafiche che consentono agli utenti di interagire con i dati del documento gestito durante l’esecuzione del processo, dove arricchiscono il modello del processo concettuale degli attributi, che non sono rilevanti per il business analyst/business manager, ma che sono necessari per ottenere l’Excution Process Model, cioè il processo che viene eseguito o, detto con altri termini, l’applicazione BPMS che viene eseguita.
Il Process Monitoring Enviroment mette a disposizione, in generale a beneficio dei business manager di linea, delle funzionalità per monitorare l’andamento delle prestazioni dei processi mediante delle rappresentazioni grafiche di sintesi e di reportistica.
Il Management Enviroment è l’ambiente dove tipicamente un ruolo aziendale con funzione di amministratore di sistema, definisce delle configurazioni di base valide per tutti i processi gestiti dal BPMS, come ad esempio la configurazione del servizio di posta elettronica, la definizione degli alert, la definizione dei cicli di esecuzione delle attività automatiche.
Engine
L’Engine è l’elemento core del BPMS e anche in questo caso possiamo individuarne varie componenti:
- Workflow Engine
- Enterprise Application Interface
- Rules Engine
Il Workflow Engine gestisce l’esecuzione a runtime di un istanza di processo assicurando che il flusso del processo attraversi gli step definiti nel modello, che le attività siano instradate ai relativi responsabili e che questi possano interagire con il documento gestito dal processo sulla base del profilo autorizzativo definito per il ruolo di appartenenza.
L’Enterprise Application Interface (EAI) Engine mette a disposizione tutte le funzionalità che permettono durante l’esecuzione dell’istanza del processo di interagire, via dati o mediante servizi, con gli altri sistemi software dell’organizzazione e anche esterni a questa.
Il Rules Engine è il componente dell’engine che nei punti di decisione del flusso delle attività di processo determina qual è la business rules di pertinenza quindi la esamina per determinare qual è il risultato della decisione.
Knowledge
I più recenti BPMS — e in particolare quelli che si sono specializzati in un settore industriale, ad esempio quello bancario/assicurativo, quello della qualità, quello farmaceutico — hanno aggiunto ai loro sistemi uno strato di Knowledge che permette di sviluppare più facilmente e rapidamente le applicazioni di automazione di processo mettendo a disposizione, in maniera preconfezionata e pronta all’uso, per esempio delle regole di business, dei modelli di processo presentati come best practice del settore, dei framework applicativi già pronti all’uso standard o che necessitano solo di minime personalizzazioni.
BPMS e ciclo del processo
Da quanto è stato detto sinora si deduce che: “Un BPMS risulta essere un sistema software generico che, guidato dal disegno esplicito dei processi, realizza applicazioni di gestione dei processi operativi” [2].
In particolare, risulta evidente che un BPMS è un framework di sviluppo applicativo che, oltre ad automatizzare l’esecuzione del processo operativo, supporta l’intero ciclo di vita del processo (figura 3).
In particolare, nella fase di Analyze e Design, i BPMS permettono di rendere espliciti e trasparenti gli aspetti del processo, consentendo di disegnare un modello dello stesso che, se realizzato con un formalismo standard quale il BPMN, risulta essere leggibile non solo dal personale IT ma anche dal personale di business, abilitando così il confronto tra questi ruoli con notevoli benefici.
In fase di Implementation, i BPMS permettono di realizzare un modello eseguibile del processo di business.
In fase di Run/Monitor, il motore del BPMS consente di eseguire l’istanza del processo eseguibile, “agisce poi come un orchestratore generale, coordinando tutte le risorse coinvolte indipendentemente dal fatto che le risorse software siano state create nel proprio ambiente o in altre piattaforme” [3] e permette di monitorare l’esecuzione e le performance dei singoli processi.
Va infine aggiunto come i BPMS siano in grado di orchestrate non sono solo i sistemi software, ma anche le attività utenti (user activity), in cui c’è una interazione tra l’utente e il sistema software; con qualche accorgimento, possono essere coordinate anche le attività completamente manuali.
Da quanto detto si può dedurre che: “La necessità di disegnare a priori il processo attraverso il modello costituito da sequenze esplicite di attività ha come inevitabile conseguenza che in genere i BPMS possono automatizzare solo i processi operativi, escludendo quindi i processi di livello strategico, il cui procedere è di solito scarsamente definibile a priori” [3].
BPMS e Business Process Modelling System
Abbiamo detto che i BPMS (Business Process Management System) hanno solitamente anche un modulo di process modelling, ma va sottolineato che i BPMS non hanno come obiettivo principale quello di realizzare i modelli dei processi. Per la modellazione, l’analisi e l’ottimizzazione dei processi esistono dei sistemi software specifici che vanno sotto l’etichetta di Business Process Modelling System. I due tipi di sistemi si rivolgono a utenti differenti che hanno bisogni differenti.
I Business Process Modelling System si rivolgono ai Business Manager e presentano delle funzionalità che consentono di catturare le informazioni che sono più rilevanti per questa categoria di utenti, per esempio la Business Process Architecture, cioè la relazione gerarchica tra i processi, le risorse utilizzate da ciascun processo, le metriche di valutazione delle perfomance del processo, etc. I processi target di questi sistemi sono potenzialmente tutti i processi aziendali, sia quelli automatizzabili, che quelli decisionali o realizzati da risorse umane, sia quelli di alto livello che quelli operativi di più basso livello.
A chi servono i Business Process Management System
I sistemi di BPMS si rivolgono principalmente ai Business Analyst e ancora più in particolare agli sviluppatori IT che hanno la necessità di indicare sul modello del processo tutti quei dettagli che devono permette di automatizzare il processo; devono cioè consentire al motore del BPMS di interpretare ed eseguire il modello disegnato e di monitorarne le performance. Va detto comunque che i BPMS stanno evolvendo rapidamente e che già oggi esistono in commercio dei BPMS che integrano nella suite dei moduli di modellazione con delle funzioni evolute.
Per sintetizzare l’essenza di quanto detto: “I business manager usano i business process modelling tool per la business process architecture e per attività di riprogettazione e miglioramento. I BPMS sono usati principalmente dagli sviluppatori software e dai business analyst per sviluppare applicazioni di automazione di processo” [1].
BPMS e Business Activity Monitoring System
Relativamente all’ambiente di monitoraggio dei processi, abbiamo detto che i BPMS mettono a disposizione dei manager di linea — cioè delle persone che hanno una supervisione e un’immediata responsabilità dell’operatività dei processi — delle funzionalità che servono per monitorare le prestazioni dei singoli processi.
Va detto, però, che questo tipo di monitoraggio non è quello richiesto dai business executive. Infatti, questi hanno bisogno di sintesi che aggreghino dati provenienti da più sorgenti, quali per esempio le vendite, i forecast, l’ordinato, i reclami dei clienti e così via: insomma dei “report” che consentano di dare visibilità completa sui processi di alto livello.
In questi scenari, i BPMS depositano gli eventi di business che si interessa monitorare all’interno di data warehouse, dove vengono raccolti anche i dati provenienti da altri sorgenti. Successivamente, dei sistemi, detti di Business Activity Monitoring System (BAMS), li leggono, li filtrano e li sintetizzano per creare un executive dashbord dove i manager di alto livello realizzano le interrogazioni e le analisi che servono di supporto ai processi decisionali. Una rappresentazione essenziale di simili scenari è riportata in fgura 4 (da [1], adattata dall’autore).
BPMS ed Enterprise Resource Planning (ERP)
Quando la soluzione a un bisogno aziendale è quella di automatizzare un processo di business, le aziende non hanno solo la possibilità di far riferimento ai BPMS; in realtà hanno anche l’opzione dei sistemi di Enterprise Resource Planning (ERP) che sono di fatto molto più noti e diffusi dei BPMS.
Lungi dal voler analizzare tutte le caratteristiche e le differenze delle due tipologie di sistemi, di seguito indichiamo brevemente quali sono i fattori da considerare per scegliere quale percorrere tra queste due strade di automazione.
Gli ERP: ottimi strumenti per processi standardizzati
La caratteristica importante dei sistemi ERP che i diversi vendor propongono alle organizzazioni è la standardizzazione dei processi operativi codificata dai loro moduli software. D’altra parte i modelli standard proposti vengono presentati come best practice del settore, cioè viene sostenuto che la soluzione da loro proposta è quella che si è dimostrata essere la più efficace nelle numerose applicazione pratiche presso i clienti distribuiti in tutto il mondo.
A tal proposito, va detto che è vero che i sistemi di ERP presentano un ambiente di parametrizzazione e di sviluppo per la personalizzazione, ma il disegno dei processi è imposto e il lavoro degli analisti e sviluppatori consiste in realtà nel far adattare, nel modo migliore possibile, l’organizzazione al modello del sistema ERP.
I BPMS: nessun flusso predefinito imposto
Da questo punto di vista l’approccio dei BPMS è completamente all’opposto. All’organizzazione non viene proposta nessuna soluzione preconfezionata, ma questa viene configurata su quello che è il flusso, sulle regole di business specifiche dell’organizzazione stessa. Inoltre, gli ambienti di modellazione e monitoring di cui sono provvisti i BPMS li rendono sicuramente più flessibili rispetto ai sistemi ERP; permettono infatti di adattare i processi operativi più facilmente ai cambiamenti organizzativi a cui le aziende sono sottoposte dalle mutevoli condizioni di mercato.
Cosa scegliere allora?
Quest’ultima affermazione sembrerebbe far propendere la scelta di automazione decisamente sempre verso i BPMS. In realtà non è così. Se il processo da automatizzare è stabile, normato, istituzionale e identico, indipendentemente dal settore merceologico — quali sono per esempio quelli che rientrano nell’ambito Finanza e Controllo, Paghe e altri settori con analoghe caratteristiche di “linearità” — la scelta di una soluzione standard ERP è ragionevole: non si vede perché si debbano spendere tempo e risorse per rifare sistemi già presenti sul mercato.
Se invece il processo da automatizzare è un processo core dell’organizzazione, è distintivo e peculiare dell’organizzazione stessa, e magari ne assicura il vantaggio competitivo, allora la scelta di automatizzare mediante un BPMS sembra essere proprio quella più corretta [1].
Vantaggi nell’uso dei BPMS
In questo paragrafo vediamo in maniera più chiara quali sono i vantaggi assicurati dall’adozione di un BPMS [4].
Riduzione del carico di lavoro
Il primo vantaggio è sicuramente quello di una riduzione del carico di lavoro. In primis viene risparmiato il tempo relativo al trasporto fisico di documenti cartacei da un dipartimento a un altro: so che qualche lettore sarà perplesso, ma le azienda paper-based sono ancora oggi tante). In questo caso viene risparmiato sia il tempo di trasporto stesso ma anche quello relativo a tutti i passaggi di mano (handover), cioè quel tempo che trascorre da quando il documento viene rilasciato a quando il responsabile della successiva attività viene a conoscenza che il documento attende il suo intervento e quindi inizia realmente a lavorarlo. In questo caso è il BPMS che svolge il ruolo di portantino.
Il secondo tipo di lavoro che viene risparmiato è quello relativo al coordinamento. Si fa riferimento in particolare al tempo impiegato per capire qual è la prossima attività da realizzare e ai modi per avvisare il responsabile relativo. Infatti, in questo caso è il BPMS che instrada l’attività al responsabile relativo sulla base del modello di processo definito ed è sempre il BPMS che avvisa, mediante email o worklist, i diversi partecipanti quando è il loro turno di prendere in lavorazione il documento.
Un altro tipo di riduzione è relativo alla raccolta di tutte le informazioni rilevanti. Infatti nelle organizzazioni paper-based il tempo dedicato dalle persone per raccogliere tutte le informazioni è spesso rilevante, come pure rilevante è il tempo di back e forward quando ci si accorge che non tutte le informazioni necessarie per realizzare una attività sono disponibili. In questo caso è il sistema BPMS che, passo dopo passo, permette di raccogliere e registrare le informazioni strettamente necessarie per realizzare una determinata attività: questo sempre grazie a quanto definito a priori nel modello di processo.
Flessibilità
Un altro importante vantaggio offerto dai BPMS è la flessibilità che le organizzazioni ottengono dall’usare questi sistemi. Da quanto abbiamo detto sinora dovrebbe risultare chiaro che, per le applicazioni di gestione dei processi operativi, i BPMS sono l’equivalente dei DBMS per i dati, o degli UIMS (User Interface Management Systems) per le interfacce grafiche.
I BPMS sono infatti dei sistemi che offrono una serie di funzionalità generiche su cui poggiare lo strato software specifico dell’applicazione orientata al processo che si vuole realizzare. I BPMS consentono quindi di tenere separata la logica di processo dalla logica applicativa, permettendo quindi di intervenire sulle logiche di processo senza doversi preoccupare di entrare nelle logiche codificate nell’applicazione e viceversa. La flessibilità offerta dai BPMS risulta anche dalle disponibilità di funzionalità EAI che, come abbiamo detto, consentono di integrare e coordinare gli altri sistemi dell’organizzazione ma anche esterni a questa.
Trasparenza
Un altro importante vantaggio derivante dall’adozione dei BPMS è costituito da una trasparente lettura sul reale comportamento dei processi, la cosiddetta trasparenza sui processi. Ci sono due tipi di informazioni che consentono di avere chiare e obbiettive letture dei processi:
- le informazioni operative che si riferiscono all’esecuzione di processi non ancora conclusi;
- le informazioni storiche che sono relativi a processi conclusi.
Le informazioni operative consentono per esempio di avere una immediata risposta a qual è lo stato in cui si trova l’elaborazione di un determinato documento, oppure consentono di evidenziare quali sono le attività in cui ci sono delle code di documenti da elaborare e dove quindi risulta necessario intervenire.
Le informazioni storiche sono invece quelle che vengono monitorate dalle funzioni Process Monitoring Enviroments dei BPMS di cui abbiamo parlato prima in quest’articolo. Queste informazioni sono solitamente aggregate e consentono di valutare le performance del processo e l’aderenza a determinate regole.
Relativamente al primo aspetto, consentono per esempio di rispondere a domande quali: qual è il cycle time medio (il tempo medio per completare/portare a chiusura un processo dall’inizio alla fine), quale è il numero di case completati in un dato periodo, o quale risulta l’utilizzazione delle risorse.
Rispetto il secondo aspetto consentono per esempio di rispondere a domande del tipo: quanti sono i case che hanno violato una particolare deadline.
Rispetto delle regole
Un ultimo e importante vantaggio che un BPMS assicura è ovviamente il rispetto delle regole. In altri termini, il BPMS assicura che il processo sia eseguito esattamente nel modo in cui è stato progettato, che è quello che assicura maggiore efficienza all’organizzazione, senza alcuna deroga. Questo può essere considerato un beneficio di qualità: il processo viene eseguito sempre in maniera consistente, garantendo a parità di input sempre lo stesso output.
Realizzazione di una applicazione BPMS
Non c’è una metodologia consolidata di sviluppo di una applicazione BPMS. Alcuni produttori di software BPMS propongono una loro metodologia, con differenze a seconda se l’applicazione BPMS sarà di tipo human-oriented (workflow), di tipo intergration-centric (EAI) o di tipo decision-centric (rules-based).
Alcuni vendor propongono delle suite in cui il processo viene prima modellato e riprogettato in un ambiente di process modelling, poi questo modello viene esportato in un ambiente di sviluppo in cui viene completato per ottenere un processo di execution. Altri vendor offrono un unico ambiente in cui viene sviluppata direttamente tutta l’applicazione BPMS. Va detto che, in ultima analisi, realizzare un’applicazione BPMS è un progetto IT e quindi i ruoli IT, le tecniche, gli strumenti usati, i problemi affrontati sono tipici di questo tipo di progetti.
Comunque, prima di affrontare un progetto di realizzazione di una applicazione BPMS, è importante tenere sempre a mente quanto segue: “È bene non partire con un progetto di BPMS finché non si è sicuri che il processo che si intende gestire con l’applicazione BPMS non funzioni già come si desidera una volta che è stato automatizzato dal BPMS. In altre parole, non provate a considerare come fossero un’unica cosa una riprogettazione e un progetto di sviluppo di una applicazione BPMS. Entrambi i progetti richiedono competenze, strumenti e metodologie proprie. Prima il processo va riprogettato e migliorato e solo successivamente deve essere implementato in un BPMS per l’esecuzione del day-to-day” [1].
Conclusioni
In questo articolo abbiamo approfondito i sistemi sofware indicati con il termine Business Process Managament System (o Suite). Essi hanno il compito principale di automatizzare l’esecuzione del processo in una iniziativa di business process change per progettare/riprogettare e migliorare un processo di business. Tradotto in termini pratici, essi servono a realizzare un’applicazione di gestione di processo di business, più brevemente un’applicazione BPMS.
In questo articolo, dopo aver definito i BPMS, abbiamo visto più nel dettaglio gli elementi che compongono l’architettura di un BPMS completo, osservando che i BPMS in realtà permettono più che la sola realizzazione di applicazioni di gestione dei processi. Abbiamo anche visto le differenze tra BPMS e BAMS e tra BPMS ed ERP, spiegando quando sia il caso di adottare un ERP e quando sia preferibile un BPMS per i vantaggi che garantisce.
Abbiamo sottolineato che realizzare un’applicazione BPMS è, in ultima essenza un progetto IT, ma che è importante partire con l’automazione del processo solo dopo essere sicuri che il processo in sé stesso già funzioni come desiderato: se così non fosse, è necessario istanziare un processo di riprogettazione e miglioramento del processo, e solo dopo passare a un progetto di automazione di processo.
Negli articoli successivi andremo ad approfondire la BPM suite Bizagi che, oltre che ad essere uno dei sistemi BPMS open source più diffusi e validi presenti sul mercato, mette a diposizione molta documentazione sul proprio sistema consentendo quindi a chiunque di approfondire gli argomenti in autonomia.