MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management...

39
MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut . ee

Transcript of MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management...

Page 1: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

MTAT.03.231 Business Process Management (BPM)

(for Masters of IT)

Lecture 3: Advanced BPMN

Marlon Dumas

marlon.dumas ät ut . ee

Page 2: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

2

BPMN Main Elements - Recap

Flow Objects

Connections

Artifacts

Swimlanes

Page 3: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

3

BPMN Flow Elements – Recap

Page 4: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

4

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

•  See the “structured synchronizing merge” pattern: –  http://www.workflowpatterns.com/patterns/control/

advanced_branching/wcp7_animation.php

© QUT – BPM Research Group February 23, 10 - Slide 4

Page 5: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

5

Example: XOR & AND gateways

Page 6: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

6

Example: OR gateways

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

Page 7: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

7

An alternative to “split” gateways: Conditional flows

Page 8: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

8

What’s wrong with this model?

Page 9: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

9

Complex gateways

•  Sometimes, we don’t need to wait for all active branches to complete before proceeding

•  See the “structured discriminator” pattern: –  http://www.workflowpatterns.com/patterns/control/

advanced_branching/wcp9_animation.php •  In BPMN this is called a complex join gateway •  Example:

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 10: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

10

Complex gateway example

Page 11: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

11

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 12: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

12

Sub-processes: example

Page 13: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

13

Process hierarchies

Fragment of the SCOR model

Page 14: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

14

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 15: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

15

Block-structured repetition: example

Page 16: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

16

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 17: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

17

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 18: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

18

Multiple instance activity - example

See workflow pattern ”multiple instances with runtime knowledge”

http://www.workflowpatterns.com/patterns/control/multiple_instance/wcp14_animation.php

Page 19: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

19

Multiple instance sub-process activity

© Queensland Health

Page 20: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

20

Event types

Page 21: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

21

Event types (cont.)

Page 22: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

22

Advanced event types

Page 23: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

23

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 24: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

24

Modelling with events - Example

Page 25: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

25

Data-driven vs. event-driven decision

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

reached  See “exclusive choice” pattern:

http://www.workflowpatterns.com/patterns/control/basic/wcp4_animation.php

Page 26: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

26

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 27: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

27

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 28: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

28

Event-based decision – Example

Page 29: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

29

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 30: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

30

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 31: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

31

Exception handling – Example

Page 32: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

32

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 33: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

33

Modelling Guidelines

Typical categories of guidelines: •  Naming conventions for processes, tasks and

events •  Guidelines for layout and usage of tasks,

events, lanes and pools •  Process elements “to be avoided”

Page 34: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

34

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 35: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

35

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 36: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

36

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 37: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

37

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 38: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

38

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

Some process analysis techniques: –  Cycle-Time Analysis –  Capacity Analysis –  Queuing Theory –  Process Simulation –  Activity-Based Costing –  Process Mining

Page 39: MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 3: Advanced BPMN Marlon Dumas marlon.dumas ät ut

39

Want to know more?

•  Lab session •  BPMN Poster:

http://bpmb.de/index.php/BPMNPoster •  Advanced BPMN Self-Test:

http://tinyurl.com/ygwtgl2 •  Install TIBCO Business Studio and start playing

around with it…