You are on page 1of 46

Business Process Modeling - BPMN

11 Dicembre 2009

Davide Storelli - davide.storelli@ebms.unile.it


Outline

L importanza della modellazione


Categorie di Business Process
Problematiche di modellazione
Introduzione a BPMN
Notazione Grafica
Lo scenario Mortgage Co.
Il ciclo di vita di un attivit
Riferimenti e risorse
L importanza della modellazione
Tutte le aziende mirano a migliorare in maniera continua le proprie
prestazioni (qualunque sia il modo di misurarle) a beneficio di
shareholders, stakeholders e/o del profitto;

La letteratura piena di articoli e libri che raccomandano alle aziende di


intraprendere azioni di innovazione operazionale. Tutti questi esempi
hanno qualcosa in comune: una marcata enfasi sulla necessit di capire i
processi di business aziendali col fine di migliorarli.

Le domande ricorrenti in ambito aziendale e organizzativo si possono


riassumere cos:
Quali passi sono realmente necessari?
Chi li dovrebbe eseguire?
Dovrebbero essere tenuti in casa o dati in outsourcing?
Come dovrebbero essere eseguiti?
Quali capacit/competenze/risorse sono necessarie?
Quali risultati ci si aspetta e come monitorarli?
L importanza della modellazione
Le attivit che costituiscono il business process management
possono essere raggruppate in 5 categorie:

Design

Modeling

Execution

Monitoring

Optimization
L importanza della modellazione
I modelli di processo favoriscono la comunicazione, aiutando la condivisione di
idee:
All interno di piccole organizzazioni questo risulta piuttosto semplice perch gli
impiegati tendono a condividere una medesima cultura e simili valori;

In grandi organizzazioni, specialmente se gli impiegati sono sparsi fra sedi


distanti, raggiungere un interpretazione condivisa del significato dei modelli
risulta spesso difficile;

Se i modelli devono essere condivisi con fornitori, clienti e partner, questo


problema interpretativo esacerbato. I partecipanti non possiedono gli stessi
riferimenti culturali che aiutano ad ancorare il significato dei diagrammi.

Senza un modo rigoroso di descrivere i processi di business, l interpretazione di


qualsiasi modello lasciata al lettore (non al modellatore), il quale pu facilmente
fraintenderne il significato.
L importanza della modellazione
I modelli di processo guidano il lavoro:
I modelli eseguibili di processo, se interpretati da sofisticati sistemi software
(BPM Suites o Workflow Engines), forniscono istruzioni su come eseguire il
lavoro, chi lo deve eseguire, gestione delle eccezioni, collegamenti ad altri
sistemi, etc.

Se, per qualsiasi ragione,il flusso di lavoro deve cambiare, allora, invece di
scrivere nuovi software, sufficiente modificare il modello. I flussi di lavoro
dell organizzazione si adatteranno di conseguenza.

Questi process-driven software stanno diventando sempre pi popolari perch


forniscono un metodo per tradurre obiettivi strategici e tattici in processi operativi,
rendendo l organizzazione molto pi agile e pronta a rispondere alle necessit di
cambiamento.

I modelli di business process necessitano di un certo grado di rigore nella


definizione del loro significato, specialmente se il modello disegnato per essere
interpretato da un computer.
L importanza della modellazione
I linguaggi di modellazione di business process hanno dunque
l obiettivo di fornire un modo standard per rappresentare i processi
sia per scopi puramente descrittivi e di alto livello (comunicazione
human-to-human), sia per permetterne l esecuzione attraverso una
rappresentazione dettagliata e rigorosa (comunicazione human-to-
computer).
Categorie di Business Process
Categorie di business process
Orchestrazione
I modelli di orchestrazione rappresentano il punto di vista di una singola
azienda o di un organizzazione sui flussi di processo,

I modelli di orchestrazione sono costituiti da elementi di processo che


appartengono ad un medesimo contesto ben definito. Una conseguenza
immediata dell esistenza di un contesto ben definito che i dati sono
sempre disponibili a tutti gli elementi del modello.
Categorie di business process
Coreografia
Un modello di coreografia fornisce una definizione dei comportamenti attesi fra
soggetti che interagiscono (una specie di contratto procedurale o protocollo);

Poich i soggetti dell interazione non appartengono ad un medesimo contesto,


