Business Process Management
Lecture 3 – Process Modeling I
1
Purposes of process modeling
• Communication
• Documentation
• Analysis (e.g. simulation) Conceptual
Executable
• Automation
• Testing
Conceptual 2
Business Process Model and Notation (BPMN)
• OMG standard (nowadays BPMN 2.0)
• Both for conceptual and executable models
• Supported by numerous tools: bpmn.org lists over 70 tools, incl.
• Signavio (we’ll use the academic edition – academic.signavio.com)
• Bizagi Process Modeler
• Cameo Business Analyst
BPMN from 10,000 miles…
A BPMN process model is a graph consisting of four types of core
elements:
start end
activity event gateway sequence
flow
Let’s start modeling
Order-to-cash
An order-to-cash process is triggered by the receipt of a
purchase order from a customer. Upon receipt, the purchase
order has to be checked against the stock to determine if the
the requested item(s) are available. Depending on stock
availability the purchase order may be confirmed or rejected.
If the purchase order is confirmed, an invoice is emitted and the
goods requested are shipped. The process completes by
archiving the order.
Let’s start modeling – break it down
Order-to-cash
• An order-to-cash process is triggered by the receipt of a
purchase order from a customer.
• Upon receipt, the purchase order has to be checked against
the stock to determine if the the requested item(s) are
available.
• Depending on stock availability the purchase order may be
confirmed or rejected.
• If the purchase order is confirmed, an invoice is emitted and
the goods requested are shipped. The process completes by
archiving the order.
Let’s start modeling – break it down
Order-to-cash
• An order-to-cash process is triggered by the receipt of a
purchase order from a customer.
• Upon receipt, the purchase order has to be checked against
the stock to determine if the the requested item(s) are
available.
BPMN Model
Order-to-cash
8
Let’s start modeling – break it down
Order-to-cash
• An order-to-cash process is triggered by the receipt of a
purchase order from a customer.
• Upon receipt, the purchase order has to be checked against
the stock to determine if the the requested item(s) are
available.
• Depending on stock availability the purchase order may be
confirmed or rejected.
• If the purchase order is confirmed, an invoice is emitted and
the goods requested are shipped. The process completes by
archiving the order.
BPMN Model
Order-to-cash
end
activity event
split gateway end
event
start
event
Naming conventions
• Event: noun + past-participle verb (e.g. insurance claim lodged)
• Activity: verb + noun (e.g. assess credit risk)
10
Execution of a process model
The “token game”
Order #1
Order #2
Order #3
11
A little bit more on events…
A start event triggers a new process instance start
by generating a token that traverses the event
sequence flow (“tokens source”)
An end event signals that a process instance has end
completed with a given outcome by consuming event
a token (“tokens sink”)
12
Order-to-cash example revisited…
[…] If the purchase order is confirmed, an invoice is emitted
and the goods requested are shipped (in any order). The
process completes by archiving the order. […]
13
First try
Order-to-cash
split
split join
14
A little more on gateways: XOR Gateway
An XOR Gateway captures decision points
(XOR-split) and points where alternative flows are
merged (XOR-join)
XOR-split takes one outgoing branch
XOR-join proceeds when one incoming branch has
completed
15
Example: XOR Gateway
Invoice checking process
5
A little more on gateways: AND Gateway
An AND Gateway provides a mechanism to
create and synchronize “parallel” flows.
AND-split takes all outgoing branches
AND-join proceeds when all incoming branches
have completed
17
Example: AND Gateway
Airport security check
18
Revised order-to-cash process model
XOR-split
AND-split AND-join
19
Between XOR and AND
Order distribution process
A company has two warehouses that store different products:
Amsterdam and Hamburg. When an order is received, it is
distributed across these warehouses: if some of the relevant
products are maintained in Amsterdam, a sub-order is sent
there; likewise, if some relevant products are maintained in
Hamburg, a sub-order is sent there. Afterwards, the order is
registered and the process completes.
20
Solution 1
Order distribution process
XOR-split XOR-join
AND-split AND-join
21
Solution 2
Order distribution process
AND-split AND-join
XOR-split XOR-join
22
OR Gateway
An OR Gateway provides a mechanism to create
and synchronize n out of m parallel flows.
OR-split takes one or more branches depending
on conditions
OR-join proceeds when all active incoming
branches have completed
23
Solution using OR Gateway
Order distribution process
24
What join type do we need here?
25
Beware: Beginner’s Mistake…
Guidelines: Naming Conventions
1. Give a name to every event and task
2. For tasks: verb followed by business object name and
possibly complement
• Issue Driver Licence, Renew Licence via Agency
3. For message events: object + past participle
• Invoice received, Claim settled
4. Avoid generic verbs such as Handle, Record…
5. Label each XOR-split with a condition
• Policy is invalid, Claim is inadmissible
Poll: Which model do you prefer?
One more guideline…
• Model in blocks
• Pair up each AND-split with an AND-join and each XOR-split with a
XOR-join, whenever possible
• Exception: sometimes a XOR-split leads to two end events – different
outcomes (cf. order management example)
Rework and repetition
Address ministerial correspondence
In the minister’s office, when a ministerial inquiry has been received, it is
registered into the system. Then the inquiry is investigated so that a
ministerial response can be prepared.
The finalization of a response includes the preparation of the response itself
by the cabinet officer and the review of the response by the principal
registrar. If the registrar does not approve the response, the latter needs to be
prepared again by the cabinet officer for review. The process finishes only
once the response has been approved.
XOR-join: entry point XOR-split: exit point
30
Quick Note: Implicit vs. explicit gateways
31
How this process starts? How it ends?
32
What’s wrong with this model? How to fix it?
X
Process Modelling Viewpoints
Organizati Who
on ?
Lanes &
Pools
What
?
Tasks When
Events ?
Flows
Gateways
Which
?
Data Objects,
Data / Materials Stores
Organizational Elements in BPMN – Pools & Lanes
Pool
Captures a resource class. Generally used to model a business
party (e.g. a whole company)
Lane
A resource sub-class within a pool. Generally used to model
departments (e.g. shipping, finance), internal roles (e.g.
Manager, Associate), software systems (e.g. ERP, CRM)
35
Order-to-cash process with lanes
Message Flow
A Message Flow represents a flow of information between
two process parties (Pools)
A Message Flow can connect:
• directly to the boundary of a Pool captures an informative message
to/from that party
• to a specific activity or event within that Pool captures a message
that triggers a specific activity/event within that party
37
Order-to-cash process with a black-box customer pool
38
Pools, Lanes and Flows: syntactic rules
1. A Sequence Flow cannot cross the boundaries of a Pool
(message flows can)
2. Both Sequence Flow and Message Flow can cross the
boundaries of Lanes
3. A Message Flow cannot connect two flow elements within
the same pool
One more guideline…
• Start modeling with one single “white-box” pool
• Initially, put the events and tasks in only one pool – the pool of the
party who is running the process
• Leave all other pools “black-boxed”
• Once you have modeled this way, and once the process diagram
inside the white-box pool is complete, you can model the details
(events and tasks) in the other pools if that is useful.
• In this course we will only model processes with one single
white-box pool – all other pools are black-box
Process Modelling Viewpoints
Which
?
Data Objects,
Data / Materials Stores
Order-to-cash process, again
The purchase order document serves as an input to the stock
availability check. Based on the outcome of this check, the
status of the document is updated, either to “approved” or
“rejected”. If the order is approved, an invoice and a shipment
notice are produced.
42
Model with information artifacts
43
BPMN Information Artifacts
A Data Object captures an artifact required
(input) or produced (output) by an activity.
• Can be physical or electronic
A Data Store is a place containing data objects
that must be persisted beyond the duration of
a process instance.
It is used by an activity to store (as output) or
retrieve (as input) data objects.
44
Quick Note: BPMN Text Annotations
A Text Annotation is a mechanism to provide additional text
information to the model reader
• Doesn’t affect the flow of tokens through the process
45
BPMN Poster (link in “Readings” page)
46