BPMN 2.0 - an introduction to the Level 1 Palette
-
Upload
declan-chellar -
Category
Business
-
view
654 -
download
2
Transcript of BPMN 2.0 - an introduction to the Level 1 Palette
BPMN 2.0Introduction to the Level 1 Palette
by Declan Chellar
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
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
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
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
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)
Pools and Lanes
This is a Pool. It represents an
entire Process from start to finish.
[Pro
ce
ss N
am
e]
The process name
goes here.
[Pro
ce
ss N
am
e]
Process names are always verb phrases and should reveal the
intent of the process.
[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
[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
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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
[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.
[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.
[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.
[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.
[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.
Events
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)
[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.
[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.
[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.
[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.
[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
The three basic types
of Start Event in BPMN 2.0 are:
The three basic types
of Start Event in BPMN 2.0 are:
“None”: the process is started manually.
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.
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.
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.
[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.
[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.
[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.
[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.
[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
[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.
[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.
The three basic types of End Event in BPMN
2.0 are:
The three basic types of End Event in BPMN
2.0 are:
“None”: the process throws no signal at
the end.
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.
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.
Activities
Activities
An Activity is work that is performed
within a Business Process. (section 10.2)
The performance of work can only be represented
by Activity shapes.
Atomic activities cannot be broken down into further steps and are represented
by the Task shape.
The Sub Process shape is
used for Activities that are broken down into further Tasks or Sub Processes.
More on Sub
Processes shortly.
[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.
[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.
User (person symbol):
In the Level 1 palette, the User Task type represents any atomic activity carried out by a human.
Service (gears symbol):
In the Level 1 palette, the Service Task type represents any
automated, atomic activity.
Sequence Flows
Sequence Flows
A Sequence Flow is used to show the order of Flow Elements in a Process.
(section 8.3.13)
[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.
[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
[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.
[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.
[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.
Message Flows
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)
[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.
[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.
[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.
[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.
[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
[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
Sub Processes
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)
Sub Processes allow you to
model the details of a Process hierarchically.
Sub Processes also allow you to group activities logically for the
sake of tidiness.
The details of a collapsedSub Process are shown on
another (child) canvas.
[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.
[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.
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.
[Pe
rfo
rme
r N
am
e]
However, you should
show any relevant Lanes at the Sub Process level.
[Pe
rfo
rme
r N
am
e]
Sub Processes must have oneun-labelled Start Event of the
type “None”.
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”.
[Pe
rfo
rme
r N
am
e]
Sub Processes must at least
one End Event.
[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.
[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.
Gateways
Gateways
Gateways are used to control how Sequence Flows interact as they
converge and diverge within a Process.(section 8.3.13)
[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.
[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.
[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’.
[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.
[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.
[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).
[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.
[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.
[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.
[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.
[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.
[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.
[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.
Data Shapes
[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.
[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.
[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.
[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.
[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
[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.
[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.
[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.
Off-page Connectors
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)
A
A
You can use an Intermediate Link
Event as an off-page connector when you need to split your
diagram across two canvasses.
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)
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.
A
A
White for
“catching”.
Black for
“throwing”.
A
A
The Intermediate Link Event is the only type of Intermediate Event in
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.
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/
www.chellar.com/AnalysisFu/
LinkedIn: es.linkedin.com/in/declanchellar/
Twitter: @AnalysisFu
Care to discuss further?