BPMN 2.0 - an introduction to the Level 1 Palette

Post on 15-Jul-2015

652 Views

Category:

Business

2 Downloads

Preview:

Click to see full reader

Transcript

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?

top related