Introduzione
In questo articolo, l’ultimo della serie dedicata ad alcune delle principali tematiche che si incontrano quando deve essere attivato un progetto di riprogettazione e miglioramento di un processo di business (Process Redesign and Improvements Project), andremo a realizzare il modello del processo di Accettazione Spese di Viaggio (Travel Request) di un’azienda generica. Per farlo, useremo Bizagi Modeler, un sistema software freeware per la realizzazione di diagrammi di processo mediante la notazione standard BPMN.
Per rendere accessibile a tutti la comprensione di questo caso di studio, assumeremo che il modello che si andrà a realizzare sia di alto livello, realizzato nella fase di analisi dal management aziendale come prima ipotesi di processo to-be, quindi è mancante di tutti i dettagli tecnici necessari per automatizzare il processo, che saranno aggiunti dal personale IT nelle fasi di disegno e implementazione.
Il processo di accettazione spese di viaggio
Nel semplice processo di accettazione delle spese di viaggio immaginato per l’esercizio pratico, supponiamo che i ruoli responsabili dell’esecuzione della attività del processo siano tre:
- Il collaboratore (Employee), che richiede un biglietto di aereo, la prenotazione di un hotel e che registra le spese di viaggio;
- il responsabile del collaboratore (Boss), che approva le spese di viaggio e la rendicontazione delle stesse;
- l’ufficio amministrativo (Administrative Department), che esegue le prenotazioni di albergo e che compra i biglietti d’aereo.
Bizagi Modeler
Bizagi Modeler è un’applicazione software freeware per realizzare modelli di processo in BPMN. Il prodotto è rilasciato dall’azienda Bizagi, fondata nel 1989 in UK e con sedi in USA, Spagna, America Latina. Bizagi Modeler è solo una delle applicazioni di una suite completa e integrata di applicazioni software che consentono di supportare e automatizzare l’intero ciclo di vita del processo di business. Maggiori informazioni su Bizagi e la sua BPM suite sono reperibili sul sito dell’azienda stessa [1] da dove si può anche scaricare gratuitamente Bizagi Modeler.
Il modello del processo di “accettazione spese di viaggio”
Vediamo di seguito, passo passo, come procedere per la creazione e la modifica del processo in questione. Maggiori informazioni sul linguaggio BPMN sono presenti nell’articolo precedente di questa serie [2].
Creare e rinominare il pool
Quando in Bizagi Modeler si seleziona File —> Nuovo, per default viene creato un diagramma con un solo pool dal nome generico Process 1. Questo deve essere rinominato facendo doppio click sull’etichetta Process 1 e deve essere inserito il nome desiderato per il processo.
Definire le lane: una per ogni ruolo
Il passo successivo da realizzare è quello di creare tante lane per quanti sono i ruoli/entità presenti nel processo che nel nostro caso di studio come abbiamo detto sono: l’Employee, il Boss e l’Administrative department. Per realizzare questa operazione è sufficiente trascinare il simbolo della Lane all’interno del pool.
Disegnare il flusso
A questo punto andiamo a disegnare il flusso del processo assegnando a ciascun ruolo le attività di propria responsabilità. Dalla palette sulla sinistra si devono selezionare gli elementi richiesti nel flusso e fare drag & drop nella lane e posizione di interesse, quindi gli elementi vanno collegati tra di loro. In alternativa, in maniera intuitiva e semplice, è sufficiente selezionare l’elemento già posizionato nel diagramma, selezionare il successivo elemento del flusso e trascinarlo nella posizione desiderata.
Supponiamo che arrivati a buon punto del lavoro il flusso risultante del nostro processo sia quello di figura 3.
Per cambiare i nomi delle attività, etichettare i gateway (le “decisioni”) e i flussi uscenti da questi è sufficiente fare doppio click sull’elemento stesso e digitare il nome richiesto.
Nel flusso è stato disegnato un gateway di tipo Inclusive. Per disegnare il tipo di gateway richiesto è necessario selezionare il gateway di interesse con il tasto destro del mouse, selezionare la voce Gateway type e scegliere quindi il tipo che rappresenta la decisione richiesta nel flusso.
Trasformare in sottoprocessi
Supponiamo ora che l’attività Record Travel Expenses non sia un’attività atomica ma sia un sottoprocesso cioè un’attività con un flusso di processo che ha dignità di essere rappresentato. Per trasformare un’attività atomica in sottoprocesso è sufficiente selezionare l’attività di interesse con i tasto destro del mouse quindi selezionare la voce Trasform to subprocess.
Il marker “+” indicherà chiaramente che si tratta di un sottoprocesso. Per definire il flusso del sottoprocesso è sufficiente selezionarlo con il tasto destro del mouse e quindi scegliere la voce Edit Sub-Process (figura 6).
Questo apre automaticamente una nuova pagina, con lo stesso nome del sottoprocesso, dove disegnare il relativo flusso delle attività. Supponiamo che il flusso risultante per il nostro sottoprocesso sia quello di figura 7.
La dimensione temporale
Collegata all’attività Register Expenses è stato indicato un evento Intermediate di tipo Timer. Infatti in questo nostro caso di studio è stato supposto quanto segue: se l’Employee non registra le spese di viaggio entro tre giorni, il Boss eseguirà una attività di Follow Up.
Per indicare questa specifica, è necessario selezionare l’evento con il tasto destro del mouse, scegliere la voce Properties e quindi, nella finestra Element properties, selezionare Cycle; per stare nei termini di quanto previsto nel nostro processo (“Le spese devono essere registrate entro tre giorni”) nel campo che appare sotto si indicheranno “3 giorni”.
Marcatori condizionali
All’uscita dell’attività Expenses Follow Up abbiamo rappresentato un Conditional Sequence Flow con un nuovo conditional marker, un piccolo rombo. Da notare che, nel caso in cui Conditional Sequence Flow sia in uscita da un gateway, è questo stesso che rappresenta il “marcatore condizionale”. Questo nuovo marker consente di sostituire i gateway a favore di rappresentazioni più sintetiche, anche se in alcuni casi si può perdere qualcosa in efficacia della rappresentazione.
Per ottenere questo tipo di disegno è necessario selezionare il flusso di interesse, individuare la voce Property, posizionarsi sul tab Advanced, cliccare sul bottone del campo Condition e quindi, nella finestra che appare, scrivere la condizione di attivazione del flusso. La condizione specificata verrà poi automaticamente riportata nel campo Condition.
Il marker “/” che è disegnato sull’altro flusso indica che quello è il percorso di default cioè è il flusso che verrà percorso nel caso in cui la condizione imposta sull’altro flusso uscente dalla attività Expenses Follow Up non risulti verificata. Per indicare che un flusso è quello di default è necessario seguire i passi indicati per specificare la condizione del sequence flow condizionato, ma nel campo Condition Type del tab Advanced si deve indicare Default.
Alla stessa maniera e seguendo gli stessi passi, anche per i flussi uscenti dal gateway Change Request? possono essere specificate le condizioni di attivazione.
Sempre nel flusso del sottoprocesso è stato indicato che l’attività Record Expenses è di tipo Service Task cioè una attività realizzata senza l’intervento di un utente. Infatti nel nostro caso di studio abbiamo supposto che le spese approvate dal Boss siano inviate al sistema di contabilità perché vengano ufficialmente registrate. Per indicarne il tipo, si deve selezionare l’attività con il tasto destro del mouse, individuare la voce Task Type quindi scegliere il tipo che rappresenta l’attività richiesta.
Sottoprocessi, “corsie” ed entità
Un’ultima osservazione prima di concludere il nostro caso di studio. Nel flusso del sottoprocesso si sarà notato che non sono state indicate lane per indicare ruoli/entità organizzative che prendono parte al flusso di processo. Questo perché in BPMN l’uso delle lane per indicare il responsabile dell’attività è opzionale; anzi, per dirla tutta, quando i diagrammi sono riferiti a casi reali, l’uso delle lane non è pratico in quanto obbliga a disegnare dei diagrammi complicati sia da realizzare che da leggere.
Inoltre va detto che in BPMN per i sottoprocessi di tipo Embeded, come quello supposto nel nostro caso di studio, non sono ammessi né pool, né lane. Per un interessante approfondimento sull’uso delle lane, rimando a un articolo di Anatoly Belaychuk [3].
Nel modello, il responsabile dell’attività deve essere indicato nella proprietà relativa del processo. In Bizagi Modeler per indicare il responsabile di una attività si deve selezionare l’attività di interesse con il tasto destro del mouse, scorrere la voce Property, nel tab Basic selezionare il bottone Performers quindi, nella finestra Select resources che appare, selezionare la risorsa. Se la risorsa non è presenta in elenco, va aggiunta prima, richiamando la finestra Resource e selezionando il bottone in basso a destra nella finestrella Select resources, oppure usando il bottone specifico nella toolbar principale.
Conclusioni
In questo articolo abbiamo realizzato un esempio pratico di realizzazione di un modello di processo di business usando un sistema software che utilizza allo scopo la notazione BPMN. Il processo immaginato è quello di Accettazione Spese di Viaggio di una azienda generica, e il sistema usato è Bizagi Modeler, un sistema software freeware della azienda Bizagi.
Lo scopo dell’esercizio è di carattere meramente esemplificativo, quindi abbiamo supposto che il modello da realizzarsi sia di alto livello, realizzato presumibilmente da persone di business quindi del tutto mancante di dettagli implementativi che sono specificati dal personale IT.
Nel corso dell’esempio, abbiamo introdotto un nuovo marcatore per indicare i conditional sequence flow, lo small diamond (rombo piccolo), che consente di realizzare dei diagrammi più sintetici. Abbiamo inoltre fatto alcune considerazioni sull’uso delle lane nei casi reali di rappresentazione di processi di business: spesso esse non sono usate, in quanto poco pratiche, a favore dell’attributo del processo specifico per indicare il responsabile dell’attività.