business process management (bpm) day 2: advanced bpmn - ut

46
Tallinn University, invited lecture 2009 Business Process Management (BPM) Day 2: Advanced BPMN Vambola Leping vambola.leping ät ut . ee (invited lecturer: Marlon Dumas)

Upload: others

Post on 30-Apr-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Business Process Management (BPM) Day 2: Advanced BPMN - ut

Tallinn University, invited lecture – 2009

Business Process Management

(BPM)

Day 2: Advanced BPMN

Vambola Leping

vambola.leping ät ut . ee

(invited lecturer: Marlon Dumas)

Page 2: Business Process Management (BPM) Day 2: Advanced BPMN - ut

2

Agenda for Today

Time Contents

09.30-11.20 Review of homework, advanced gateways

11.20-11.35 Break

11.35-13.15 Sub-processes, events and exception handling

Page 3: Business Process Management (BPM) Day 2: Advanced BPMN - ut

3

BPMN Main Elements - Recap

Flow Objects

Gateway

Event

Activity

Connections

Message

Flow

Association

ArtifactsText Annotation

Data

Object Group

Swimlanes

Po

ol

La

ne

Page 4: Business Process Management (BPM) Day 2: Advanced BPMN - ut

4

BPMN Flow Elements – Recap

Start EventTask

AND-Split

AND-Join

End Event Flow

XOR MergeXOR-Decision

c

~c

cond 1

cond 2

default

OR-Split

D

OR-Join

Page 5: Business Process Management (BPM) Day 2: Advanced BPMN - ut

5

BPMN Gateways

• XOR-split (exclusive) take one branch

• XOR-merge proceed when one branch has completed

• AND-split (fork) take all branches

• AND-join proceed when all incoming branches have completed

• OR-split (inclusive) take one or several branches depending on conditions

• OR-join proceed when all active incoming branches have completed

Page 6: Business Process Management (BPM) Day 2: Advanced BPMN - ut

6

Example: XOR & AND gateways

Page 7: Business Process Management (BPM) Day 2: Advanced BPMN - ut

7

Example: OR gateways

More general case: http://www.workflowpatterns.com/patterns/control/new/wcp38_animation.php

Page 8: Business Process Management (BPM) Day 2: Advanced BPMN - ut

8

An alternative to “split” gateways:

Conditional flows

Receive Travel

Request

Head of Division

Head of Office

Financial Officer

Approval

International Travel

Domestic Travel

Page 9: Business Process Management (BPM) Day 2: Advanced BPMN - ut

9

BPMN Exercise 4

Map the following process fragment using OR-

split, OR-join and/or conditional flows:

When a claim is received, it is registered. After

registration, the claim is classified leading to two

possible outcomes: simple or complex. If the claim is

simple, the policy is checked. For complex claims, both

the policy and the damage are checked independently.

Page 10: Business Process Management (BPM) Day 2: Advanced BPMN - ut

10

Complex gateways

• Sometimes, it is not necessary to wait for all

active branches to complete:

In an order placement process, a quote is sought

from two preferred suppliers in parallel. As soon as

one of them provides a quote, the order placement

process may proceed. The second quote, if any, is

ignored.

Page 11: Business Process Management (BPM) Day 2: Advanced BPMN - ut

11

Complex gateway example

Obtain Quote

from Supplier A

Obtain Quote

from Supplier B

QuoteA

QuoteBQuoteA or QuoteB

Proceed to

place order...

Page 12: Business Process Management (BPM) Day 2: Advanced BPMN - ut

12

Sub-processes

• A task in a process can be decomposed into a “sub-process”.

• Use this feature to:– Break down large models into smaller ones, making

them easier to understand and to explain

– Identify parts of a process model that should be:• repeated

• executed multiple times in parallel

• cancelled, or

• compensated.

Page 13: Business Process Management (BPM) Day 2: Advanced BPMN - ut

13

Sub-processes: example

Check Purchase

Order

OK Payment

...

...

Order Handling Process

Payment Process

Issue Invoice

to Customer

...

Receive Payment

Notice from Bank

Confirm

Payment to

Customer

Page 14: Business Process Management (BPM) Day 2: Advanced BPMN - ut

14

Process hierarchies

Access Credit

Record

Process

Inquity and

Quote

Receive and

Validate

Order...

Enter Order

Receive

Order

...Check Credit

Contact

customer

account rep.

