BPMN 2.0 - an introduction to the Level 1 Palette

121
BPMN 2.0 Introduction to the Level 1 Palette by Declan Chellar

Transcript of BPMN 2.0 - an introduction to the Level 1 Palette

Page 1: BPMN 2.0 - an introduction to the Level 1 Palette

BPMN 2.0Introduction to the Level 1 Palette

by Declan Chellar

Page 2: BPMN 2.0 - an introduction to the Level 1 Palette

Scope of this slide deck

• In: an introduction to the shapes of the Level 1 Palette of BPMN 2.0

• In: textual explanations of the purpose of each shape

• In: stand-alone visual examples of the use of each shape

• Out: an example start-to-finish process model

Page 3: BPMN 2.0 - an introduction to the Level 1 Palette

What is BPMN?

• “Business Process Model and Notation”

• A graphical technique for modelling business processes

• Based on flowcharting

• An expressive language with vocabulary, grammar and syntax

• Managed by the Object Management Group

Page 4: BPMN 2.0 - an introduction to the Level 1 Palette

Why use BPMN?

• It is an international standard, the lingua franca of process modelling

• Easily understood by non-technical business people

• Caters well for event-based process modelling

• Caters well for exception scenarios

• Caters well for hierarchical modelling

Page 5: BPMN 2.0 - an introduction to the Level 1 Palette

Why use the Level 1 Palette?

Any of the following is a good reason to stick to Level 1:

• You are not familiar with the shapes of the Level 2 Palette

• You are modelling an initial overview of a process

• You want a simple (non-executable) model of a process

• You don’t need to model event-triggered behaviour

Page 6: BPMN 2.0 - an introduction to the Level 1 Palette

First some symbols

• Instructions appear with this symbol:

• Handy tips appear with this symbol:

• Warnings appear with this symbol:

• Quotes from the BPMN 2.0 Specification appear with this symbol:

(along with a reference to the relevant section in the specification)

Page 7: BPMN 2.0 - an introduction to the Level 1 Palette

Pools and Lanes

Page 8: BPMN 2.0 - an introduction to the Level 1 Palette

This is a Pool. It represents an

entire Process from start to finish.

Page 9: BPMN 2.0 - an introduction to the Level 1 Palette

[Pro

ce

ss N

am

e]

The process name

goes here.

Page 10: BPMN 2.0 - an introduction to the Level 1 Palette

[Pro

ce

ss N

am

e]

Process names are always verb phrases and should reveal the

intent of the process.

Page 11: BPMN 2.0 - an introduction to the Level 1 Palette

[Pro

ce

ss N

am

e]

These are all good process names

because the verbs directly address the core activity and

intent of the process.

Replace

Customer Card

Request Vacation

Add New Account

Switch

Customer Account

Page 12: BPMN 2.0 - an introduction to the Level 1 Palette

[Pro

ce

ss N

am

e]

Noun phrases do not make good

process names because processes are about activity and a phrase that lacks a verb obscures the core activity of the process.

Customer CardReplacement

Vacation Request

New Account

Switch

Customer Account

Page 13: BPMN 2.0 - an introduction to the Level 1 Palette

[Pro

ce

ss N

am

e]

Within a Pool, we must

have at least one Lane. A Lane represents the

Performer of any tasks that sit within that Lane.

Page 14: BPMN 2.0 - an introduction to the Level 1 Palette