non ci sono dati condivisi fra gli elementi del processo e non esiste nessun
meccanismo centralizzato che guida o tiene traccia della coreografia.
Categorie di business process
Collaborazione
Se una coreografia definisce un insieme ordinato (protocollo) di
interazioni fra partecipanti, una collaborazione mostra semplicemente i
partecipanti e le interazioni;

Una collaborazione pu contenere una coreografia e una o pi


orchestrazioni.
Problematiche di modellazione
Problematiche di modellazione

All Models are Wrong, Some are Useful (Charles Box)


Molte persone credono che esista sempre un solo modello
corretto (e che gli altri modelli siano sbagliati). In realt ci
vero raramente;
La realt fatta da infiniti dettagli che sono quasi sempre
eccessivi rispetto alle necessit di modellazione;
Un modellatore costretto in continuazione a decidere cosa
includere e cosa non includere: il criterio guida deve essere dato
dalle finalit del modello e da chi lo dovr interpretare.
Se l utente finale non interessato ai dettagli, allora bene
rendere sintetico il modello. D altra parte se il modello
destinato ad essere eseguito o simulato da un software, allora
necessario includere una serie informazioni di dettaglio.
Problematiche di modellazione

Divide et impera
Molto spesso difficile modellare un processo end-to-end per
un certo problema di business, e anche se fosse possibile, i
modelli omnicomprensivi risultano rigidi e non adattabili.
Solitamente meglio spezzettare un dato problema in una serie
di sotto-problemi, ciascuno dei quali sia pi facilmente
affrontabile, per poi combinarne nel modo opportuno le soluzioni.
Introduzione a BPMN

Notazione grafica
Introduzione a BPMN - Core Elements

Sw imlanes Flow objects

Pool Lane Events Activities Gateways

Lane
Name

Pool
Lane

Artifacts
Connecting objects
Data Group Text
object
Sequence Message Association
flow flow
Introduzione a BPMN - Swimlanes

Una Pool rappresenta il contesto


Pool Name

Pool (organizzazione) in cui si svolge un


processo.

Le Lane rappresentano attori autonomi


all interno del contesto (Pool), ai quali
Lane corrispondono determinate attivit del
Pool Name

Lane
Lane processo. Le Lane sono usate per
organizzare e categorizzare le attivit,
assegnandole a ruoli precisi all interno
dell organizzazione.
Introduzione a BPMN - Activities

un attivit atomica che non pu


Task essere suddivisa in altri sub-task.

un attivit che include al suo


Sub Process interno altre activity.

un sottoprocesso supportato da
uno speciale protocollo che
Transaction garantisce che ogni step del
processo debba essere completato o
cancellato.
Questa attivit si ripete fino a quando
Loop Task una particolare condizione booleana
viene soddisfatta.

Multiple Questo task permette che il loop


Instance Task avvenga in parallelo.
Introduzione a BPMN - Events
Lo Start Event indica un evento che d
inizio al processo (generico,
Start Event messaggio, timer, segnale). Gli Start
Event sono tutti di tipo Catching
Catching Si pone in qualsiasi punto del
processo tra uno Start Event e un End
Event; influenza il flusso del processo
Intermediate Event ma non pu darne inizio o fine. Gli
Throwing eventi intermedi si dividono fra
Catching (intercettano l evento) e
Throwing (generano l evento).
L End Event rappresenta un evento
che indica la fine del processo. L End
Event pu essere solo di tipi Throw. La
figura riporta i simboli per la
End Event generazione di un evento generico, di
un messaggio, di un segnale e, infine,
per la terminazione del processo con
tutti i suoi sotto-processi.
Introduzione a BPMN - Connecting Objects
Normal Sequence Flow si riferisce al
flusso che si origina da uno Start
Sequence Event e continua tra le attivit
Flow seguendo percorsi paralleli o
alternativi e termina in un End Event.
Contiene una condizione che, valutata
Conditional a runtime, usata per determinare se
il flusso sar indirizzato o meno su un
Flow particolare path.

Questo flow sar usato solo se le


Default Flow condizioni degli altri flow in uscita non
risulteranno vere a runtime.

Un Message Flow usato per


Message rappresentare il flusso di messaggi tra
Flow due entit appartenenti a Pool
diverse.
UnAssociation usata per associare bla

Association informazioni aggiuntive ai Flow bla

Objects (activity, gateway, event)


