Inleiding tot BPMN - overheid.vlaanderen.be · DBZ - Afdeling PIB 4 BPMN is • “Business Process...

69
Inleiding tot BPMN Samuël Sourdeau & Lars Hegemann Laatste bijwerking: feb 2010

Transcript of Inleiding tot BPMN - overheid.vlaanderen.be · DBZ - Afdeling PIB 4 BPMN is • “Business Process...

Inleiding tot BPMN

Samuël Sourdeau & Lars Hegemann

Laatste bijwerking: feb 2010

DBZ - Afdeling PIB 2

Inhoud

• Situering BPMN

• BPMN syntax

• BPMN met methode en stijl ;-)

• Oefeningen

• BPMN hulpmiddelen

• Bronnen

DBZ - Afdeling PIB 3

Situering BPMN

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 9

BPMN en procesmodellen

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 11

BPMN als de facto standaard

DBZ - Afdeling PIB 12

BPMN Syntax

DBZ - Afdeling PIB 13

4 BPMN basis elementen

• Flow objects � Stroomobjecten

• Connecting objects � Connectoren

• Swimlanes � Zwembanen

• Artifacts � Artefacten

DBZ - Afdeling PIB 14

BPMN basis elementen,

symbolen

Name

Name

NameName

Name

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 19

BPMN syntax overzicht (1)

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 28

BPMN syntax overzicht (2)

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 38

BPMN syntax overzicht (3)

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 44

Default ≠ Normal Flow

DBZ - Afdeling PIB 45

Regels voor Sequentiestromen

Van/naar

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 47

Regels voor Berichtenstromen

Van/naar

Na

am

(Pool)

Na

am

(Pool)

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 49

BPMN syntax overzicht (4)

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 53

Swimlanes voorbeeld

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 59

BPMN elementen Overzicht

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)