[Pro

ce

ss N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

The Performer name

goes here.

The Performer name

goes here.

Page 15: BPMN 2.0 - an introduction to the Level 1 Palette

[Pro

ce

ss N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

Performer names are always

noun phrases and can represent individual roles, teams, departments or can

represent a desire for Activities to be automated.

Page 16: BPMN 2.0 - an introduction to the Level 1 Palette

[Pro

ce

ss N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

Personnel Manager

Claims

Adjuster

System

(for Activities to be automated)

Accounts

Department

These are all good Performer names.

Page 17: BPMN 2.0 - an introduction to the Level 1 Palette

[Pro

ce

ss N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

Those who perform activities within the same process must be modelled as Lanes within

the same process Pool.

Page 18: BPMN 2.0 - an introduction to the Level 1 Palette

[Nam

e]

[Pro

ce

ss N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

You can also have Pools outside

the process, to indicate entities or other processes that interact with

the process you are modelling.

Page 19: BPMN 2.0 - an introduction to the Level 1 Palette

[Nam

e]

[Pro

ce

ss N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

If we do not model what happens

inside them, they are known as Black Box Pools.

Page 20: BPMN 2.0 - an introduction to the Level 1 Palette

[Nam

e]

[Pro

ce

ss N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

We do not model what happens inside a Black Box Pool because:

• we do not know• or we do not care

• or we cannot control it

Page 21: BPMN 2.0 - an introduction to the Level 1 Palette

[Nam

e]

[Pro

ce

ss N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

However, if we do know what goes

on inside the other Pool and we can control it and we do care, then we

model it as another White Box Pool.

Page 22: BPMN 2.0 - an introduction to the Level 1 Palette

[Nam

e]

[Pro

ce

ss N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

Message X Received

Request Information Y

Send Message Z

Receive Information Y

Message X

Request for Information Y

Information YMessage Z

We show the interactions

between Pools with Message Flows.

Page 23: BPMN 2.0 - an introduction to the Level 1 Palette

[Nam

e]

[Pro

ce

ss N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

Message X Received

Request Information Y

Send Message Z

Receive Information Y

Message X

Request for Information Y

Information YMessage Z

More on Message

Flows later.

Page 24: BPMN 2.0 - an introduction to the Level 1 Palette

[Nam

e]

[Pro

ce

ss N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

Message X Received

Request Information Y

Send Message Z

Receive Information Y

Message X

Request for Information Y

Information YMessage Z

The interacting Pools are

called Participants.

Don’t confuse the

terms Participant and Performer.

Page 25: BPMN 2.0 - an introduction to the Level 1 Palette

[Nam

e]

[Pro

ce

ss N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

Message X Received

Request Information Y

Send Message Z

Receive Information Y

Message X

Request for Information Y

Information YMessage Z

A model that shows the

interactions between participating Pools is called a

Collaboration.

Page 26: BPMN 2.0 - an introduction to the Level 1 Palette

Events

Page 27: BPMN 2.0 - an introduction to the Level 1 Palette

Events

An Event is something that “happens” during the

course of a Process… BPMN has restricted the use of Events to include only those types of Events that will

affect the sequence or timing of Activities of a Process. (section 8.3.5)

Page 28: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

Every process has at least one Event

which starts it.

Page 29: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

A Start Event is

represented by a circle with a single, thin border.

Page 30: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

[Label]

Label the Start Event to make

process trigger explicit.

Page 31: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

[Label]

“Start” is not a suitable label for a Start Event, as it adds no information about

what causes the process to start.

Page 32: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

[Label]

These are all good Start Event labels.

Customer Order

Received

15.00 daily

Need for

warehouse maintenance

identified

Page 33: BPMN 2.0 - an introduction to the Level 1 Palette

The three basic types

of Start Event in BPMN 2.0 are:

Page 34: BPMN 2.0 - an introduction to the Level 1 Palette

The three basic types

of Start Event in BPMN 2.0 are:

“None”: the process is started manually.

Page 35: BPMN 2.0 - an introduction to the Level 1 Palette

The three basic types

of Start Event in BPMN 2.0 are:

“None”: the process is started manually.

“Message”: the

process starts when a Message is received from another Pool.

Page 36: BPMN 2.0 - an introduction to the Level 1 Palette

The three basic types

of Start Event in BPMN 2.0 are:

“None”: the process is started manually.

“Message”: the

process starts when a Message is received from another Pool.

A Message is not necessarily a letter or an email. It could be one person

talking to another. A message represents nothing more than an interaction between two Pools.

Page 37: BPMN 2.0 - an introduction to the Level 1 Palette

The three basic types

of Start Event in BPMN 2.0 are:

“None”: the process is started manually.

“Message”: the

process starts when a Message is received from another Pool.

“Timer”: the process starts at a particular

time, or date, or frequency, etc.

Page 38: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

Processes must have at least

one End Event, which indicates not just that the

process ends, but also the end state of the process.

Page 39: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

An End Event is

represented by a circle with a single, thick border.

Page 40: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

[Label]

End Events should be labelled to provide information about what the outcome of the process is.

Page 41: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

[Label]

“End” is not a suitable label for

an End Event, as it adds no information about the end state

of the process.

Page 42: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

[Label]

These are all good End Event labels.

Customer Order

Fulfilled

Vacation Request

Rejected

Account Switched

Card Replaced

Page 43: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

[Label]

All possible Start Events and all

possible End Events must be shown in the process Pool at the

top level of your model.

Page 44: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

[Label]

This allows you to navigate

the entire process at the highest level without needing

to know the details.

Page 45: BPMN 2.0 - an introduction to the Level 1 Palette

The three basic types of End Event in BPMN

2.0 are:

Page 46: BPMN 2.0 - an introduction to the Level 1 Palette

The three basic types of End Event in BPMN

2.0 are:

“None”: the process throws no signal at

the end.

Page 47: BPMN 2.0 - an introduction to the Level 1 Palette

The three basic types of End Event in BPMN

2.0 are:

“None”: the process throws no signal at

the end.

“Message”: the

process throws a Message signal to

another Pool.

Page 48: BPMN 2.0 - an introduction to the Level 1 Palette

The three basic types of End Event in BPMN

2.0 are:

“None”: the process throws no signal at

the end.

“Message”: the

process throws a Message signal to

another Pool.

“Terminate”: all

active paths at the same process level

are aborted.

Page 49: BPMN 2.0 - an introduction to the Level 1 Palette

Activities

Page 50: BPMN 2.0 - an introduction to the Level 1 Palette

Activities

An Activity is work that is performed

within a Business Process. (section 10.2)

Page 51: BPMN 2.0 - an introduction to the Level 1 Palette

The performance of work can only be represented

by Activity shapes.

Page 52: BPMN 2.0 - an introduction to the Level 1 Palette

Atomic activities cannot be broken down into further steps and are represented

by the Task shape.

Page 53: BPMN 2.0 - an introduction to the Level 1 Palette

The Sub Process shape is

used for Activities that are broken down into further Tasks or Sub Processes.

Page 54: BPMN 2.0 - an introduction to the Level 1 Palette

More on Sub

Processes shortly.

Page 55: BPMN 2.0 - an introduction to the Level 1 Palette

[Nam

e]

[Pro

ce

ss N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

Tasks must sit within the Lane that performs the

work.

Page 56: BPMN 2.0 - an introduction to the Level 1 Palette

[Nam

e]

[Pro

ce

ss N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

You don’t have to indicate the Task type but it does add clarity.

Page 57: BPMN 2.0 - an introduction to the Level 1 Palette

User (person symbol):

In the Level 1 palette, the User Task type represents any atomic activity carried out by a human.

Page 58: BPMN 2.0 - an introduction to the Level 1 Palette

Service (gears symbol):

In the Level 1 palette, the Service Task type represents any

automated, atomic activity.

Page 59: BPMN 2.0 - an introduction to the Level 1 Palette

Sequence Flows

Page 60: BPMN 2.0 - an introduction to the Level 1 Palette

Sequence Flows

A Sequence Flow is used to show the order of Flow Elements in a Process.

(section 8.3.13)

Page 61: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

To show the order of flow

between shapes, we use the Sequence Flow shape.

Page 62: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

To show sequence flow, we

use the Sequence Flow shape.

There are different types of arrow-

headed shapes in BPMN, so get used to calling this one by its correct name: Sequence Flow

Page 63: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

A Sequence Flow can have only one source

and one target.

Page 64: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

Sequence Flows must always

stay within a Pool.

Page 65: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

Sequence flows may never

cross a pool boundary.

Page 66: BPMN 2.0 - an introduction to the Level 1 Palette

Message Flows

Page 67: BPMN 2.0 - an introduction to the Level 1 Palette

Message Flows

A Message Flow is used to show the flow of Messages between

two Participants that are prepared to send and receive them.

(section 9.3)

Page 68: BPMN 2.0 - an introduction to the Level 1 Palette

[Nam

e]

[Pro

ce

ss N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

Message XReceived

Message X

Catching Message Events

(white envelope) musthave an incoming Message

Flow from the boundary of another Pool.

Page 69: BPMN 2.0 - an introduction to the Level 1 Palette

[Nam

e]

[Pro

ce

ss N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

Message XReceived

Send Message Y

Message X Message Y

Throwing Message Events

(black envelope) musthave an outgoing Message

Flow to the boundary of another Pool.

Page 70: BPMN 2.0 - an introduction to the Level 1 Palette

[Nam

e]

[Pro

ce

ss N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

Message XReceived

Send Message Y

Message X Message Y

Message Flows may only

pass between Pools.

Page 71: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

Message X

Message Flows may never

pass within a Pool.

Page 72: BPMN 2.0 - an introduction to the Level 1 Palette

[Nam

e]

[Pro

ce

ss N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

Message X Received

Request Information Y

Send Message Z

Receive Information Y

Message X

Request for Information Y

Information YMessage Z

What shapes can send Messages?

Task

Message

Throwing Event

Black Box Pool

boundary

Black Box Pool

boundary

Page 73: BPMN 2.0 - an introduction to the Level 1 Palette

[Nam

e]

[Pro

ce

ss N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

Message X Received

Request Information Y

Send Message Z

Receive Information Y

Message X

Request for Information Y

Information YMessage Z

What shapes can

receive Messages?

Task

Message

Catching Event

Black Box Pool

boundary

Black Box Pool

boundary

Page 74: BPMN 2.0 - an introduction to the Level 1 Palette

Sub Processes

Page 75: BPMN 2.0 - an introduction to the Level 1 Palette

Sub Processes

A Sub-Process is an Activity whose internal details

have been modeled using Activities, Gateways, Events, and Sequence Flows. A Sub-Process is a

graphical object within a Process, but it also can be “opened up” to show a lower-level Process.

(section 8.3.13)

Page 76: BPMN 2.0 - an introduction to the Level 1 Palette

Sub Processes allow you to

model the details of a Process hierarchically.

Page 77: BPMN 2.0 - an introduction to the Level 1 Palette

Sub Processes also allow you to group activities logically for the

sake of tidiness.

Page 78: BPMN 2.0 - an introduction to the Level 1 Palette

The details of a collapsedSub Process are shown on

another (child) canvas.

Page 79: BPMN 2.0 - an introduction to the Level 1 Palette

[Nam

e]

[Pro

ce

ss N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

BOutcome

Outcome B

A

Outcome A

Collapsed Sub Processes must sit within the Lane where the first task of that Sub Process

is performed, even though subsequent Tasks may be performed in other Lanes.

Page 80: BPMN 2.0 - an introduction to the Level 1 Palette

[Nam

e]

[Pro

ce

ss N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

The details of an expanded Sub Process are shown at the same level as the Sub Process shape

itself.

Page 81: BPMN 2.0 - an introduction to the Level 1 Palette

A Sub Process inherits its Pool from

the parent, so you are only required to show the Pool at the

top level of your model.

Page 82: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

However, you should

show any relevant Lanes at the Sub Process level.

Page 83: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

Sub Processes must have oneun-labelled Start Event of the

type “None”.

Page 84: BPMN 2.0 - an introduction to the Level 1 Palette

This is because the trigger for

the Sub Process is already known: it is the previous

Activity at the parent level.[P

erf

orm

er

Na

me

]

Sub Processes must have oneun-labelled Start Event of the

type “None”.

Page 85: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

Sub Processes must at least

one End Event.

Page 86: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

Sub Processes must at least

one End Event.

There is no need to label a Sub Process End Event

if there is only one.

Page 87: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

Determine Outcome

Outcome BOutcome

B

Outcome A

A

You must label Sub Process

End Events if there are more than one.

Page 88: BPMN 2.0 - an introduction to the Level 1 Palette

Gateways

Page 89: BPMN 2.0 - an introduction to the Level 1 Palette

Gateways

Gateways are used to control how Sequence Flows interact as they

converge and diverge within a Process.(section 8.3.13)

Page 90: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

We use a Gateway shape to navigate the diagram

when optional or multiple paths are possible.

Page 91: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

No processing takes place within a Gateway, i.e., it

contains no logic. It is nothing more than a visual navigation

device for your diagram.

Page 92: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

Because no processing takes place within a Gateway, be careful not

to call them ‘Decision Points’.

Page 93: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

Determine Credit Limit

Credit Limit

Any Decision logic should be contained

within a previous Activity and the Gateway should be labelled accordingly.

Page 94: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

Determine Credit Limit

Credit Limit

Any logic should be contained within a previous Activity and the Gateway

should be labelled accordingly.

Remember we said that the

performance of work is represented only by Activity shapes.

Page 95: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

A plain, Exclusive Gateway like this means that the process follows only one of the subsequent Gates, (i.e.,

the one where the outcome labelled on the Gate is true).

Page 96: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

An Exclusive Gateway can also be indicated like this.

Page 97: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

The Sequence Flows that

follow a Gateway are called Gates.

Page 98: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

Determine Credit Limit

Credit Limit

Sufficient

Insufficient

Label the Gates coming out of the Gateway to cover all

allowed outcomes.

Page 99: BPMN 2.0 - an introduction to the Level 1 Palette

[Nam

e]

[Pro

ce

ss N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

BOutcome

Outcome B

A

Outcome A

When a Sub Process has more than

one End Event, you must use an Exclusive Gateway at the parent level to interrogate the outcome.

Page 100: BPMN 2.0 - an introduction to the Level 1 Palette

[Nam

e]

[Pro

ce

ss N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

Use Parallel Gateways to

model paths that the process follows in parallel.

Page 101: BPMN 2.0 - an introduction to the Level 1 Palette

[Nam

e]

[Pro

ce

ss N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

With a Splitting Parallel Gateway, all paths following the Gateway

are activated as soon as the process reaches the Gateway.

Page 102: BPMN 2.0 - an introduction to the Level 1 Palette

[Nam

e]

[Pro

ce

ss N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

With a Joining Parallel Gateway, the process does not continue until all

incoming paths are complete.

Page 103: BPMN 2.0 - an introduction to the Level 1 Palette

Data Shapes

Page 104: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

Use a Data Object to represent transient data that is passed within a process but which does not need to

exist outside the process.

Page 105: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

Use a Data Store to represent data that persists beyond the

scope of the process.

Page 106: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

Use a Data Store to represent data that persists beyond the

scope of the process.

A Data Store is not necessarily

a database! It is simply a logical representation of

persisted data.

Page 107: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

A sheet of paper could be used as a Data Object but it is discarded at some point before the process ends.

A sheet of paper could be

used as a Data Store but it is kept to be used after the

process ends.

Page 108: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

We label both Data Objects and Data Stores to indicate the business concept of the data but not to indicate the

name of a database.

Customer Phone Number

Customer Account Details

Page 109: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

Data Objects and Data Stores must

be connected to Activity shapes with Data Associations to show the flow of data from and to Activities.

Page 110: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

Annotation

Annotation

Annotation

Annotations are a useful

way to add clarity to a process model.

Page 111: BPMN 2.0 - an introduction to the Level 1 Palette

[Pe

rfo

rme

r N

am

e]

[Pe

rfo

rme

r N

am

e]

[Pro

ce

ss N

am

e]

[Nam

e]

Annotation

Annotation

Annotation

But do not use an Annotation

where clarity can be provided by an Event, Activity Gateway, Message Flow, Data Object or Data Store.

Page 112: BPMN 2.0 - an introduction to the Level 1 Palette

Off-page Connectors

Page 113: BPMN 2.0 - an introduction to the Level 1 Palette

Off-page Connectors

Generally used for printing, this object will show where a Sequence Flow leaves one page and then restarts on the next page.

(table 7.2)

Page 114: BPMN 2.0 - an introduction to the Level 1 Palette

A

A

You can use an Intermediate Link

Event as an off-page connector when you need to split your

diagram across two canvasses.

Page 115: BPMN 2.0 - an introduction to the Level 1 Palette

A

A

As the name implies, the Intermediate Event

indicates where something happens (an Event) somewhere between the start and end of a

Process. It will affect the flow of the Process, but will not start or (directly) terminate the Process.

(section 10.4.4)

Page 116: BPMN 2.0 - an introduction to the Level 1 Palette

A

A

An Intermediate Event is

represented by a circle with a double, thin border.

An Intermediate Event is

represented by a circle with a double, thin border.

Page 117: BPMN 2.0 - an introduction to the Level 1 Palette

A

A

White for

“catching”.

Black for

“throwing”.

Page 118: BPMN 2.0 - an introduction to the Level 1 Palette

A

A

The Intermediate Link Event is the only type of Intermediate Event in

the Level 1 Palette.

Page 119: BPMN 2.0 - an introduction to the Level 1 Palette

A

A

Use the Intermediate Link Event sparingly. Instead, try to use Sub

Processes to keep each diagram of your model tidily on a single canvas.

Page 120: BPMN 2.0 - an introduction to the Level 1 Palette

This has been a basic introduction to the Level 1 Palette of BPMN 2.0

ESSENTIAL REFERENCE WORKS:

“BPMN Method and Style” by Bruce Silver“Process and Decision Modelling in BPMN/DMN” by Tom DeBevoise and James Taylor

(both books available in paperback and for Kindle)

The BPMN Specification:http://www.omg.org/spec/BPMN/2.0/

Page 121: BPMN 2.0 - an introduction to the Level 1 Palette

www.chellar.com/AnalysisFu/

LinkedIn: es.linkedin.com/in/declanchellar/

Twitter: @AnalysisFu

Care to discuss further?