Session 5 EssentialProcessModeling
Session 5 EssentialProcessModeling
Management Processes
les for BPM lifecycle and process mining identification Core Processes
A E
D
5m 3m 5m 10m 30m 2h 10m
15m
C
1.5h 10min
Conformance and Process As-is process
performance
discovery model
insights
A B C D E
Process Process
monitoring analysis
Executable Insights on
process weaknesses and
model their impact
Process Process
implementation To-be process redesign
model
Chapter 3: Essential Process Modeling
Contents
1. First Steps with BPMN
2. Branching and Merging
3. Business Objects
4. Resources
5. Process Decomposition
6. Process Model Reuse
7. Recap
Business Process Model and Notation (BPMN)
start end
activity event gateway sequence
flow
Let’s start modeling
Order-to-cash
A typical order-to-cash process is triggered by the receipt of a purchase order from a
customer. The purchase order has to be checked against the stock regarding the
availability of the item(s) requested. 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 or if the order is rejected.
Solution in BPMN: Order-to-cash
end
Reject order
activity Items not in event
Order
stock
rejected
Check stock split gateway end
availability
Purchase
order Items in
event
received stock Confirm Emit Archive
Ship goods
start order invoice order
Order
event fulfilled
Naming conventions
• Event: noun + past-participle verb (e.g. insurance claim lodged)
• Activity: imperative verb + noun (e.g. assess credit risk)
BPMN core elements
activity
8
BPMN core elements
gateway
Sequence flows represent the order in which activities and events
will be performed.
They can be assigned a condition to distinguish between alternative
branches.
sequence
Different types of flows
flow
9
Process model vs process instances: The tokens game
Order #1
Order #2
Order #3
Reject order
Items not in
Order
stock
rejected
Check stock
availability
Purchase
order Items in
received stock Confirm Emit Archive
Ship goods
order invoice order
Order
fulfilled
10
A little bit more on events…
11
Let’s reconsider our order-to-cash example
Reject order
Items not in
Order
stock
rejected
Check stock
availability
Purchase
order Items in
received stock Confirm Emit Archive
Ship goods
order invoice order
Order
fulfilled
12
Solution: Order-to-cash
An
wi ythin
th
thi g wr
Reject order
Items not in
s m on
Order
stock
rejected
Check stock
od g
Purchase
availability
el?
order Items in
received stock Confirm Emit Archive
Ship goods
order invoice order
Order
fulfilled
13
Reject order
Items not in
Order
stock
rejected
Check stock
Emit invoice
availability
Purchase
order Items in
received stock Confirm Archive
order order
Order
fulfilled
Ship goods
split
join
14
Revised solution
Order-to-cash
Reject order
Items not in
stock Order
rejected
Check stock
availability XOR-split Send invoice
Purchase
order Items in
received stock
Archive
Confirm order
order
Order
fulfilled
Ship goods
AND-split AND-join
Essential Process Modeling
Contents
1. First Steps with BPMN
2. Branching and Merging
3. Business Objects
4. Resources
5. Process Decomposition
6. Process Model Reuse
7. Recap
A little more on gateways: XOR Gateway
5
Exercise 3.1
Haptic
Standalone
E.g. Visio, Camunda Modeler
Repository-based
E.g. ARIS, Signavio, Apromore
23
XOR / AND are not always what we need...
XOR-split XOR-join
AND-split AND-join
Solution 2
AND-split AND-join
XOR-split XOR-join
OR Gateway
28
Rework and repetition
Contents
1. First Steps with BPMN
2. Branching and Merging
3. Business Objects
4. Resources
5. Process Decomposition
6. Process Model Reuse
7. Recap
Business Objects (aka artifacts)
Can be:
Physical or digital information artifacts (e.g. an order on paper, an invoice on PDF)
Physical material (e.g. a box containing the ordered goods)
32
Our Order-to-cash process, again
Send
invoice
Confirm Archive
Items in order order
stock Order
fulfilled
Check stock
Ship goods
availability
Purchase
order Items not in
received stock
Reject order
Order
rejected
Retrieve client
information
It is used by an activity to store (as
output) or retrieve (as input) data objects.
34
Solution
Invoice
Purchase
Purchase
Order
Order
[approved]
Purchase Purchase Send [approved]
Order Order invoice
[checked]
Confirm Archive
Items in order order
stock Order
fulfilled
Check stock
Ship goods
availability
Purchase
order Items not in
received stock
Reject order
Order Orders DB
rejected Shipment
notice
Warehouse DB
Purchase
Order
[rejected]
The purchase order document serves as an input to the stock availability check against the
Warehouse DB. 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. The
order is then archived on the Orders DB.
35
Do data objects affect the token flow?
Do we always need to model data objects?
BPMN Text Annotations
Clear vendor
Ship goods
line items
38
Chapter 3: Essential Process Modeling
Contents
1. First Steps with BPMN
2. Branching and Merging
3. Business Objects
4. Resources
5. Process Decomposition
6. Process Model Reuse
7. Recap
Resources
40
Resources
Active resources:
Process participant
Software system
Equipment
Resource class:
A group of (active) resources that are interchangeable, e.g. a role, an
organizational unit or the whole organization.
41
Resources in the order-to-cash example
42
BPMN Elements – Pools & Lanes
Pool
Captures a resource class. Generally used to model a business party (e.g. a
whole company)
Pool
Lane
Captures a resource sub-class within a resource class by partitioning a pool.
Generally used to model departments (e.g. shipping, finance), internal roles (e.g.
Manager, Associate), software systems (e.g. DBMS, CRM) or equipment (e.g.
Manufacturing plant)
Lane
Pool
Lane
Lane
Lane
43
Solution: Order-to-cash
14
Exchanging information between business parties
Order-to-cash
The purchase order sent by the Customer is received by the Seller and
checked against the stock. This is done via an ERP module within the
Warehouse & Distribution department. If the purchase order is not
confirmed, the Sales department sends an order rejection to the
Customer, otherwise it sends an order confirmation.
Next, the Warehouse & Distribution department ships the goods and sends
a shipment notification to the Customer. Meantime, the Sales department
emits the invoice and sends it to the Customer. The process concludes
with the order being archived by the Sales department.
45
BPMN Elements – Message Flow
Pool 2
Pool 2
Receive
Pool 1
Pool 1
Send Receive
Send
46
BPMN Elements – Start Message Event
Message
Message
received
47
Solution: Order-to-cash
48
Pools, Lanes and Message Flows: syntax
19
Black box or white box?
When are messages sent or received?
Pool 2
Pool 2
Receive
Pool 1
Pool 1
Send Receive
Send
Note: the order of the message flows w.r.t. an activity is irrelevant, the
above rules always hold
51
When are messages sent or received?
• Message B is first received
before Activity can start.
• Message A is sent after,
upon Activity’s completion
• First, message B is
received, before Activity can
start.
• Then, message A is sent,
upon Activity’s completion
52
Process (or Orchestration) Diagram
Auctioning Service
Private view (white box)
Conduct auction
Auctioning Service
53
Collaboration Diagram
Models a global business process between at least two business parties (each
modelled by a Pool)
Send delivery
notification
Seller
Auction
Bid Bid
completion
acknowledgement
notification
Bidder
Public
process
54
Exercise 3.8
Contents
1. First Steps with BPMN
2. Branching and Merging
3. Business Objects
4. Resources
5. Process Decomposition
6. Process Model Reuse
7. Recap
Process decomposition
Process decomposition
Expanded Sub-process
Collapsed
Task
Sub-process
Activities
Process Invoice
no
mismatches
Enter Invoice /
Check Invoice
Credit Note
Mismatches
Details
mismatch
exists
Block Invoice
59
Identify possible sub-processes
60
Ship and invoice
Solution
61
The refactored model
62
Exercise 3.9
Hint. Use the building blocks that you created throughout Exercises
3.1–3.4.
Imposing order of messages via subprocess
64
Example: Modelling process hierarchies
Clear Order
Credit
Level 5 Check Credit
Record
available
...
Contact
customer
Credit not
account rep.
available
65
Value chain modelling
Business
process
“is predecessor
of”
66
Linking value chains with process models
Process
model for
this process
is available
67
When should we decompose a process model into sub-
processes?
Guidelines: modeling levels
Use sub-processes when the model becomes too large:
Hard to understand
Increased error probability
Decomposition drivers:
Logical: group elements meaningfully (e.g. common business object)
Structural: up to 30 nodes (activities, events, gateways)
69
Chapter 3: Essential Process Modeling
Contents
1. First Steps with BPMN
2. Branching and Merging
3. Business Objects
4. Resources
5. Process Decomposition
6. Process Model Reuse
7. Recap
Embedded or global sub-processes?
Process Reuse
Such a sub-process is called “global” model, and is invoked via a “call” activity
(normal) Call
activity activity
Example: process reuse
Hint. Use the building blocks that you created throughout Exercises
3.1–3.4.
Sub-processes: syntax
Quote-to-order
76
Exercise 3.10
Contents
1. First Steps with BPMN
2. Branching and Merging
3. Business Objects
4. Resources
5. Process Decomposition
6. Process Model Reuse
7. Recap
Recap