Clear OrderCredit

Available?

...

Level 3

Level 4

Level 5Fragment

of the

SCOR

model

Page 15: Business Process Management (BPM) Day 2: Advanced BPMN - ut

15

Block-structured repetition

PO Protocol taken from www.rosettanet.com:

A customer sends a purchase order (PO) and expects to

receive a “PO response”. In the “PO response”, each line

item is marked as “accepted”, “rejected” or “pending”. If

some line items are left pending, the customer expects

to receive a “PO Update” later. Again, this “PO Update”

marks line items as “accepted”, “rejected”, or “pending”.

If some line items are left pending, the customer waits

for another PO-Update, and so on until no line items are

left pending.

Page 16: Business Process Management (BPM) Day 2: Advanced BPMN - ut

16

Block-structured repetition: example

Page 17: Business Process Management (BPM) Day 2: Advanced BPMN - ut

17

Interlude: Cycles

• Another way of capturing

repetition is through cycles

• Choice between looping and

cycles is a matter of taste, but

if it is possible to meaningfully

cluster the activities to be

repeated as a sub-process,

looping is more suitable.

Page 18: Business Process Management (BPM) Day 2: Advanced BPMN - ut

18

What’s wrong with this model?

Page 19: Business Process Management (BPM) Day 2: Advanced BPMN - ut

19

Multiple instance sub-process activity

Health Treatment

ServiceRecords

Assessment

External

Diagnostics

Internal Diagnostics

Review

Patient ChartDiagnose

Patient

Close Service

Request

ReceivedList of Patients

Sent

Care Planning

Care Plan Request Received

Test Request Received Test Request Sent

Schedule Appointment Request Sent

for each diagnostic test

Order

Diagnostic

Test

Review Test

Results

external

test order

request

external

test

results

Conduct Test

© Queensland Health

Page 20: Business Process Management (BPM) Day 2: Advanced BPMN - ut

20

Exercise 5: Repetition/cycles

After a claim is registered, it is examined by a claims officer. The claims officer then writes a “settlement recommendation”. This recommendation is then checked by a senior claims officer who may mark the claim as “OK” or “Not OK”. If the claim is marked as “Not OK”, it is sent back to the claims officer and the examination is repeated. If the claim is OK, the claim handling process proceeds.

Page 21: Business Process Management (BPM) Day 2: Advanced BPMN - ut

21

Multiple instances

• Multiple instances ~ “parallel repetition” of an activity/sub-process

• Useful when the same activity should be executed for multiple entities or data items, e.g.– Request quotes from multiple suppliers

– Check the availability for each line item in an order separately

– Send and gather questionnaires for multiple witnesses in the context of an insurance claim

Page 22: Business Process Management (BPM) Day 2: Advanced BPMN - ut

22

Multiple instances - example

For each supplier

Select Best

QuoteSend POObtain Quote

Page 23: Business Process Management (BPM) Day 2: Advanced BPMN - ut

23

Event types

Start/End Event – Indicates that an instance of the

process is created/terminated when an event occurs

without specifying the cause of this event

Intermediate event – Indicates that an event is

expected to occur during the process, without

indicating the cause of the event

Start Message Event – Indicates that an instance of

the process is created when a message is received

End Message Event – Indicates that the process is

terminated when a message is received

Intermediate Message Event – Indicates that an

event is expected to occur during the process the

event is triggered when a message is received.

Page 24: Business Process Management (BPM) Day 2: Advanced BPMN - ut

24

Event types (cont.)

Start Timer Event – Indicates that an instance of the

process is created at certain date(s)/time(s), e.g. start

process at 6pm every Friday

Intermediate Timer Event – Triggered at certain date(s)/

time(s), or after a time interval has elapsed since the

moment the event is “enabled”

Intermediate/End Compensate Event – Indicates that the

enclosing process must be compensated: the end version

generates the compensation event while the “intermediate”

version consumes it

End Link Event – Indicates that the process flow continues

elsewhere (e.g. in a separate diagram)

Start/Intermediate Link Event – Indicates that the process

flow is being picked up from a “previous” diagram”.

Intermediate/End Exception Event – Indicates an error: the

“end” version generates the exception event while the

“intermediate” version consumes it

Page 25: Business Process Management (BPM) Day 2: Advanced BPMN - ut

25

Advanced event types

Intermediate Rule Event – Triggered when a rule becomes

