___________________________________________________ ____Introduzione
4
Introduzione
Le aziende devono modificare la loro organizzazione per cogliere le nuove
opportunità, rimanere nel mercato e conquistare quella soglia di produttività al di
sotto della quale non è più consentito sopravvivere. In questo contesto si
inseriscono i processi di business, quali mezzi per il raggiungimento degli
obiettivi economici di un’azienda ed è facile intuire che il ruolo rivestito dai
processi di business è di cruciale importanza. Infatti, la qualità dei processi di
business oggi fornisce il più importante punto di differenziazione competitiva,
poiché l’esecuzione efficace ed efficiente dei processi consente all’azienda di
accelerare l’introduzione di nuovi prodotti, ridurre i costi, migliorare il servizio
al cliente e di reagire meglio all’evoluzione dei mercati. Un’organizzazione è
caratterizzata da un certo numero di processi indispensabili per poter
raggiungere i propri obiettivi economici. Un processo di business è una serie di
passi per realizzare un prodotto o fornire un servizio. Ecco perché il ruolo dei
processi di business in questi ultimi anni è stato ridefinito ulteriormente. Infatti
sono stati progettati e realizzati alcuni sistemi informatici denominati workflow
management systems (WFMS) che supportano la gestione automatica dei processi
di business dalla loro modellazione alla loro esecuzione, in particolare un
processo di business è solitamente modellato e analizzato prima del suo sviluppo
ed esecuzione da appositi strumenti che un WFMS fornisce. Differenti strumenti
di modellazione sono stati introdotti e correntemente disponibili. Fra questi,
quelli basati sulle reti di Petri incorporano notevoli vantaggi derivanti
principalmente dal formalismo delle reti di Petri. Le tre principali motivazioni per
cui molti linguaggi di workflow sono basati sulle reti di Petri sono: il formalismo
semantico (nonostante la natura grafica), l’essere basati sugli stati, piuttosto che
solo sugli eventi e l’abbondanza di tecniche di analisi.
In questa tesi proponiamo la descrizione di due tool di modellazione e analisi di
workflow(Yasper e Woped) basati su reti di Petri, e la loro concreta applicazione
per lo sviluppo di un caso di studio con l’obiettivo di confrontare i due tool
utilizzati nonché i loro vantaggi e svantaggi. Il processo di business da noi
trattato affonda le sue radici in ambito bancario, e più precisamente è relativo
__________________________ ____________________________Introduzione
5
agli investimenti che può effettuare un generico cliente nel campo dei titoli e delle
obbligazioni.
La tesi è organizzata nel seguente modo. Nel capitolo 1 forniremo i concetti
basilari per la modellazione ed analisi dei processi business, partendo dalla
definizione di processo di business e workflow fino all’introduzione di alcune
tecniche per modellare e analizzare i processi di business. Nel capitolo 2
descriveremo due tool Yasper e Woped attraverso un semplice esempio e
forniremo una loro comparazione. Nel capitolo 3 definiremo un caso di studio più
complesso, ed applicheremo Yasper e Woped per la sua modellazione e analisi.
Infine forniremo le conclusioni che riassumono il contributo nella presente tesi,
nonché definiremo possibili sviluppi futuri.
Modellazione e Analisi dei Processi di Business
6
Capitolo 1
Modellazione e Analisi dei Processi di Business
In questo capitolo forniremo il concetto di processo di business e le sue
componenti fondamentali; descriveremo l’architettura di un Workflow
management system(WFMS) e introdurremo il formalismo delle reti di Petri per
la modellazione ed analisi di workflow.
1.1 Processi di Business
Un processo di business è una serie di passi per realizzare un prodotto o fornire un
servizio. Ogni processo può coinvolgere diversi casi relativi a qualcosa che deve
essere prodotto o modificato, o ad un servizio che deve essere erogato. Un caso è,
dunque, un’entità a sé stante, distinguibile da ogni altro caso. Ogni caso ha una
serie di condizioni che determinano quali compiti devono essere eseguiti ed il loro
ordine. All’interno del processo si possono prendere diversi percorsi, finalizzati
tutti alla conclusione del caso in lavorazione. Il processo viene suddiviso in
compiti o task che rappresentano un’unità di lavoro che può essere eseguita come
un tutt’uno da una risorsa. In questo contesto è preferibile distinguere i tasks in
“atomici”, cioè quei task che non possono essere suddivisi ulteriormente, e “non
atomici”, che per loro natura possono essere frazionati. Spesso i task considerati
atomici a livello di definizione del lavoro sono nella realtà suddivisi, a livello di
esecuzione, tra più risorse, posto che la risorsa a cui è stato assegnato il lavoro
rimane comunque responsabile per l’esecuzione dello stesso. Le risorse di cui
abbiamo discusso possono essere persone, macchine o gruppi di persone o di
macchine che possiedono le abilità necessarie per portare a termine dei task
specifici. Alcuni task possono essere realizzati da una macchina senza nessun
intervento di altro tipo, mentre altri richiedono necessariamente il ricorso
all’intelligenza umana. Le persone, pertanto, hanno bisogno di conoscenza per
eseguire un task, e questa conoscenza può venire dall’esperienza – nel qual caso si
parla di conoscenza tacita – oppure può essere necessario acquisire delle nuove
Modellazione e Analisi dei Processi di Business
7
informazioni – e si parla, quindi, di conoscenza esplicita. Da qui l’esigenza di una
gestione che concerne l’acquisizione, l’arricchimento e la distribuzione della
conoscenza in modo tale che la conoscenza giusta si trovi a disposizione della
persona che deve portare a termine un task. A questo punto è facile intuire che il
numero di processi in un’azienda è finito e molto più piccolo del numero di casi
da trattare. La possibilità di sviluppare una routine nell’esecuzione dei processi
permette di operare quanto più efficientemente possibile. Ne sono un esempio le
economie di scala realizzate tenendo molto basso il numero di processi e molto
elevato il numero di casi che ogni processo può trattare, facendo crollare i costi
per ogni caso. Non tutte le imprese possono effettivamente controllare il numero
di casi in arrivo e perciò si può operare cercando di ridurre al massimo il numero
di processi, stando attenti a non rendere il processo stesso troppo complicato. In
teoria è quasi sempre possibile combinare due o più processi in uno, se non fosse
che è meglio avere qualche processo in più, ma semplice, che dover trattare con
pochi, ma troppo complessi. Ci sono, però, delle situazioni molto diverse da
quelle appena descritte nelle quali si ha un piccolissimo numero di casi per ogni
processo. Si intuisce che non valgono le regole precedenti, ma, anche in questo
contesto, ci sarà una tendenza a standardizzare quanto più possibile il tipo di
approccio ad ogni caso. I processi di business definiscono, dunque, in che modo le
cose debbano essere fatte in un’organizzazione, stabilendo i passi da realizzare.
Per caratterizzare tali processi viene spesso usato il concetto di qualità che denota
la relazione tra proprietà richieste ai processi e proprietà realizzate dagli stessi.
Tali proprietà possono essere sia di tipo quantitativo, e quindi si fa riferimento alla
durata del processo, che di tipo funzionale, cioè si valuta la correttezza. I processi
di business vengono gestiti e supportati da particolari sistemi che vengono
denominati Sistemi di gestione di Workflow(WFMS).
Modellazione e Analisi dei Processi di Business
8
1.2 WFMS(Workflow Management System)
Poiché le funzionalità offerte dalla gestione dei processi possono essere
largamente applicate, si sono diffusi i sistemi di gestione di workflow (Workflow
Management System – WFMS) e cioè dei software generici che offrono un’ampia
gamma di funzionalità, utilizzabili non solo per un’applicazione
specifica[1][6][3]. Dal momento che questa tecnologia è ancora giovane e in fase
di sviluppo, attualmente vi sono diversi standard in uso.
A causa della confusione in cui spesso ci si trova quando vengono introdotte delle
nuove tecnologie è nata la Workflow Management Coalition (WFMC),
un’organizzazione che ha tra i propri scopi quello di cercare di standardizzare
quanto più possibile la terminologia e di definire degli standard per lo scambio dei
dati tra i sistemi di gestione di workflow e le applicazioni. La WFMC ha emanato
la descrizione di un’architettura tipica di un sistema di gestione di workflow, il
modello di riferimento dei workflow (workflow reference model), nel quale sono
riassunte le componenti principali con le proprie interfacce.(Fig.1.2.1)
Fig.1.2.1:Modello di riferimento dei Workflow sviluppato dal WFMC
Modellazione e Analisi dei Processi di Business
9
Il cuore del sistema è il servizio di emanazione di workflow (workflow enactment
service), il quale immette i casi nell’organizzazione e si assicura che siano
rispettati tanto l’assegnazione alla giusta risorsa quanto l’ordine delle attività da
eseguire.
Per garantire questo, è necessario ricorrere agli strumenti di definizione dei
processi (process definition tools), grazie ai quali vengono, appunto, definiti i
processi e classificate le risorse. Tali strumenti, tra l’altro, sono spesso muniti di
tecniche di analisi, come la simulazione.
Altri elementi del sistema sono:
le applicazioni client dei workflow (workflow client applications), che si
occupano dell’assegnazione dei compiti alle risorse:
le applicazioni invocate (invoked applications), tramite le quali è possibile
utilizzare un’applicazione nello svolgimento di un compito che la richiede;
Infine, tutto ciò che concerne il controllo dei casi e del flusso di lavoro e la
gestione dello staff è supportato dagli strumenti di amministrazione e
monitoraggio (administration and monitoring tools)
Un sistema di gestione di workflow è dunque composto da molte componenti
e, di conseguenza, anche da una varietà di persone che vi hanno accesso. In
particolare vi sono quattro tipologie di utenti:
1. Il modellista, utilizza gli strumenti di definizione del processo per agire
sulla struttura del workflow.
2. L’amministratore, si occupa di aggiungere gli impiegati, di emettere e di
ritirare le autorizzazioni, di implementare nuovi processi, di monitorare i
workflows e di risolvere eventuali problemi e colli di bottiglia.
3. L’analista del processo, attraverso l’analisi di specifici indicatori è in
grado di informare il livello gestionale riguardo le prestazioni dei
workflows.
4. L’impiegato (o risorsa), è incaricato di eseguire effettivamente il lavoro.