Chapter 3 Essential Process Modeling
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
Essential Process Modeling
Business process models are important at various stages of the BPM lifecycle.
Before starting to model a process, it is crucial to understand why we are modeling it.
There are many reasons for modeling a process: The first one is simply to understand the
process and to share our understanding of the process with the people who are involved
with the process on a daily basis. Indeed, process participants typically perform quite
specialized activities in a process such that they are hardly confronted with the complexity
of the whole process. Therefore, process modeling helps to better understand the process
and to identify and prevent issues.
2
Process Modeling in the BPM Lifecycle
Management Processes
Core Processes
Manage
Procure Procure Market Deliver
Customer
Materials Products Products Products
Service
15h Manage
Manage Personnel Information Manage Assets
A E
D
5m 3m 5m 10m 30m 2h 10m
Contents
1. First Steps with BPMN
2. Branching and Merging
3. Business Objects
4. Resources
5. Process Decomposition
6. Process Model Reuse
7. Recap
BPMN from 10,000 miles…
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.
The most elementary form of relation is that of sequence, which
implies that one event or activity A is followed by another event or
activity B. Accordingly, the three most basic concepts of BPMN are
event, activity, and arc. Events are represented by circles, activities by
rounded rectangles, and arcs (called sequence flows in BPMN) are
represented by arrows with a full arrow-head.
7
Start and end events have an important role in a process model:
the start event indicates when instances of the process start
whereas the end event indicates when instances complete.
8
Fig. 3.2 shows the state of three instances of the order fulfillment process:
one instance has just started (black token on the start event), another is
shipping the product (red token on activity “Ship product”), and the third one
has received the payment and is about to start archiving the order (green
token in the sequence flow between “Receive payment” and “Archive
order”).
9
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
event
Items in
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
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
flow Different types of flows
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
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
Solution: Order-to-cash
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
split join fulfilled
Ship goods
Mapping, Abstraction, and Purpose of a Model
?
When modeling a business process, we need to keep in mind the specific
purpose and target audience for which we are creating the model. There
are two main purposes for process modeling:
1. organizational design.
2. and application system design.
19
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
Branching and Merging
21
Branching and Merging
A split gateway represents a point where the process flow diverges while
a join gateway represents a point where the process flow converges.
22
Branching and Merging
1) Exclusive Decisions
To model the relation between two or more alternative activities, like in the case of
the approval or rejection of a claim, we use an exclusive (XOR) split. We use an
XOR-join to merge two or more alternative branches that may have previously
been forked with an XOR-split. An XOR gateway is indicated with an empty
diamond or with a diamond marked with an “X”. From now on, we will always use
the “X” marker.
23
A little more on gateways: XOR Gateway
5
Exercise 3.1
27
A little more on gateways: AND Gateway
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
XOR-split XOR-join
AND-split AND-join
Solution 2
AND-split AND-join
XOR-split XOR-join
3) Inclusive Decisions
To model situations where a decision may lead to one or more
options being taken at the same time, we need to use an inclusive
(OR) split gateway. An OR-split is similar to the XOR-split, but the
conditions on its outgoing branches do not need to be mutually
exclusive, i.e. more than one of them can be true at the same time.
35
OR Gateway
So far we have seen structures that are linear, i.e. each activity is
performed at most once. However, sometimes we may require to
repeat one or several activities, for instance because of a failed
check.
39
Rework and repetition
Modelling Language
Vocabulary
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).
Components of a modeling language: Notation
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)
48
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)
49
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
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.
52
Business Objects in BPMN
To avoid cluttering the diagram with data associations that cross sequence
flows, we may repeat a data object multiple times within the same process
model. However, all occurrences of a given object do conceptually refer to the
same artifact. Fig. 3.14 Purchase order is repeated twice as input to “Check
stock availability” and to “Confirm order” since these two activities are far away
from each other in terms of model layout.
data objects allow us to model the information flow between process activities.
Bear in mind, however, that data objects and their associations with activities
cannot replace the sequence flow.
Sometimes we may need to represent the state of a data object. For instance,
activity “Confirm order” takes a Purchase order as input, and returns a
“confirmed” Purchase order as output: input and output objects are the same,
but the object’s state has changed to “confirmed”.
53
Exercise 3.5
Is there any missing data
object or data store in the
example below?
Do we always need to model data objects?
Clear vendor
Ship goods line items
56
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
59
Resources
60
Resources
Resource class:
A group of (active) resources that are interchangeable, e.g. a role, an
organizational unit or the whole organization.
61
Resources in the order-to-cash example
62
BPMN Elements – Pools & Lanes
Pool
Captures a resource class. Generally used to model a business party (e.g. a
whole company)
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)
Pool
63
Solution: Order-to-cash
14
Exercise 3.7
Extend the business process for assessing loan applications that you
created in Exercise 3.6 by considering the following resource
aspects.
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.
66
BPMN Elements – Message Flow
Pool 2
Pool 2
Receive
Pool 1
Pool 1
Send Receive
Send
67
BPMN Elements – Start Message Event
Message
Message
received
68
Solution: Order-to-cash
69
Pools, Lanes and Message Flows: syntax
19
Black box or white box?
When are messages sent or received?
A Send activity will send the outgoing message upon activity completion.
(An activity that is the source of a message—such as “Emit invoice” in the Seller
pool ).
A Receive activity won’t start until the incoming message has been
received. (An activity that receives a message—such as “Get shipping address”).
Pool 2
Pool 2
Receive
Pool 1
Pool 1
Send Receive
Send
72
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
73
Process (or Orchestration) Diagram
Conduct auction
74
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
75
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
Activities
Process Invoice
no
mismatches
Enter Invoice /
Check Invoice
Credit Note
Mismatches
Details
mismatch
exists
Block Invoice
Identify possible sub-processes
Hint. Use the building blocks that you created throughout Exercises
3.1–3.4.
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
Quote-to-order
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
Recap