Pools e Swimlanes

Introduzione

In BPMN 2.0, pools e swimlanes (conosciuti anche come lane) sono usati per organizzare processi e rappresentare visivamente i ruoli, reparti o entità coinvolti in un processo aziendale. Aiutano a chiarire chi è responsabile di quali task e come diversi partecipanti interagiscono tra loro.

Pools e Lanes

Pools

  • Scopo: Un pool rappresenta un partecipante principale nel processo o un’entità più ampia, come un’organizzazione, un sistema o un partner commerciale. I pool sono usati per definire i confini di un processo e indicano che pool differenti possono rappresentare diverse organizzazioni o reparti che lavorano insieme.

  • Rappresentazione Visiva: Un grande contenitore rettangolare che racchiude un processo completo. Può contenere più swimlanes (lane), ma ogni pool rappresenta un processo o partecipante distinto.

  • Esempio: Potrebbe esserci un pool per “Azienda A” e un altro pool per “Azienda B” in un processo in cui entrambe le aziende interagiscono.

  • Caso d’Uso: I pool sono tipicamente usati quando si vuole modellare interazioni tra diverse entità, come quando un’azienda interagisce con un fornitore esterno, un partner o un cliente. Ogni entità ha il suo pool, e i message flows tra i pool indicano la comunicazione tra le entità.

Swimlanes (Lanes)

  • Scopo: Una swimlane (o lane) è una sotto-partizione all’interno di una pool che aiuta a organizzare ulteriormente le attività separandole in base a ruoli specifici, dipartimenti o sistemi. Le lanes offrono chiarezza mostrando chi è responsabile di eseguire compiti specifici all’interno di una pool.

  • Rappresentazione Visiva: Sottodivisioni orizzontali o verticali all’interno di una pool, ciascuna rappresentante un partecipante diverso (ad es., un dipartimento, un ruolo o un sistema).

  • Esempio: All’interno della pool che rappresenta un’azienda, potresti avere lanes per “Vendite,” “Finanza,” e “Assistenza Clienti,” con compiti assegnati a ciascun dipartimento.

  • Caso d’uso: Le lanes sono utilizzate per assegnare la responsabilità dei compiti all’interno di una pool, rendendo chiaro chi svolge ogni attività. Ad esempio, i compiti relativi all’elaborazione delle fatture potrebbero essere collocati nella lane “Finanza,” mentre i compiti riguardanti le richieste dei clienti sono collocati nella lane “Assistenza Clienti.”

Pool Collassato

Collapsed Pool

  • Scopo: Un collapsed pool rappresenta un partecipante nel processo (come un’azienda, reparto o sistema) dove il flusso interno del processo non viene mostrato. Questo viene utilizzato per mostrare le interazioni tra diversi partecipanti senza rivelare i dettagli del loro workflow interno.

  • Rappresentazione Visiva: Un grande rettangolo senza attività interne mostrate. Tipicamente contiene solo il nome del partecipante e può avere message flows che entrano o escono dal pool per mostrare l’interazione con altri partecipanti.

  • Esempio: Un diagramma può mostrare un’azienda che interagisce con un fornitore. I processi interni dell’azienda sono mostrati, mentre il fornitore è rappresentato da un collapsed pool per indicare l’involvement senza dettagliare i loro passi interni.

  • Caso d’Uso: I collapsed pools sono utili quando si vuole mostrare l’interazione tra più partecipanti ma non è necessario concentrarsi sui processi dettagliati di alcuni di essi. Ad esempio, potresti voler mostrare come un cliente interagisce con un fornitore esterno senza mostrare le procedure interne del fornitore.

Caratteristiche Chiave

Pools:

  • Interazione Tra Processi: Quando si modellano più pool, è possibile utilizzare i message flows per mostrare la comunicazione tra i partecipanti. Ad esempio, un cliente potrebbe inviare un ordine a un fornitore, e ciò sarebbe rappresentato come un message flow tra i loro rispettivi pool.
  • Processi Indipendenti: Ogni pool può contenere il proprio processo. Il processo all’interno di un pool è indipendente dai processi in altri pool, anche se i message flows possono collegarli.

Swimlanes (Lane):

  • Responsabilità e Organizzazione: Le lane all’interno di un pool rappresentano diversi partecipanti, ruoli o reparti responsabili di vari task. Ogni lane aiuta a delineare la responsabilità all’interno della stessa organizzazione o entità.
  • Assegnazione dei Task: Organizzando i task in swimlanes, il modello BPMN rende più facile visualizzare quale reparto o individuo è responsabile di ciascuna parte del processo.

