Inleiding tot BPMN - overheid.vlaanderen.be · DBZ - Afdeling PIB 4 BPMN is • “Business Process...
Transcript of Inleiding tot BPMN - overheid.vlaanderen.be · DBZ - Afdeling PIB 4 BPMN is • “Business Process...
DBZ - Afdeling PIB 2
Inhoud
• Situering BPMN
• BPMN syntax
• BPMN met methode en stijl ;-)
• Oefeningen
• BPMN hulpmiddelen
• Bronnen
DBZ - Afdeling PIB 4
BPMN is
• “Business Process Modelling Notation” = een grafische notatie om bedrijfsprocessen te modelleren in de vorm van een stroomdiagram
– een set van symbolen met bepaalde betekenis (semantiek) en de regels
• In scope van BPMN
– Wie doet wat wanneer?
• Uit scope van BPMN
– Organisatiestructuur, Procesarchitectuur, Strategie, Data modellen, Dataflow, Bedrijfsregels, …
DBZ - Afdeling PIB 5
BPMN Historiek
• BPMI.org (2002) � BPMN 1.0 in 2004
• OMG neemt BPMN in beheer (2006)
• BPMN 1.1, OMG Spec Feb 2008
• BPMN 1.2, OMG Spec Jan 2009
• versie 2.0 in wording, gefinaliseerd in 2010?
DBZ - Afdeling PIB 6
Doel en doelgroepen
COMMUNICATIE
begrijpen en valideren
beschrijven
begrijpen en interpreteren
DBZ - Afdeling PIB 7
BPMN Charter
• A standard Business Process Modeling Notation (BPMN) will provide businesses with the capability of understanding their internal business procedures in a graphical notation and will give organizations the abilityto communicate these procedures in a standard manner. Furthermore, the graphical notation will facilitate the understanding of the performance collaborations and business transactions between the organizations. Thiswill ensure that businesses will understand themselvesand participants in their business and will enableorganizations to adjust to new internal and B2B business circumstances quickly. (Bron : OMG)
DBZ - Afdeling PIB 8
BPMN en BPM cyclus
documenteren/
modelleren analyseren / simuleren
uitvoeren
implementeren/
ontplooien
monitoren
/ opvolgen
evalueren
BPM
Procesbeheer
BPMN
communiceren
valideren
bijsturen
Plan
Act
CheckDo
definiëren/
inventariseren
DBZ - Afdeling PIB 10
Het succes van BPMN
• Technologie en vendor-onafhankelijke standaard, ondersteund door de meeste proces modelleer tools� belangrijke voorwaarde voor herbruikbaarheid
• Een taal voor verschillende partijen in de organisatie � communicatie
• Beperkte set van basis elementen, kan worden uitgebreid met sub-types � eenvoudig
• Eenduidige en expressieve notatie (tov traditionele flow-charting) � Afstemming tussen Business en ICT is beter
DBZ - Afdeling PIB 13
4 BPMN basis elementen
• Flow objects � Stroomobjecten
• Connecting objects � Connectoren
• Swimlanes � Zwembanen
• Artifacts � Artefacten
DBZ - Afdeling PIB 15
Activities (Activiteiten)
• “het werk” dat wordt uitgevoerd
• 2 soorten:
– Sub-Proces
– Taak
• Verschillende “markers” met specifieke
betekenis
DBZ - Afdeling PIB 16
Sub-Proces
Het principe van Sub-Proces zorgt ervoor dat je:
– end-to-end processen kan beschrijven
– een hiërarchie van processen kan maken (embedded sub-processes)
– met verwijzingen naar een ander proces (reusable sub-processes)
– met verschillende niveau’s van detail
DBZ - Afdeling PIB 17
Sub-proces weergeven
Een Sub-proces is een
samengestelde
(compound) Activiteit
Collapsed (details zijn niet zichtbaar)
Expanded & embedded(details zijn zichtbaar)
DBZ - Afdeling PIB 18
Task (taak)
• een atomaire Activiteit
– wordt niet verder gedecomponeerd op
een lager niveau in het model
• Eenheid van tijd, ruimte en uitvoerder
• wordt uitgevoerd door een actor of een informatie systeem (applicatie)
DBZ - Afdeling PIB 20
Gateways (Kruispunten)
• controle punten in het proces
waar de processtromen uit elkaar
(split) gaan of samenkomen.
• Het intern teken duidt op een
specifiek gedrag voor de stromen
• Alleen wanneer controle nodig
is
• ≠≠≠≠ Activiteit van beslissen
DBZ - Afdeling PIB 21
XOR Kruispunten
• het proces kan maar via één enkele van de uitgaande sequentiestromen verder.
– De figuurlijke 2 of “n-sprong”
• Slechts één pad ~ voorwaarde
• Twee beslissingsmechanismen
– Data-based (waarde van gegevens) of
– Gebeurtenis-based (events)
DBZ - Afdeling PIB 22
Data-based XOR kruispunt
• De keuze van uitgaande sequentiestroom ~ toets van voorwaarden
• Eenduidige voorwaarden!
300 =< x of 200<x<500
DBZ - Afdeling PIB 23
Gebeurtenis-based XOR kruispunt
• Keuze gebaseerd op
gebeurtenissen (events) die zich
op dat punt van het proces
voordoen
• Race condition,
� eerst komt, eerst maalt
DBZ - Afdeling PIB 24
OR Kruispunt
• Meerdere mogelijkheden: “OR kruispunt”: 1 of meer alternatieven~ voorwaarden op sequentiestromen
• Marker = “O” in de ruit
• Zelfde kruispunt voor het samenbrengen
DBZ - Afdeling PIB 25
Parallelle kruispunt
• Om parallelle stromen te
synchroniseren en eventueel te
creëren (niet verplicht)
• Wordt aangeduid met een +
teken in de ruit
• De AND-join of “wait for” is
verplicht om parallelle flows
samen te brengen alvorens
verder te gaan naar de
volgende Activiteit
DBZ - Afdeling PIB 26
Complex kruispunt
• Modelleren van beslissingen die moeilijk met de andere kruispunt types te modelleren zijn.
• Soms ook om een verzameling met elkaar verbonden kruispunten compact weer te geven
• Voorgesteld met een asterisk in de ruit
• Zowel voor beslissing als voor een merge(samenbrengen)
• Beslissing : bvb op basis van project data (tijd, kost, kwaliteit) wordt een set van alternatieven geactiveerd
• Merge ; bvb wanneer 3 op 5 adviezen positief zijn loopt het proces verder
DBZ - Afdeling PIB 27
BPMN Looping
• 3 manieren om looping weer te geven
– “While” en “Until” Loop
• Shortcut of met sequentiestroom
– Multiple-instancesequentieel of parallel
DBZ - Afdeling PIB 29
Events (Gebeurtenissen)
• Drie Gebeurtenis Types : Start, Intermediate en End, onderscheiden door boord van cirkel
• Gebeurtenissen kunnen een flow starten, uitstellen, onderbreken of beëindigen
• gebeurtenissen beïnvloeden de flow van het proces en hebben
– een trigger (die de oorzaak van de gebeurtenis bepaalt)
– een resultaat (impact)
DBZ - Afdeling PIB 30
Start Events
• 6 triggers die een proces doen aanvangen
• Aangeduid door het symbool binnen de cirkel
• Geeft aan waar een gegeven proces aanvangt
• Bij triggering genereert dit een nieuwe instantie die via
het netwerk van Sequentiestromen (Sequence Flows) tot
een End gebeurtenis moet leiden
• Kan geen inkomende Sequentiestroom hebben, wel een
inkomende berichtenstroom
Message
Timer
Conditional
Signal
Multiple
None
DBZ - Afdeling PIB 31
End Events
• Een end event geeft aan waar een
proces stopt
• 8 types (ahv symbool binnen de cirkel)
geven het resultaat aan wanneer het
event bereikt wordt
• Uit een end event kan geen
Sequentiestroom vertrekken of een
Berichtenstroom toekomen
DBZ - Afdeling PIB 32
Intermediate Events
• Om gebeurtenissen weer te geven die zich voordoen tussen het begin en een eindpunt van het proces
• Ze kunnen gebruikt worden om
– te tonen waar berichten verwacht of verstuurd worden in het proces
– te tonen waar in het proces gewacht wordt
– de normale verloop van een flow te onderbreken om uitzonderingen te behandelen
– om processtromen over meer dan één diagram uit te tekenen
DBZ - Afdeling PIB 33
Positie Intermediate Events
Message
Timer
Error
Cancel
Compensation
Conditional
Link
Signal
Multiple
Catching Throwing
None
Positie
•9 types, aangeduid door het symbool binnen de cirkel
•De betekenis van een IE wordt ook bepaald door de positie in een BPD
–in Normale Flow
–op Rand van Activiteit (Exception Flow)
DBZ - Afdeling PIB 34
IE in sequentiestroom
• in een Normale Flow kan een IE voor twee zaken dienen
– de IG wacht om een trigger te vangen (catching) en te beantwoorden
– de IG dient om een trigger onmiddellijk te genereren (throwing)
• Sinds v1.1 bestaat ook een visueel onderscheid tussen catching en throwinggebeurtenissen
DBZ - Afdeling PIB 35
IE op Rand van Activiteit
• Altijd catching
• Wanneer de IE getriggerd wordt, wordt de activiteit in uitvoering onderbroken en wordt de exception flow gevolgd
• Wordt voornamelijk gebruikt voor
– time-out
– behandeling van uitzonderingen of fouten
DBZ - Afdeling PIB 36
Exception Flow
• Als de opgeplakte gebeurtenis geactiveerd wordt, onderbreek dan de activiteit en ga verder met de uitzonderingstroom.
• Als de activiteit eindigt voordat het gebeurtenis gebeurt, neem dan de normale stroom
DBZ - Afdeling PIB 37
Vb’en Start en Intermediate Events
Enkele patronen met veel gebruikte EventTriggers : Message en Timer
DBZ - Afdeling PIB 39
BPMN Connectoren
• Sequentiestroom: toont in welke
volgorde de activiteiten uitgevoerd
worden
• Berichtenstroom: toont de flow van
berichten tussen twee pools
• Association: associeert informatie en
Artifacts met Stroomobjecten
(Activiteit, Kruispunt of Gebeurtenis)
of een sequentie- of berichtenstroom
Sequence Flow
Message Flow
Association
DBZ - Afdeling PIB 40
Sequence Flow (Sequentiestroom)
• Elke Sequentiestroom heeft slechts één doel en één vertrekpunt
• Doel en vertrekpunt moeten Stroomobjecten zijn : Activiteiten Gebeurtenissen Kruispunten
• De objecten binnen een Uitgevouwen Sub proces (expanded Sub-Process) mogen niet dmv een Sequentiestroom verbonden worden met objecten buiten het Sub proces
• Sequentiestromen mogen de rand van een Zwembaden (Pools) niet kruisen
DBZ - Afdeling PIB 41
3 soorten Sequentiestromen
• Normal Sequentiestroom:
deze weg wordt ALTIJD
gevolgd
• Conditional
(voorwaardelijke)
Sequentiestroom: ENKEL
als de voorwaarde vervuld is
• Default Sequentiestroom:
deze weg wordt genomen
wanneer de andere condities
niet vervuld zijn
DBZ - Afdeling PIB 42
Conditional Sequence Flow
• Voorwaardelijke sequentiestroom: welbepaalde voorwaarde, vertrekkend vanuit
– een Activiteit (voorgesteld met een mini-ruitaan de start van de SS)
• Indien vanuit Activiteit � minstens 2 Sequentiestromen
• Alternatieve voorstelling: Inclusief Kruispunt
DBZ - Afdeling PIB 43
“Default” Sequentiestroom
• Wordt enkel en alleen gevolgd als voorwaarden van alle andere stromen ONWAAR zijn bij uitvoering van het proces.
• Aangeduid door een Backslash aan het begin van de pijl.
DBZ - Afdeling PIB 46
Message Flow (Berichtenstroom)
• Toont de flow van berichten tussen twee aparte deelnemers (pools)
• Een BS kan zowel de Pools zelf als Activiteiten van aparte Pools met elkaar verbinden
• BS’s mogen in geen geval Flow Object binnen eenzelfde Pool met elkaar verbinden
DBZ - Afdeling PIB 48
Associations (Associaties)
• Tekst en grafische niet-stroomobjecten kunnen geassocieerd worden met Stroom en Stroomobjecten
• Gerichte Associatie: toont dat een Data object een input of een output is van een Activiteit
DBZ - Afdeling PIB 50
Het concept van Swimlanes
• Helpt de activiteiten structureren volgens de actoren die ze uitvoeren
• Er zijn twee types swimlanes : Pool (zwembad) en Lane (zwembaan)
– Een Pool stelt een organisatie eenheid of een
proces voor.
– Een Lane is een onderverdeling van een Pool
DBZ - Afdeling PIB 51
Pools (Zwembaden)
• Een grafische container waarmee een Proces wordt onderscheiden van andere Pools (typisch in een B2B
context).
• De Sequentiestroom mag de grenzen van de Pool niet
kruisen
• Interacties tussen Pools: berichtenstroom (berichten)
• Een Pool kan als een “Black Box” worden voorgesteld �zonder details van een proces
DBZ - Afdeling PIB 52
Lanes (Zwembanen)
• Onderverdelingen van een Pool: om activiteiten binnen de Pool te structureren
• Actoren, deelentiteiten, systemen
• Lane op meerdere niveau’s (“nested”)
• Een Sequentiestroom mag de grenzen van de Lanes binnen een Pool kruisen
DBZ - Afdeling PIB 54
Artifacts (Artefacten)
• Bijkomende informatie mbt een
Proces
• Drie standaard Artefacten: Data
Objecten, Groepen, en Annotaties
• Je mag BPMN-diagrammen
uitbreiden en nieuwe types Artifacts
toevoegen, zolang:
– Regels voor Sequentiestromen en Berichtenstromen gerespecteerd worden
en
– er geen grafische conflicten zijn met
DBZ - Afdeling PIB 55
Data Objects (Data Objecten)
• Geven aan wat het Proces doet met informatie: documenten, data, …
• Het gebruik van DO’s niet verplicht.
• Worden verbonden via Associatie met Activiteiten of met Stromen
– In het eerste geval toont de richting van de Association aan of DO Inputof Output is.
– De [status] van het DO toont welke invloed de Activiteit op het DO heeft.
DBZ - Afdeling PIB 56
Tekst Annotaties
• Bijkomende informatie
• Kan via een Associatie
verbonden worden met een
specifiek object op het
diagram, maar het beïnvloedt
geenszins de flow van het
proces.
DBZ - Afdeling PIB 57
Group (Groep)
• Activiteiten die tot eenzelfde categorie behoren bundelen
– Zonder invloed op de Sequentiestroom van de Activiteiten binnen de Groep
• Categorieën kunnen nuttig zijn voor documentatie en
analyse doeleinden (ook kleuren!)
• Groepen mogen zowel over de grenzen van Lanes als
over die van Pools reiken
DBZ - Afdeling PIB 58
Orchestration en Choreography
• Choreography is het geordend uitwisselen van berichten tussen pools (bvb B2B)
• Orchestration is het geordend uitvoeren van activiteiten binnen een pool
DBZ - Afdeling PIB 60
“Core” vs “Advanced”
• Proces modelleren op business : met een minimum aan
BPMN elementen
• “Core” vs “Advanced” (White en Miers, 2008)
• Core � Business Analisten en eindgebruikers
• Advanced � meer gesofisticeerde elementen voor analyses met oog op execution en simulatie (door IS
ondersteund)
• Core + Advanced = full BPMN
DBZ - Afdeling PIB 61
Events kern & gevorderd
Core
Advanced?
Bron : BPMN Modellingen Reference Guide, White en Miers, 2008
DBZ - Afdeling PIB 62
Kruispunten kern & gevorderd
CoreAdvanced?
Bron : BPMN Modellingen Reference Guide, White en Miers, 2008
DBZ - Afdeling PIB 63
BPMN modelleren, methode en stijl
Alle modellen zijn onvolledig;
sommige modellen zijn nuttig
DBZ - Afdeling PIB 64
BPMN modelleren, methode en stijl
• Maak eerst een Context-analyse (KOMPAS)
• Leesbaarheid diagrammen
– Verkies horizontaal modelleren
– Beschrijvingen
– Vuistregel : max. 10 Activiteiten op 1 diagram
• Werk niet enkel op Taak niveau (Overzicht!)
• Activiteiten � werk wordt uitgevoerd : minstens een werkwoord
DBZ - Afdeling PIB 65
BPMN modelleren, methode en stijl
• Benoem de Gebeurtenissen
– korte naam, niet binnen de cirkel
• Vermijd meerdere start-gebeurtenissen
• Gebruik meerdere End-gebeurtenissen om verschillende eind-toestanden van een proces te tonen
DBZ - Afdeling PIB 66
BPMN modelleren, methode en stijl
• Kruispunten = controlepunten,
≠ activiteiten; � tekst annotatie
• Voorwaarden op
sequentiestromen
• “Versturen” taak en
“ontvangen” taak, meer dan
een gebeurtenis.
Versturen Ontvangen
DBZ - Afdeling PIB 67
BPMN oefeningen
• BPMN oefeningen : open vragen
• Zelf-test BPMN, multiple choice
• De Mecenas Trust Bank case
DBZ - Afdeling PIB 68
BPMN Hulpmiddelen
• BPMN v1.2 Poster
• Core 1 en Core 2 docs van PIB
• Afdeling PIB en websitehttp://bz.vonet.be/nlapps/docs/default.asp?fid=1088
• Denkpiste : BPMN FAQ’s / Best Practices + een BPMN
praktijkgroep in de Vo?
• BPMN 1.2 Visio stencil van PIB
• gratische BPMN modelling tools (bvb. BizAgi)
DBZ - Afdeling PIB 69
BPMN Bronnen
• http://www.bpmn.org/ � Alle versies van de BPMN spec
• http://www.brsilver.com/wordpress/
• http://bpmn.be/
• http://www.bptrends.com/
• Aanbevolen lectuur
– BPMN Modeling and Reference Guide understanding and Using BPMN,
2008, aanwezig in Bib DAR (v1.2)
– The Process, Business Process Modeling Using BPMN, 2009 (v1.2)
– BPMN, Method and Style, 2009, (v2.0)