true, e.g. when an employee is sick

Start Rule Event – Indicates that an instance of the process

is created each time that a rule becomes true, e.g. start the

process each time that the number of people complaining

for the same reason becomes greater than 5

End Terminate – Generates an event that causes the whole

process to be terminated forcefully (i.e. nothing else should

be done).

Intermediate/End Cancel Event – Indicates that the

enclosing process must be cancelled: the end version

generates the cancellation event while the “intermediate”

version consumes it

Page 26: Business Process Management (BPM) Day 2: Advanced BPMN - ut

26

Modelling with events - Example

A PO handling process starts when a PO is received. The PO is first registered. If the current date is not a working day, the process waits until the following working day before proceeding.

Otherwise, an availability check is performed and a “PO response” is sent back to the customer.

Anytime during the process, the customer may send a “PO change request”. When such a request is received, it is just registered, without further action.

Page 27: Business Process Management (BPM) Day 2: Advanced BPMN - ut

27

Modelling with events - Example

Register PO

Receive PO

Next working day

weekend/holiday

Check

Availability

Receive PO

Change

Register PO

Change

Send PO

Response

Page 28: Business Process Management (BPM) Day 2: Advanced BPMN - ut

28

Data-driven vs. event-driven decision

• In an XOR-split gateway, a branch is chosen based on expressions evaluated over available dataChoice is made immediately when the gateway is

reached

See “exclusive choice” pattern: http://www.workflowpatterns.com/patterns/control/basic/wcp4_animation.php

Page 29: Business Process Management (BPM) Day 2: Advanced BPMN - ut

29

Data-driven vs. event-driven decision

• Sometimes, the choice must be delayed until something happens choice is based on a race between events

See “deferred choice” pattern: http://www.workflowpatterns.com/patterns/control/state/wcp16.php

• In BPMN:

– Exclusive choice = data-driven decision gateway (aka

XOR-split)

– Deferred choice = event-driven decision gateway

Page 30: Business Process Management (BPM) Day 2: Advanced BPMN - ut

30

Event-based decision – Example

After a purchase order is sent, a customer can

receive either a “PO Response” or an error

message. It may happen that no response is

received at all. If no response is received after

24 hours or if an error message is received, the

purchasing officer should be notified. Otherwise,

the PO Response is processed normally.

Page 31: Business Process Management (BPM) Day 2: Advanced BPMN - ut

31

Event-based decision – Example

Notify

Purchasing

Officer

Receive PO

Response

Receive Error

Message

After 24 hours

Process PO

Response

Page 32: Business Process Management (BPM) Day 2: Advanced BPMN - ut

32

Exercise 5

In the context of a claim handling process, it is

sometimes necessary to send a questionnaire to the

claimant to gather additional information. The claimant is

expected to return the questionnaire within five days. If

no response is received after five days, a reminder is

sent to the claimant. If after another five days there is still

no response, another reminder is sent and so on until

the completed questionnaire is received.

Page 33: Business Process Management (BPM) Day 2: Advanced BPMN - ut

33

Exception handling

• Exceptions are events that deviate a process from its “normal” course

• Handling exceptions often involves stopping a sub-process and performing a special activity

• Three ways of stopping a sub-process in BPMN:– Simple stop: Stop a sub-process and start an exception handling

routine

– Transaction cancellation: Stop a transaction, release resources reserved during the transaction and notify any partners involved in the transaction

– Compensation: Stop the sub-process, compensate any sub-sub-process, and run a compensation routine

Page 34: Business Process Management (BPM) Day 2: Advanced BPMN - ut

34

Exception handling – Example

Consider the previous “PO Change Request”

example with the following variation: When a PO

Change Request is received, it is first checked to

determined if it can be accepted. If it is accepted,

any processing related to the PO must be

stopped. The PO change request is then

registered. Thereafter, the process proceeds as it

would after a “normal” PO is registered.

Page 35: Business Process Management (BPM) Day 2: Advanced BPMN - ut

35

Exception handling – Example

Handle PO

Register

PO

Receive

PO

Next working day

weekend

Check

Availability

Receive PO

ChangeCheck PO

Change

Send PO

Response

OK

Register

Modified PO

default

...

PO

Changed

PO

Changed

Page 36: Business Process Management (BPM) Day 2: Advanced BPMN - ut

36

Exercise 6

Extend the claim handling process as follows:

After checking the insurance policy, a possible outcome is