Collapsed Pool:

  • Rappresentazione del Partecipante: Un collapsed pool rappresenta un partecipante in un processo senza mostrare il loro workflow interno. Questo può essere un’organizzazione esterna, un reparto o qualsiasi entità che interagisce con altri partecipanti nel processo.
  • Nessuna Attività Interna: Il pool non mostra attività o task all’interno, segnalando che il processo interno è nascosto o irrilevante per il diagramma corrente.
  • Focus sull’Interazione: Il focus principale è su come il collapsed pool interagisce con altri partecipanti attraverso i message flows, piuttosto che sui passi specifici che segue internamente.
  • Visibilità dei Confini: Anche se il processo interno è nascosto, i confini del partecipante sono chiaramente segnalati per mostrare il loro coinvolgimento nel processo complessivo.
  • Vista Semplificata: I collapsed pools aiutano a semplificare diagrammi complessi escludendo i dettagli non necessari dei processi esterni, rendendo più facile concentrarsi sulle interazioni e comunicazioni.

Esempi

Esempio di Pool: In un processo di supply chain:

  • Un pool rappresenta il “Fornitore” e un altro pool rappresenta il “Cliente.”
  • Il processo all’interno del pool “Cliente” può includere l’invio di un ordine, mentre il processo nel pool “Fornitore” può includere l’elaborazione e la spedizione di tale ordine.
  • I message flows tra i pool mostrano la comunicazione, come l’invio della richiesta d’ordine e la ricezione della conferma della spedizione.

Esempio di Swimlane: In un processo interno di un’azienda:

  • Un singolo pool rappresenta “Azienda XYZ.”
  • All’interno di questo pool, le swimlanes rappresentano diversi reparti, come “Vendite,” “Operazioni,” e “Contabilità.”
  • Task come “Generare Fattura” potrebbero essere assegnati alla lane “Contabilità,” mentre “Prepara Spedizione” è assegnato alla lane “Operazioni,” mostrando chiaramente la divisione delle responsabilità.

Esempio di Collapsed Pool: In una collaborazione aziendale internazionale:

  • Un collapsed pool rappresenta “Partner Internazionale A” e un altro collapsed pool rappresenta “Partner Internazionale B.”
  • I processi interni di “Partner Internazionale A” e “Partner Internazionale B” non sono mostrati, poiché non sono rilevanti per il diagramma di processo attuale.
  • I message flows tra i collapsed pools mostrano la comunicazione, come l’invio di una proposta di contratto da “Partner A” e la ricezione di un contratto firmato da “Partner B.”
  • Il focus è sull’interazione e la comunicazione tra i due partner, non sui dettagli di come ciascun partner gestisce il contratto internamente.

Punti Chiave

  • Pools:

    • Rappresentano partecipanti separati, come aziende, reparti o sistemi.
    • Utilizzati per modellare le interazioni tra diverse organizzazioni o entità.
    • Contengono processi completi che possono comunicare con altri pool tramite message flows.
  • Swimlanes (Lane):

    • Suddivisioni all’interno di un pool, rappresentano ruoli, reparti o sistemi all’interno della stessa organizzazione.
    • Utilizzati per organizzare i task e indicare la responsabilità di attività specifiche.
    • Forniscono chiarezza assegnando i task ai partecipanti specifici all’interno dello stesso processo.
  • Collapsed Pools:

    • Rappresentano partecipanti in un processo le cui attività interne sono nascoste o irrilevanti per la vista attuale.
    • Si concentrano sulle interazioni tra diversi partecipanti, semplificando il diagramma omettendo i dettagli interni.
    • Utilizzati quando solo le comunicazioni di alto livello o gli scambi esterni tra partecipanti devono essere modellati.
    • I message flows sono utilizzati per mostrare la comunicazione tra collapsed pools e altri partecipanti.
    • Aiutano a ridurre la complessità dei diagrammi fornendo comunque chiarezza sulle interazioni tra partecipanti.

Casi d’Uso

  • Pools: Quando si modellano interazioni tra entità distinte, come un’azienda e il suo fornitore o cliente.
  • Swimlanes: Quando si modellano processi interni all’interno di un’unica organizzazione e si mostra come diversi ruoli o reparti partecipano al workflow.
  • Collapsed Pools: Quando si modellano partecipanti esterni dove il processo interno non è importante da mostrare, come un cliente che interagisce con un fornitore di servizi, concentrandosi solo sulla comunicazione tra essi piuttosto che sui passi interni del processo del fornitore di servizi.

Esempio

[SEGNAPOSTO IMMAGINE PER ESEMPIO DI POOLS E SWIMLANES]

  • Pool 1: “Cliente”

    • Lane 1: “Reparto Vendite” (Task: “Invia Ordine”)
    • Lane 2: “Reparto Contabilità” (Task: “Invia Conferma Pagamento”)
  • Pool 2: “Fornitore”

    • Lane 1: “Magazzino” (Task: “Prepara Spedizione”)
    • Lane 2: “Fatturazione” (Task: “Emetti Fattura”)

In questo diagramma, il pool Cliente comunica con il pool Fornitore tramite message flows (ad es., inviando un ordine e ricevendo una fattura), mentre i task all’interno di ciascun pool sono assegnati a specifiche lane in base alle responsabilità dipartimentali.

Pools e swimlanes sono essenziali per strutturare processi aziendali complessi, mostrando chiaramente come le diverse entità e ruoli contribuiscono al flusso di lavoro complessivo e assicurando che le responsabilità siano chiaramente definite all’interno e tra le organizzazioni.