Procesarchitectuur Van procesarchitectuur naar procesmodel

De GEMMA procesarchitectuur biedt een basis voor het inrichten van bedrijfsprocessen bij gemeenten. Veel gemeenten zullen een stap verder willen gaan, en bedrijfsprocessen uitwerken in concrete procesmodellen. Deze pagina biedt een helpende hand aan wie vanuit de procesarchitectuur procesmodellen wil opstellen in BPMN. 
BPMN (Business process model and notation) is een veelgebruikte modelleertaal om bedrijfsprocessen te modelleren. De taal biedt de mogelijkheid om in hoge mate van detail te specificeren hoe een proces verloopt, welke rollen daarbij betrokken zijn en hoe die met elkaar samenwerken. Die specificatie kan dermate exact zijn dat een BPMN-model de basis kan vormen voor geautomatiseerde ondersteuning met een BPM-pakket. 
Merk op dat de informatie op deze pagina vrij technisch van aard is, en bedoeld voor mensen die zich beroepsmatig bezig houden met procesmodellering. Voorkennis op het gebied van BPMN is nodig (zie voor meer informatie over BPMN de links onderaan deze pagina).
De GEMMA procesarchitectuur biedt zelf geen uitgewerkte procesmodellen in BPMN. Dat is een bewuste keuze: opstellen, beheer en onderhoud van dergelijke procesmodellen vergt een aanzienlijke inspanning. Bovendien: gemeenten verschillen dusdanig van elkaar dat zo'n gedetailleerd model voor de meeste gemeenten niet adequaat zou zijn. Het is daarom aan de gemeenten zelf om de bedrijfsprocessen naar eigen inzicht in te richten. De procesarchitectuur biedt daarbij hulp. Aangezien ArchiMate de modelleertaal is waarin de GEMMA is gemodelleerd, komt de vertaling naar BPMN veelal neer op een vertaling van ArchiMate naar BPMN.
Voor bepaalde veranderopgaven zoals de omgevingswet biedt de GEMMA overigens wel uitgewerkte procesmodellen als handreiking.
==Verschil ArchiMate en BPMN==
Het verschil tussen procesmodelleertaal BPMN en architectuurmodelleertaal ArchiMate is vooral gelegen in doel en toepassingsgebied. BPMN richt zich op het modelleren van concrete, uitgedetailleerde procesflows. De taal was in het verleden nauw verweven met BPEL (Business Process Execution Language), een taal die het automatiseren van processen ondersteunt. Tegenwoordig is BPEL op de achtergrond geraakt, mede omdat BPMN tegenwoordig zelf een XML-specificatie biedt voor het uitwisselen van de "technische details" van processen die nodig zijn voor het inrichten van geautomatiseerde procesondersteuning.
ArchiMate richt zich op het modelleren van architectuur, waaronder bedrijfsprocessen. De taal is veel minder rijk dan BPMN wanneer het gaat om het uitmodelleren van processen, maar biedt daarentegen veel andere concepten die BPMN weer niet kent en die geschikt zijn om processen te modelleren binnen de bredere context van de architectuur. Denk daarbij aan de relatie met bedrijfsservices, bedrijfsfuncties en bedrijfsobjecten, en concepten op de applicatielaag van de architectuur. BPMN biedt wel mogelijkheden voor het modelleren van datastores en data objects, maar geeft geen handvatten om die concepten weer in samenhang met elkaar en met andere concepten te plaatsen.
Kortom, gebruik BPMN voor het in meer detail uitwerken van bedrijfs- en deelprocessen, en gebruik ArchiMate voor het modelleren van processen binnen de bredere context van architectuur.
==Vertaling van ArchiMate naar BPMN==
===Rollen===
De rollen in de procesarchitectuur zijn in BPMN-modellen te vertalen naar pools en/of lanes. Dat kan door in een BPMN-model een participant te definiëren die correspondeert met een rol of actor in de procesarchitectuur, en die participant als pool te laten terugkomen in een collaboration diagram*. Als er sprake is van een organisatie of organisatie-eenheid (bijvoorbeeld de Gemeente als actor), dan is het veelal zinvol om in het collaboration diagram een verdere indeling in lanes te gebruiken. Die lanes corresponderen dan met de rollen binnen de desbetreffende organisatie(-eenheid). Bijvoorbeeld: in het bedrijfsproces "Behandelen vergunningaanvraag" worden de rol van aanvrager en de actor Gemeente dan in een collaboration diagram gerepresenteerd door twee pools, waarbij de pool Gemeente weer wordt opgesplitst in lanes (intaker, behandelaar, adviseur, ...).
===Bedrijfsproces, deelproces, processtap===
In het processenlandschap is een aantal bedrijfsprocessen onderkend. Een BPMN-model zal meestal als scope één zo'n bedrijfsproces hebben en dat in detail uitwerken in een collaboration diagram. Het bedrijfsproces correspondeert dan met de pool in het BPMN-model. Binnen dat model kunnen subprocessen onderkend worden, herkenbaar aan een uitklapteken. Die subprocessen corresponderen met deelprocessen uit de procesarchitectuur, en --een niveau lager-- met processtappen. BPMN kent niet het onderscheid tussen deelproces en processtap zoals we dat in de GEMMA procesarchitectuur hanteren. Voor beide gebruiken we dezelfde modelleerconcepten en -technieken. Onderscheid moet dan ook uit de context afgeleid worden (bijvoorbeeld of de lane waarin het element zich bevindt correspondeert met een persoon of met een afdeling). Het laagste niveau in de proceshiërarchie is in BPMN-modellen een task. Dit komt overeen met een handeling.
Onderstaande figuur toont een voorbeeld van een BPMN-diagram. In het diagram correspondeert de pool "Pool 0300 Bedrijfsproces
vaststellen omgevingsplan" met het bedrijfsproces in scope. De vier paarse blokken zijn deelprocessen (hoewel het uitklapteken in dit diagram niet getoond is)
===Procesbouwstenen===
Het gebruik van procesbouwstenen uit de procesarchitectuur is in BPMN-modellen te representeren met zogenaamde call activities. Een call activity staat voor een generieke, herhaalbare activiteit die vanuit meerdere processen aangeroepen kan worden; dat komt precies overeen met de gedachte achter procesbouwstenen. In ArchiMate modelleren we dit met een business process element en/of een business service element.
===Gebeurtenissen===
Gebeurtenissen kunnen direct vertaald worden vanuit de procesarchitectuur naar BPMN. In de procesarchitectuur onderscheiden we externe en interne gebeurtenissen, en gebeurtenissen die een proces starten en gebeurtenissen die uit een proces voortkomen. BPMN kent een veel rijker palet aan gebeurtenissen; de vertaalslag behoeft daarom kennis over de context. Daarbij geldt het volgende:
* Gebeurtenissen die een (deel)proces starten zijn altijd catching events (gezien vanuit het startende proces). Er is sprake van een intermediate event als binnen een bedrijfsproces een deelproces of processtap gestart wordt; is de gebeurtenis de aanleiding tot het starten van het bedrijfsproces zelf dan is er sprake van een start event.
* Gebeurtenissen die uit een proces voortkomen zijn altijd throwing events. Als het proces niet eindigt bij het afgeven van de gebeurtenis, dan is er sprake van een intermediate event; als het proces wel eindigt dan is er sprake van een end event.
===Data-objecten===
In BPMN biedt de mogelijkheid om data-objects en data-stores te koppelen aan procesmodellen. in de procesarchitectuur gebruiken we die niet, maar andere onderdelen van de GEMMA architectuur kennen wel concepten die hiermee corresponderen. In het bijzonder zijn de concepten bedrijfsobject uit de bedrijfsarchitectuur en gegevensobject uit de informatiearchitectuur te vertalen naar data-object in BPMN. 
Een data-store is wellicht het best de vergelijken met de applicatieservice in de informatiearchitectuur.
===Verbindingen===
BPMN kent drie vormen van verbindingen tussen elementen in een collaboration diagram. De eerste is de processtroom (sequence flow), weergegeven met een ononderbroken lijn met een normale pijlpunt. Deze lijn correspondeert met de "triggering"-relatie in een ArchiMate-diagram, gelukkig weergegeven met dezelfde lijnstijl. Beide geven de volgordelijke relatie weer tussen activiteiten. Let op: de term "flow" in de BPMN naamgeving suggereert verwantschap met de "flow"-relatie in ArchiMate, maar die verwantschap is niet correct; deze ArchiMate-relatie duidt op informatiestromen.
De tweede verbindingsvorm in BPMN is de message flow. Deze geeft een informatiestroom weer tussen twee pools. Deze verbinding correspondeert met de "flow"-relatie in ArchiMate. Merk op dat ArchiMate hier geen beperkingen stelt, terwijl BPMN alleen message flows toelaat tussen pools (dus niet tussen lanes binnen een pool).
De derde verbindingsvorm in BPMN is de data association. Deze wordt gebruikt om data-objects en data-stores te verbinden met proceselementen. Deze verbinding komt overeen met de "access"-relatie in ArchiMate (maar deze gebruiken we niet in de procesarchitectuur).
BPMN maakt veelvuldig gebruik van gateways voor het laten splitsen en weer bijeenkomen van sequence flows. In ArchiMate bestaan de and-junction en de or-junction, welke vergelijkbaar zijn met de parallel gateway resp. de exclusive gateway of de event-based gateway uit BPMN. In de GEMMA architectuur maken we geen gebruik van junctions, maar in procesmodellen zijn deze onvermijdelijk.
===Overzicht===
Onderstaande tabel toont in een overzicht hoe de diverse concepten uit de GEMMA architectuur (en ArchiMate waarop het GEMMA kennismodel gebaseerd is) vertaald kunnen worden naar concepten uit de BPMN standaard. NB. Met nadruk gaat het hier om een vertaling en niet een gelijkstelling. De definities in GEMMA/ArchiMate en BPMN van de in een rij genoemde concepten kunnen uiteenlopen. Ook biedt BPMN een veel rijkere set aan concepten dan ArchiMate en het GEMMA kennismodel; afhankelijk van de situatie kan het daarom zinvol zijn van onderstaande tabel af te wijken en een ander BPMN concept te kiezen.
ArchiMate / GEMMA architectuurBPMN / Procesmodellering
BedrijfsactorParticipant, Pool
BedrijfsrolParticipant, Pool, Lane (indien bedoeld als rolverdeling binnen een pool)
BedrijfsprocesPool
DeelprocesSub process (ingeklapt of uitgeklapt), doorgaans binnen een lane die (de rol van) een afdeling representeert
ProcesstapSub process (ingeklapt of uitgeklapt), doorgaans binnen een lane die (de rol van) een persoon representeert
HandelingTask
ProcesbouwsteenCall activity
BedrijfsgebeurtenisStart event (indien de gebeurtenis het proces start)Intermediate catching event (indien de gebeurtenis tijdens het proces ontvangen wordt)Intermediate throwing event (indien de gebeurtenis in het proces optreedt)End event (indien de gebeurtenis het einde van het proces markeert)Zie de BPMN specificatie voor meer mogelijkheden.
BedrijfsobjectData object
ApplicatieserviceData store
Triggering-relatieSequence flow
Flow-relatieMessage flow
Access-relatieData association
And-junctionParallel gateway
Or-junctionExclusive gateway, event-based gateway
Business Process Cooperation ViewCollaboration diagram
In deze procesarchitectuur is ter illustratie een tweetal referentieprocessen uitgewerkt tot BPMN-modellen.
==Stappenplan voor procesmodelleren==
Om een gemeentelijk bedrijfsproces in BPMN te modelleren en daarbij zoveel mogelijk de GEMMA architectuur te volgen kan het volgende stappenplan hulp bieden:
# Creëer een collaboration diagram met daarin een pool voor het bedrijfsproces.
# Bepaal welke bedrijfsactoren betrokken zijn, en in welke rollen zij hanteren. Maak onderscheid tussen interne en externe actoren en rollen. Creëer voor elke externe actor/rol een pool. Creëer voor de interne actoren/rollen elk een lane binnen de pool van het bedrijfsproces
# Modelleer dan het bedrijfsproces in termen van deelprocessen, in de vorm van sub processes onderling verbonden door sequence flows. Onderken het gebruik van procesbouwstenen en modelleer die als call activity. Gebruik ook de mogelijkheden van BPMN zoals gateways. Laat het proces beginnen met een start event en eindigen met een end event, overeenkomend met de bedrijfsgebeurtenissen uit de architectuur. Modelleer desgewenst tevens inkomende of uitgaande intermediate events.
# Afhankelijk van hoe gedetailleerd uw BPMN model moet worden kunt u de subprocesses uitklappen en invullen. Dat doet u door binnen het subprocess een nieuwe flow te modelleren. De elementen in die flow corresponderen dan met processtappen. NB. De meeste modelleertools ondersteunen niet de mogelijkheid om binnen zo'n uitgeklapt subprocess zelf weer lanes of pools te definiëren. Dat is jammer, want juist op dat niveau is het vaak interessant om message exchanges te modelleren. Dat kan dan alleen door het subprocess als separaat model te modelleren, maar dat maakt het weer moeilijker om "door te klikken".
# Om nog verder in detail te treden kunt u de subprocesses die processtappen representeren ook weer uitklappen en verder invullen. Gebruik dan tasks; die komen overeen met handelingen.
# Modelleer de interacties met externe actoren door middel van message flows tussen de centrale pool van het bedrijfsproces en de pools die de externe actoren representeren. Een uitgaande message flow representeert een uitgaande notificatie, een ingaande message flow een binnenkomend bericht, en een inkomende plus uitgaande message flow representeert een dialoogModelleer desgewenst ook binnen die pools sub processes en sequence flows; dit is echter niet nodig en veelal niet mogelijk (omdat de procesgang bij de externe partij niet bekend is).
# Modelleer desgewenst de bedrijfsobjecten die binnen het proces gecreëerd, bijgewerkt of alleen gebruikt worden als data objects, verbonden via data associations. Als u data stores in uw BPMN model wilt opnemen, kijk dan met welke applicatieservices uit de architectuur die overeenkomen.
==CMMN en DMN==
Naast BPMN zijn ook CMMN (Case Management Model and Notation) en DMN (Decision Model and Notation) notatiewijzen die bruikbaar kunnen zijn bij het modelleren en inrichten van activiteiten bij gemeenten. Met de nog relatief jonge standaard CMMN kunnen activiteiten worden gemodelleerd die een casemanagement-aanpak volgen, met andere woorden waar niet een vast proces gehanteerd wordt maar waar de activiteiten dynamisch worden bepaald op basis van de onderhavige "zaak". 
DMN biedt een standaard voor het gestructureerd vastleggen van besluiten (=afwegingen op basis van vaste criteria), en kan gebruikt worden voor het definiëren van de gateways in BPMN-diagrammen: elke gateway waar een keuze gemaakt moet worden in de procesflow, kan voorzien worden van een in DMN opgesteld besluitalgoritme.
==Meer informatie==
Raadpleeg voor meer informatie over BPMN een van de volgende bronnen:
* De formele BPMN-specificatie
* Het boek Bruce Silver - BPMN Method & Style
* Een handige poster met alle BPMN-concepten bij elkaar
* De formele CMMN-specificatie
* De formele DMN-specificatie
* Een complicerende factor is dat sommige BPMN modelleertools het concept participant niet kennen, of het concept pool hard koppelen aan één enkel proces. Men neemt dan het proces (of de collaboration) als scope van het model. Dat is vanuit de BPMN-specificatie gezien wellicht logisch maar niet vanuit een meer holistische blik op de gemeente zoals de procesarchitectuur. Een oplossing is dan meerdere pools met gelijke naam te modelleren, of de naam van het proces in de pool op te nemen. Beide zijn niet ideaal.