Introduzione a BPMN - Gateways
Splitting: il Gateway invia un token su un
solo path in uscita, in base alla valutazione
delle condizioni dei Sequence Flow.
Exclusive
Merging: il Gateway fa passare qualunque
token da qualunque path in ingresso.
Splitting: il Gateway invia un token su
qualunque path in uscita la cui condizione
sia soddisfatta.
Inclusive Merging: il Gateway sincrionizza uno o pi
dei path in ingresso. Il Gateway stesso
determina quali siano questi path.
Splitting e Merging dipendono da una
Complex condizione specifica del Gateway.
Splitting: il Gateway invia un token su un
solo path in uscita (exclusive), in base
all occorrenza di uno specifico evento.
Event-Based
Merging: il Gateway fa passare qualunque
token da qualunque path in ingresso.
Splitting: il Gateway invia un token a tutti i
path in uscita (in parallelo)
Parallel Merging: il Gateway attende un token da
tutti i path in ingresso.
Introduzione a BPMN - Artefacts

Rappresenta il modo di
scambiare documenti o oggetti in
Data Object generale tra le attivit.

I Group possono essere utilizzati


Group per raggruppare logicamente le
attivit allinterno di una Pool.

Te x t A n n o t a t i o n f o r n i s c e
Text Annotation informazioni aggiuntive al lettore
del BPMN Diagram.
Introduzione a BPMN

Lo scenario Morgage Co.

23
Introduzione a BPMN - Lo scenario Mortgage Co.

In questa sezione si forniscono alcuni esempi di utilizzo della


notazione BPMN, adottando un semplice scenario che viene man
mano complicato introducendo nuovi costrutti e funzionalit.

Lo scenario ruota intorno ad un organizzazione fittizia denominata


Mortgage Co. Questa riceve richieste di mutuo da parte di potenziali
clienti, compie delle analisi per decidere se offrire il mutuo o meno, e
infine rigetta la richiesta o fa la propria offerta.
Introduzione a BPMN
Il processo inizia sulla sinistra con uno Start Event (cerchio con bordo fino), con due
Activity (rettangoli con angoli arrotondati) i quali sono connessi all evento con dei
Sequence Flow (frecce). La prima attivit di tipo atomico (Task), la seconda un
Sub-Process (scomponibile in ulteriori livelli di dettaglio). Il rombo indica un punto di
decisione (Exclusive Gateway) nel quale il flusso deve seguire una ed una sola
uscita. Il processo si conclude sempre con un End Event (cerchio con bordo spesso)
Introduzione a BPMN - impostare un timer

Supponiamo di voler rappresentare il fatto che il cliente contatta Mortgage Co. per
avere un modulo di richiesta mutuo. Assumiamo che tale richiesta sia effettuata
tramite un generico messaggio. Inoltre vogliamo impostare un timer che permetta di
avvisare il cliente se Morgage Co. non riceve indietro il modulo compilato entro 7
giorni.
Introduzione a BPMN - Sub-Process
Esiste un altro modo per modellare questo scenario, usando il Sub-Process per le
attivit di invio moduli e attesa risposta.
Il Sub-Process termina con un Terminate End Event che causa la cessazione
immediata del processo al livello corrente (e ai livelli inferiori), anche se ci sono
attivit ancora in corso. In effetti questo evento interrompe il loop infinito Send
Reminder .
Introduzione a BPMN - Looping
Finora abbiamo rappresentato il loop usando un Sequence Flow che torna ad
un attivit precedente. BPMN fornisce un elemento per rappresentare questo
comportamento: il Loop Task
Introduzione a BPMN - Looping
Poich ha poco senso aspettare per sempre un modulo che potrebbe non arrivare
mai, allora Mortgage Co. vuole fissare a 2 il numero massimo di reminder da inviare
al cliente. Si noti che un loop esplicito non pu mai tornare in input allo Start Event.
Introduzione a BPMN - Decisioni basate su eventi

Come modellare il caso in cui il cliente voglia notificare a Mortgage Co. la propria
volont di non procedere con la richiesta di mutuo?
Introduzione a BPMN - Service Level Agreement

Supponiamo che Morgage Co. prometta ai clienti che, una volta ricevuta la
richiesta compilata, riceveranno una risposta entro 14 giorni. Come
supporto operativo, il processo deve avvisare il manager dopo 10 giorni se
la risposta non stata ancora inviata, e poi ogni giorno.
Introduzione a BPMN - Ruoli

I due attori del processo descritto finora sono il cliente e Mortgage Co. Essi
interagiscono senza conoscere i processi interni l uno dell altro. Ogni
partecipante racchiuso in un rettangolo (con angoli non arrotondati) detto
Pool. L interazione fra pool avviene per mezzo di Message Flow.
Introduzione a BPMN - Dati e documenti

