Nothing Special   »   [go: up one dir, main page]

BITM 305-Week - 3

Download as pdf or txt
Download as pdf or txt
You are on page 1of 63

Automation of Business Processes And Systems

(BITM 305)

Essential Process Modeling


Process Modeling in the BPM Lifecycle
Management Processes

Define Vision Develop Strategy Implement Manage Risk


Strategy

Process Core Processes

Manage

Examples for BPM lifecycle and process mining


Procure Procure Market Deliver
Customer

identification Materials

Support Processes
Products Products Products
Service

Manage

35h B 30h
Manage Personnel Information Manage Assets

15h
Process architecture
A E
D
5m 3m 5m 10m 30m 2h 10m

C
15m 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
First Steps with BPMN
Business Process Model and Notation (BPMN)
• OMG standard (BPMN 2.1)
• Supported by numerous tools: bpmn.org lists over 70 tools
• Both for conceptual and executable models
BPMN
Based on popular graphical flowcharts:
- Core set of notation elements
- Each core element has various subtypes
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 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.
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

Check stock
availability
Purchase
order
received

9
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 custo


mer.
• Upon receipt, the purchase order has to be checked against the stock to determine if t
he the requested item(s) are available.
• Depending on stock availability the purchase order may be confirmed or rejecte
d.
• 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)

11
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

12
A little bit more on events…

A start event triggers a new process instance start


event
by generating a token that traverses the
sequence flow (“tokens source”)

An end event signals that a process instance has end


event
completed with a given outcome by consuming
a token (“tokens sink”)

13
Order-to-cash example revisited…
[…] If the purchase order is confirmed, an invoice is emitted and the goods requeste
d 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

14
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
fulfilled
split join
Ship goods

15
Branching and Merging
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

16
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

18
Example: AND Gateway
Airport security check

19
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

20
Case Analysis
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 rel
evant products are maintained in Amsterdam, a sub-order is sent there; likewise, if som
e relevant products are maintained in Hamburg, a sub-order is sent there. Afterwards, t
he order is registered and the process completes.

21
Solution one
Order distribution process

XOR-split XOR-join

AND-split AND-join

22
Solution two
Order distribution process

AND-split AND-join

XOR-split XOR-join

23
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 depending on conditions


condn

OR-join ➔ proceeds when all active incoming branches have


completed

24
Solution using OR Gateway
Order distribution process

25
Beware: Beginner’s Mistake…
Components of a modeling language

Modelling Language

Vocabulary

Syntax Semantics Notation


Components of a modeling language: Vocabulary

Vocabulary: set of modeling elements of the


Modelling Language language (BPMN: activities, gateways, events…)
Vocabulary

Syntax Semantics Notation


Components of a modeling language: Syntax

Syntax: set of rules to govern how these elements can be


Modelling Language combined (BPMN: start events only have outgoing
Vocabulary sequence flows whereas end events only have incoming
sequence flows).

Syntax Semantics Notation


Components of a modeling language

Semantics: bind these elements, including their textual


Modelling Language descriptions, to a precise meaning (in BPMN: activities
Vocabulary model something actively performed during the business
process, while XOR gateways model exclusive decisions
and simple merging points).
Syntax Semantics Notation
Components of a modeling language: Notation

Modelling Language Notation: set of graphical symbols for the visualization


of the elements (in BPMN: labeled rounded boxes to
Vocabulary depict activities and the circles with a thin border to
depict start events).

Syntax Semantics Notation


Business Objects (aka artifacts)

Can be:
• Physical or digital information artifacts (e.g. an order on paper, an invoic
e on PDF)
• Physical material (e.g. a box containing the ordered goods)
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

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.
Business Objects in BPMN

A Data Object captures an artifact required (inp


Purchase
order
Invoice ut) or produced (output) by an activity.
• Can be physical or electronic
Emit
invoice

A Data Store is a place containing data objects


that must be persisted beyond the duration of a
Oracle CRM Client info process instance.

Retrieve client It is used by an activity to store (as output) or


information
retrieve (as input) data objects.
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
The purchase order document serves as an input to the stock
Purchase availability check against the Warehouse DB. Based on the
Order
[rejected]
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.
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
Resources

Active resources:
• Process participant
• Software system
• Equipment

Resource class:
A group of (active) resources that are interchangeable, e.g. a role, an organizatio
nal unit or the whole organization.
Resources in the order-to-cash example

The order-to-cash process is carried out by a seller’s organization which includes t


