BUSINESS PROCESS MANAGEMENT
CO5270
CHAPTER 3 – PROCESS MODELING
Dr. Thai-Minh Truong
thaiminh@[Link]
Adapted from [Link]
Process Modeling in the BPM Lifecycle
Management Processes
Process Define Vision Develop Strategy Implement
Strategy
Manage Risk
identification Core Processes
Procure Procure Market Deliver
Manage
Customer
Materials Products Products Products
Service
Support Processes
Examples for BPM lifecycle and process mining Process architecture Manage Personnel
Manage
Information Manage Assets
35h B 30h
15h
A
D
E
Conformance and Process As-is process
5m 3m 5m 10m 30m 2h 10m
performance discovery
C model
15m 1.5h 10min 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
Purposes of process modeling
• Communication
• Documentation Process
• Analysis (e.g. simulation) identification
Conceptual
Process
Process architecture
architecture
Conformance
Conformance and
and Process As-is
As-is process
process
performance
performance insights
insights discovery model
model
Process
Process
Executable monitoring and
analysis
controlling
Executable
Executable Insights
Insights on
on
process
process weaknesses
weaknesses and
and
model
model their
their impact
impact
Process Process
• Automation implementation To-be
To-be process
process
model
redesign
model
• Testing
3
Conceptual
Business Process Model and Notation (BPMN)
▪ OMG standard (nowadays BPMN 2.0)
▪ Supported by numerous tools: [Link] lists over 70 tools
▪ Both for conceptual and executable models
BPMN
A BPMN process model is a graph consisting of five types of core
elements:
❖ Flow Objects
❖ Data
❖ Connecting Objects
❖ Swimlanes
❖ Artifacts
BPMN
Flow Objects are the main graphical elements to define the
behavior of a Business Process. There are three Flow Objects:
❖ Events
❖ Activities
❖ Gateways
BPMN
Data is represented with the four elements:
❖ Data Objects
❖ Data Inputs
❖ Data Outputs
❖ Data Stores
BPMN
There are four ways of connecting the Flow Objects to each other
or other information. There are four Connecting Objects:
❖ Sequence Flows
❖ Message Flows
❖ Associations
❖ Data Associations
BPMN
There are two ways of grouping the primary modeling elements
through “Swimlanes”:
❖ Pools
❖ Lanes
Artifacts are used to provide additional information about the
Process. There are two standardized Artifacts, but modelers or
modeling tools are free to add as many Artifacts as necessary.
❖ Group
❖ Text Annotation
BPMN
Basic Modeling Elements (Flow Objects):
BPMN
Basic Modeling Elements (Connecting Objects):
BPMN
Basic Modeling Elements (Swimlanes):
BPMN
Basic Modeling Elements (Data):
BPMN
Basic Modeling Elements (Artifacts):
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 or if the order is rejected.
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 or if the order is
rejected.
BPMN Model
Order-to-cash
end
activity
Reject order event
Items not in
Order
stock
rejected
Check stock split gateway end
availability
Purchase event
order Items in
received stock Confirm Emit Archive
start Ship goods
order invoice order
Order
event fulfilled
Naming conventions
• Event: noun + past-participle verb (e.g. insurance claim lodged)
• Activity: verb + noun (e.g. assess credit risk)
17
Execution of a process model
The “token 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
18
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”)
19
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. […]
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
20
First try
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
21
A little more on gateways: XOR Gateway
An XOR Gateway captures decision points (XOR-split)
and points where alternative flows are merged
(XOR-join)
condition
XOR-split ➔ takes one outgoing branch
¬ condition
XOR-join ➔ proceeds when one incoming branch
has completed
22
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
24
Example: AND Gateway
Airport security check
25
Revised order-to-cash process model
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
26
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.
27
OR Gateway
An OR Gateway provides a mechanism to create
and synchronize n out of m parallel flows.
cond1
OR-split ➔ takes one or more branches
condn
depending on conditions
OR-join ➔ proceeds when all active incoming
branches have completed
30
Solution using OR Gateway
Order distribution process
31
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
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
35
Quick Note: Implicit vs. explicit gateways
A A
C = C
B B
B B
A
= A
C C
36
What’s wrong with this model?
How to fix it?
Collect Sort
mail mail
New mail Document
arrived requisition
Not compiled
Check acceptable Compile
Register
mail for document
mail
compliance requisition
Document
New email Acceptable response
arrived
prepared
Prepare
Capture
document
matter details
response
Physical
file
printed
Capture party Print
Pay fee
details physical file
37
Process Modelling Viewpoints
Organization
Who?
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)
Pool
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)
Lane
Pool
Lane
Lane
Lane
39
Order-to-cash process with lanes
Message Flow
A Message Flow represents a flow of information between
two process parties (Pools)
Message
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
Pool 2
Pool 2
Receive
Pool 1
Pool 1
Send Receive
Send
41
Order-to-cash process with a black-box customer pool
42
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
Process Modelling Viewpoints
Which?
Data Objects,
Data / Materials Stores
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
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.
45
Model with information artifacts
Purchase Invoice
Order
Purchase
Purchase Purchase Send Order
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 Purchase Shipment
Order notice
Warehouse DB
Purchase Purchase
Order Order
[rejected] [approved]
46
BPMN Information Artifacts
A Data Object captures an artifact required (input) or
Purchase Invoice
produced (output) by an activity.
order ▪ Can be physical or electronic
Emit
invoice
A Data Store is a place containing data objects
Oracle CRM Client info
that must be persisted beyond the duration of
a process instance.
Retrieve client It is used by an activity to store (as output) or
information
retrieve (as input) data objects.
47
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
Includes packaging For blocked invoices
Clear vendor
Ship goods
line items
48
BPMN Poster (link in “Readings” page)
49
Q&A