I processi di business sono permeati da dati e documenti gestiti nelle varie


attivit. BPMN fornisce un elemento chiamato Data Object che, insieme al
connettore Association, permette di rappresentare la gestione
documentale.
Introduzione a BPMN - Coordinare thread paralleli

L attivit Make Assessment costituita da alcuni sotto-processi


che devono avvenire in parallelo: credit check, property title search,
property survey.

Per ottimizzare tempi e costi, si decide di assegnare un team per


ogni sotto-attivit e di automatizzare le comunicazioni fra i team in
modo che qualsiasi problema riscontrato invalidi (o blocchi) la
procedura per il mutuo.

La buona riuscita di qualunque sotto-attivit deve permettere


all attivit Prepare offer letter di iniziare, ma la stessa deve
bloccarsi in caso di problemi nelle altre sotto-attivit.
Make Assessment

Credit Check

Introduzione a BPMN - Coordinare thread paralleli

Property Title Check

Survey Report

Prepare Offer Letter


Introduzione a BPMN - Coordinare thread paralleli
Introduzione a BPMN - The big picture
Introduzione a BPMN - Pi decisioni giuste

Quando Mortgage Co. compila l offerta al cliente, a seconda del


tipo di mutuo, dovr allegare differenti documenti.
Introduzione a BPMN

Il ciclo di vita di un attivit


Introduzione a BPMN - Il ciclo di vita di un attivit

Per definizione un attivit non pu iniziare prima che il token arrivi


sul Sequence Flow in ingresso. Il token dunque elemento
essenziale per la valutazione dello stato di un processo e delle sue
attivit.
Prima dell arrivo del token lo stato dell attivit none.
All arrivo del token lo stato passa a ready. Questo non vuol dire
che l attivit inizia immediatamente, vuol dire semplicemente che
l attivit ha raggiunto uno stato in cui potrebbe iniziare. Oltre
all arrivo del token, infatti, esistono altri fattori che possono
influenzare lo stato di un attivit. Per esempio la necessit di alcuni
documenti in input o la disponibilit di personale in caso di attivit
manuali.
Introduzione a BPMN - Il ciclo di vita di un attivit

Quando tutti i vincoli sono soddisfatti, allora l attivit pu iniziare e il


suo stato passa a running.
Quando il lavoro dell attivit concluso, lo stato passa a completed.
Mentre l attivit in corso, il suo stato pu variare fra paused,
restarted, interrupted (attraverso un Intermediate Event).
I tipi di stato che un attivit pu assumere durante il suo ciclo di vita
includono: none, ready, active, cancelled, aborting, aborted,
completing e completed.
Una singola istanza di attivit non assumer mai tutti gli stati.
Riferimenti e risorse
BPMN - Modeling and reference guide. S.A. White, D. Miers.
Business Process Modeling Notation (BPMN) 1.2 - OMG
Specification (http://www.omg.org/spec/BPMN/1.2/)
bxModeller, tool di modellazione BPMN sviluppato da Engineering
I.I. e ISUFI. (http://bxmodeller.eng.it/)
Tibco Busines Studio - tool di modellazione BPMN sviluppato da
Tibco (http://developer.tibco.com/business_studio/)
Esercizi
Esercizio 1 - Mortgage offer
The Customer Service Representative sends a Mortgage offer to the
customer and waits for reply. If the customer calls or writes back
declining the mortgage, the case details are updated and the work is
then archived prior to cancellation. If the customer sends back the
completed offer documents and attaches all prerequisite documents
then the case is moved to administration for completion. If all pre
requisite documents are not provided a message is generated to the
customer requesting outstanding documents. If no answer is
received after 2 weeks, the case details are updated prior to archive
and cancellation.
Esercizio 2 - Expense Report
After the Expense Report is received, a new account must be
created if the employee does not already have one. The report is
then reviewed for automatic approval: amounts under $200 are
automatically approved, whereas amounts equal to or over $200
require approval of the supervisor. In case of rejection, the
employee must receive a rejection notice by email. The
reimbursement goes to the employees direct deposit bank account.
If the request is not completed in 7 days, then the employee must
receive an approval in progress email. If the request is not finished
within 30 days, then the process is stopped and the employee
receives an email cancellation notice and must re-submit the
expense report. "
Grazie per l attenzione

Domande!

You might also like