wo departments: the Sales department and the Warehouse & Distribution depar
tment.
The purchase order received by the Seller has to be checked against the stock. This
is done via an ERP module within the Warehouse & Distribution department.
If the purchase order is confirmed, the Warehouse & Distribution department sh
ips the goods. Meantime, the Sales department emits the invoice. The process con
cludes with the order being archived by the Sales department.
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
Solution: Order-to-cash
Exchanging information between business parties

Order-to-cash
The purchase order sent by the Customer is received by the Seller and checked ag
ainst the stock. This is done via an ERP module within the Warehouse & Distributi
on 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 ship
ment notification to the Customer. Meantime, the Sales department emits the inv
oice and sends it to the Customer. The process concludes with the order being arc
hived by the Sales department.
BPMN Elements – Message Flow

A Message Flow represents a flow of information or materials between two


process parties (Pools) Message

A Message Flow can connect:


• directly to the boundary of a Pool ➔ captures a 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
BPMN Elements – Start Message Event
The start message event triggers a process by the receipt of a message when an
incoming message flow is connected to the event

Message

Message
received
Solution: Order-to-cash
Pools, Lanes and Message Flows: syntax
1. The Sequence Flow cannot cross the boundaries of a Pool
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
When are messages sent or received?
• A Send activity will send the outgoing message upon activity completion
• A Receive activity won’t start until the incoming message has been 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
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
Process (or Orchestration) Diagram

Models a single business party and can be:


Public view (black box)

Auctioning Service
Private view (white box)
Auctioning Service Conduct auction

Send auction Send auction Send auction


creation creation completion
confirmation confirmation notification
Auction
begins
Collaboration Diagram

Models a global business process between at least two business parties (ea
ch modelled by a Pool)
Send delivery
Seller notification

Send auction Send


Send
creation payment
payment ack.
request details
Private
Auction Auction process
creation Auction completion
request creation notification
confirmation Goods
Payment sent
details Payment notification
Auctioning Service

Conduct auction acknowledgement


Delivery
Send auction Send auction Send auction acknowledgement
creation creation completion
confirmation confirmation notification
Auction
begins

Auction
Bid Bid
completion
acknowledgement
notification
Bidder

Public
process
Process decomposition
An activity in a process can be decomposed into a “sub-process”

Expanded Sub-process

Collapsed
Task
Sub-process

Activities
Use this feature to:
1. Improve understanding by breaking down large models
2. Identify parts that should be:
• repeated
• executed multiple times in parallel
• interrupted, or
• compensated
Example: Sub-Process

Invoice Process Process


received Invoice Payment

Process Invoice
no
mismatches

Enter Invoice /
Check Invoice
Credit Note
Mismatches
Details

mismatch
exists
Block Invoice
Identify possible sub-processes
Acquire raw materials

Ship and invoice


Solution
The refactored model
Imposing order of messages via subprocess

The expanded subprocess for “Activity”


Example: Modelling process hierarchies

Process Receive and


Level 3 Inquiry and Validate ...
Quote Order

Level 4 Enter Order Check Credit ...


Order
received

Clear Order
Credit
Level 5 Check Credit
Record
available
...
Contact
customer
Credit not
available
account rep.

(Fragment of the SCOR reference model)


Value chain modelling

Chain of (high-level) processes an organization performs in order to achieve a bu


siness goal, e.g. deliver a product or service to the market.
Business
process

“is predecessor of”


Linking value chains with process models
Process model
for this
process is
available
Guidelines: modeling levels
Use sub-processes when the model becomes too large:
• Hard to understand
• Increased error probability

Level 1 – start with value chain


Level 2 – add main decisions and handoffs (lanes)
Level 3+ – add procedural aspects:
• Parallel gateways
• Data objects, data stores
• Exception handling
• And as much detail as is relevant

Decomposition drivers:
• Logical: group elements meaningfully (e.g. common business object)
• Structural: up to 30 nodes (activities, events, gateways)
Process Reuse

By default, a sub-process is “embedded” into its parent process (i.e. it is stored within the
same file)

In order to maximize reuse, it is possible to “extract” the sub-process and store it as a sepa
rate file in the process model repository

Such a sub-process is called “global” model, and is invoked via a “call” activity

(normal) Call
activity activity
Example: process reuse

Call activity is the


default choice to
maximize reusability
Sub-processes: syntax
Sequence flows cannot cross sub-process boundaries
• Use start/end events

Message flows can cross sub-process boundaries


• To indicate messages emanating from/incoming into the sub-process

Start with at least one start event


• If multiple, first occurring will trigger the sub-process

Finish with at least one end event


• The sub-process will complete once all tokens have reached an end event. May need an (X)OR-sp
lit after sub-process to understand what end event(s) have been reached
Example: sub-process with multiple end events

Quote-to-order
Any question?
End

You might also like