that the insurance is invalid. In this case, any processing

is cancelled and a letter is sent to the customer. In the

case of a complex claim, this implies that the damage

checking is cancelled if it has not yet been completed.

Page 37: Business Process Management (BPM) Day 2: Advanced BPMN - ut

37

Modelling conventions

Why use modelling conventions?– To reduce variety

– Increase the comparability of models

– Support the analysis (with clear syntax, sematic and layout standards)

– Acceleration and simplification (just start and „Go‟)

– …

Different types of modelling conventions?– Organisational level

– Project level

– …

Page 38: Business Process Management (BPM) Day 2: Advanced BPMN - ut

38

Modelling Guidelines

• Features to consider– Naming conventions (e.g. for processes, tasks and events)

– Layout conventions (e.g. Horizontal versus vertical)

– Usage guidelines: When and how to use a model element

– Degree of detailing and granularity

– Modelling lifecycle

– Technical responsibilities

– …

Page 39: Business Process Management (BPM) Day 2: Advanced BPMN - ut

39

Naming conventions for

processes and tasks

• Names should be 1-3 words long

• Begin with a verb followed by business object name and possibly an adjective (e.g. Issue Driver Licence, Renew Driver Licence via Offline Agencies)

• Avoid generic verbs such as Handle, Record…

• Avoid prepositions (to, from, for)

• Avoid naming business areas which are already named in a lane/pool

Page 40: Business Process Management (BPM) Day 2: Advanced BPMN - ut

40

Verbs to avoid

• Update, Create, Read, Delete, Record, Download,

Transmit: Too technical. Try Amend, change,

generate, retrieve, remove, capture, register, forward

• Send: Could merely be a message flow from one

business process to another.

• Process, Handle, Manage: Too generic, would not

reflect the specific objective of the process. Try

disseminate, distribute, etc.

• Input: Why do we have to input data? Maybe there is

an opportunity for process optimisation here…

Page 41: Business Process Management (BPM) Day 2: Advanced BPMN - ut

41

Naming conventions for events

• For start/intermediate message events: indicate what is being sent or received (e.g. Invoice Received)

• For end message events indicate what is being sent (e.g. Order Sent)

• For time events, indicate frequency or deadline, e.g. Monthly, Weakly, Invoice Due.

• Event names (except for timer events): should begin with a noun followed by a past participle

Page 42: Business Process Management (BPM) Day 2: Advanced BPMN - ut

42

Usage and layout guidelines

• A task must always have at least one incoming and one outgoing flow

• Input flows should come from the left or from the top

• Output flows should come out of the right or the bottom

• A process model should contain at least one pool

• Pools must be laid out horizontally

• A pool may appear multiple times in a diagram to improve presentation, but the name of the repeated pool must be italicised.

• Use link events to split large diagrams across multiple pages

Page 43: Business Process Management (BPM) Day 2: Advanced BPMN - ut

43

Wrap-up Modelling Exercise

Model the “plant hire” process described next:

– Identify lanes, pools and participants

– Identify normal (i.e. “ideal”) behaviour

– Identify “exceptional” behaviour

– Apply the modelling guidelines.

Page 44: Business Process Management (BPM) Day 2: Advanced BPMN - ut

44

Wrap-up Modelling Exercise

When a site engineer needs to hire a “plant” (truck, equipment, etc.) it sends a request to a clerk at the depot. The clerk selects the most cost-effective plant item that complies with the request, checks its availability with the plant‟s hirer, and recommends that it be engaged. The engagement is approved by a works engineer at the depot after which the clerk sends a confirmation to the hirer, asks the site engineer to be inspect the plant, and records the engagement in an information system.

Eventually, the hirer sends an invoice to the clerk. The clerk then contact the site engineer to confirm the engagement and to check that the plant was returned in due form. If the site engineer confirms, the clerk forwards it to the payment department.

Page 45: Business Process Management (BPM) Day 2: Advanced BPMN - ut

45

And once I’ve got a model, what’s next?

Some process analysis techniques:

– Cause-Effect-Analysis

– Scenario Techniques

– Cycle-Time Analysis

– Queuing Theory

– Process Simulation

– Activity-Based Costing

– Process Mining

Page 46: Business Process Management (BPM) Day 2: Advanced BPMN - ut

46

Homework

• Procurement process (see course web site)

• Can be completed in teams of up to 4 members