FBPM2 Chapter03 EssentialProcessModeling
FBPM2 Chapter03 EssentialProcessModeling
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 Modeling in the BPM Lifecycle
Process
Management Processes
Support Processes
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
s m on
od g
el?
Reject order
Items not in
Order
stock
rejected
Check stock
availability split Emit invoice
Purchase
order Items in
received stock Confirm Emit Archive
Ship goods
order invoice order
Order
fulfilled
split join
Ship goods
13
Mapping, Abstraction, and Purpose of a Model
?
15
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
A little more on gateways: XOR Gateway
5
Exercise 3.1
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
AND-split AND-join fulfilled
Ship goods
Exercise 3.2
Haptic
Standalone
E.g. Visio, Camunda Modeler
Repository-based
E.g. ARIS, Signavio, Apromore
24
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
29
What join type do we need here?
30
When should we use an OR-join?
Exercise 3.3
Modelling Language
Vocabulary
36
Components of a modeling language: Vocabulary
Modelling Language
Vocabulary: set of modeling elements of
the language (BPMN: activities, gateways,
Vocabulary events…)
37
Components of a modeling language: Syntax
Modelling Language
Syntax: set of rules to govern how these
elements can be combined (BPMN: start
Vocabulary events only have outgoing sequence flows
whereas end events only have incoming
sequence flows).
Syntax Semantics Notation
38
Components of a modeling language
Modelling Language
Semantics: bind these elements, including
their textual descriptions, to a precise
Vocabulary meaning (in BPMN: activities model
something actively performed during the
business process, while XOR gateways
Syntax Semantics Notation
model exclusive decisions and simple
merging points).
39
Components of a modeling language: Notation
40
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 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)
42
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.
44
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.
45
Do data objects affect the token flow?
Exercise 3.5
Is there any missing data
object or data store in the
example below?
Do we always need to model data objects?
BPMN Text Annotations
Clear vendor
Ship goods
line items
49
Exercise 3.6
Put together the four fragments of the loan assessment process that
you created in Exercises 3.1–3.4.
Hint. Look at the labels of the start and end events to understand the order
dependencies among the various fragments. Then extend the resulting
model by adding all the required business objects. Moreover, attach
annotations to specify the business rules behind i) checking an application
completeness, ii) assessing an application eligibility, and iii) verifying a
repayment agreement.
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
52
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.
53
Resources in the order-to-cash example
54
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
55
Solution: Order-to-cash
14
Exercise 3.7
The process for assessing loan applications is executed by four roles within
the loan provider: a financial officer takes care of checking the applicant’s
credit history; a property appraiser is responsible for appraising the property;
an insurance sales representative sends the home insurance quote to the
applicant if this is required. All other activities are performed by the loan
officer who is the main point of contact with the applicant.
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.
58
BPMN Elements – Message Flow
Pool 2
Pool 2
Receive
Pool 1
Send Receive
Pool 1
Send
59
BPMN Elements – Start Message Event
Message
Message
received
60
Solution: Order-to-cash
61
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
64
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
65
Process (or Orchestration) Diagram
Auctioning Service
Private view (white box)
Conduct auction
Auctioning Service
66
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
67
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
72
Identify possible sub-processes
73
Ship and invoice
Solution
74
The refactored model
75
Exercise 3.9
Hint. Use the building blocks that you created throughout Exercises
3.1–3.4.
Imposing order of messages via subprocess
77
Example: Modelling process hierarchies
Clear Order
Credit
Level 5 Check Credit
Record
available
...
Contact
customer
Credit not
account rep.
available
78
Value chain modelling
Business
process
“is predecessor
of”
79
Linking value chains with process models
Process
model for
this process
is available
80
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)
82
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
89
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