MTAT.03.231 Business Process Management (BPM) (for ......MTAT.03.231 Business Process Management...
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/1.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/2.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/3.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/4.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/5.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/6.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/7.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/8.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/9.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/10.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/11.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/12.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/13.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/14.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/15.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/16.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/17.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/18.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/19.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/20.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/21.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/22.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/23.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/24.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/25.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/26.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/27.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/28.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/29.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/30.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/31.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/32.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/33.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/34.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/35.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/36.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/37.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/38.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062404/61356c68dfd10f4dd73c5cfe/html5/thumbnails/39.jpg)
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…