student notes

128
Process Modeling with BPMN Training Overview Training Overview Version 5.0 © Bruce Silver Associates 2011 In cooperation with itp commerce ltd. About Me Founder, BPMessentials, the leadingprovider of BPMN training and certification (www.bpmessentials.com) A th f BPMN M th d d St l ( b tl ) Author of BPMN Method and Style (www.bpmnstyle.com) Member of BPMN 2.0 technical committee in OMG BPMS Watch, commentary on BPMN and BPM Suites (www.brsilver.com) Developer of tools to support the “Method and Style” approach using Visio © Bruce Silver Associates 2011 In cooperation with itp commerce ltd. 1

Upload: spencer-rodrigues

Post on 24-Oct-2014

61 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Student Notes

Process Modeling with BPMNg

Training OverviewTraining Overview

Version 5.0

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

About Me

Founder, BPMessentials, the leading provider of , , g pBPMN training  and certification(www.bpmessentials.com) 

A th f BPMNM th d d St l ( b t l )Author of BPMN Method and Style (www.bpmnstyle.com)

Member of BPMN 2.0 technical committee in OMG

BPMS Watch, commentary on BPMN and BPM Suites (www.brsilver.com) 

Developer of tools to support the “Method and Style” approach using Visio

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

1

Page 2: Student Notes

“BPMN is too hard…”

It’s a myth.  Not true.y

…but “bad BPMN” is commonplace.

“Good BPMN”…… is a readily learnable skill

does not require technical knowledge… does not require technical knowledge

… is a common process language shared by business and IT

… does require discipline and attention to detail

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Objectives of the Trainingj g

You will learn how to create “good BPMN”, i.e. process diagrams that…

Stand on their ownProcess logic evident from the diagram alone

Are correct, per the BPMN specification

Are complete, including…How the process starts 

Significant end states and exception paths

Touchpoints with the external environment

Are consistent across the business

Are shareable between business and IT

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

2

Page 3: Student Notes

You Will Learn

The meaning of the important BPMN shapes and symbols… using a Levels‐based approach

A methodology A cookbook approach to go from a blank sheet to complete and well‐A cookbook approach to go from a blank sheet to complete and wellstructured process diagram

A style guide Rules for diagram composition and usage to foster consistency acrossRules for diagram composition and usage to foster consistency across the business and maximize shared understanding

Supported by…Hands on exercises in class using a BPMN toolHands‐on exercises in class using a BPMN tool

An online “method and style” validation tool

Certification of proficiency based on post‐class exam and exercise

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Method and Styley

Intended for non‐executable but “complete” process models

… as used by process consultant/facilitator, business analyst, business architect, process architect

Top‐down, hierarchical style, showing…

How the process starts

Its possible end states

Its touchpoints with requesters, service providers, and other internal and external processes

Suitable for qualitative or quantitative analysis, and effective business requirements

Shareable across the business and between business and IT

Objective: maximized shared understanding

Diagrams that stand on their own

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

3

Page 4: Student Notes

Method and Style ‐ The Booky

Training based on my book  BPMN Method and Styleg y ywww.bpmnstyle.com

Amazon.com http://www.amazon.com/exec/obidos/ASIN/0982368100p // / / / /

Based on BPMN 2.0 standardLevels‐based method and style

Useful reference for the training

Covers additional event types and patterns

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

The Tool

Process Modeler for Visio, Business Edition, from itp commerce ltd

Add‐in to Microsoft Visio

2 modes ‐ BPMN 1.2 mode and BPMN 2.0 mode

Why this tool?y

Supports BPMN 2.0 shapes

Drawing quality, layers, and other features of MS Visio

Supports my top‐down, hierarchical methodologypp y p , gy

Exports to BPMN 2.0 XML for interoperability with other tools and Method and Style validation

60‐day license included in the trainingy g

Certification exercises only accepted from this tool

60‐day extensions available

Special BPMessentials pricing on upgrade to non‐expiring license

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

p p g pg p g

4

Page 5: Student Notes

Post‐Class Certification

Mastery of BPMN, not all BPM

Ability to interpret BPMN

Ability to create “good BPMN”

Step 1: Multiple choice test checks understanding of BPMNp p g

8 out of 10 required to pass, 3 chances.  Must pass Step 1 to be certified.

Step 2: Create a process model meeting specific criteria

Submit via email after training, iterate until good enoughSubmit via email after training, iterate until good enough

You only have 60 days!

60‐day or 1 year extension available for a fee

Certified BPMN professionals recognized on BPMessentials websiteCertified BPMN professionals recognized on BPMessentials website

… and paper certificate

Certification is optional… but no extra cost

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Course Outline

Level 1 Level 2

1. Why Learn BPMN?

2. BPMN By Example

3. The Method 

5. Events

6. Branching and Merging

7. Iteration

4. BPMN Style 8. Following the Rules

9. Certification and Beyond

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

5

Page 6: Student Notes

Process Modeling with BPMNg

Part 1 Why Learn BPMN?Part 1. Why Learn BPMN?

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

What is BPMN?

1. A diagramming notation for business process modelsg g p

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

6

Page 7: Student Notes

What is BPMN?

1. A diagramming notation for business process modelsg g p

2. An OMG standard

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

What is BPMN?

1. A diagramming notation for business process modelsg g p

2. An OMG standard

3. Flowchart‐based

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

7

Page 8: Student Notes

What is BPMN?

1. A diagramming notation for business process modelsg g p

2. An OMG standard

3. Flowchart‐based

4. Simple ‐ just 3 primary flow objects!

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

What is BPMN?

1. A diagramming notation for business process modelsg g p

2. An OMG standard

3. Flowchart‐based

4. Simple

5. Expressive exception‐handling 

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

8

Page 9: Student Notes

What is BPMN?

1. A diagramming notation for business process modelsg g p

2. An OMG standard

3. Flowchart‐based

4. Simple

5. Expressive exception handling

6. Supports broad group ofstakeholders

Business analyst

IT architect/Developer

BPMN

Business User

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Process Owner

How BPMN Differs from Flowcharts

1. Built‐in semantics and rules

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

9

Page 10: Student Notes

How BPMN Differs from Flowcharts

1. Built‐in semantics and rules

2. Hierarchical viewDrilldown to any level of detail…while retaining integrity of a single model end to endmodel end‐to‐end

Collapsed

Hierarchical expansion

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

How BPMN Differs from Flowcharts

1. Built‐in semantics and rules

2. Hierarchical viewDrilldown to any level of detail…while retaining integrity of a single model end to endmodel end‐to‐end

3. May show inter‐process“collaboration”

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

10

Page 11: Student Notes

How BPMN Differs from Flowcharts

1. Built‐in semantics and rules

2. Hierarchical viewDrilldown to any level of detail…while retaining integrity of a single model end to endmodel end‐to‐end

3. May show inter‐process “collaboration”

4. Rich support for exception handling through events4. Rich support for exception handling through eventsEvent can start a process, resume a paused process, abort an activity, redirect to exception flow, start a new parallel thread…

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

How BPMN Differs from Flowcharts

1. Built‐in semantics and rules

2. Hierarchical viewDrilldown to any level of detail…while retaining integrity of a single model end to endmodel end‐to‐end

3. May show inter‐process “collaboration”

4. Rich support for exception handling through events4. Rich support for exception handling through eventsEvent can start a process, resume a paused process, abort an activity, redirect to exception flow, start a new parallel thread…

5 Single semantic model can expose detail at multiple levels5. Single semantic model can expose detail at multiple levelsNo need to manually synchronize high‐level and detailed models

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

11

Page 12: Student Notes

BPMN Supports Executable Processespp

BPM Suite executes the modelIntegrated tools and runtime from a single vendor

Human workflow automation

Application integration

Business rules

f d lPerformance monitor, audit trail

Graphical/point‐click designLittle or no code

“Build for change”

ll bBusiness‐IT collaboration

Model – execute – monitor– optimize

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

BPMN Supports Executable Processespp

Roundtripping problem in first generation BPMS

Model and executable design use different languages

ERPERP

Legacy

Externaln 

rk OA M

iddleware

PerformanceData

BAM

Round trip

Design

ProcessEngine

Services

Rulesule 

ework

Integratio

Fram

ewor SORound trip

Modeling (BPMS‐Specific)

User User User

RulesRu

FramHuman Task 

Framework

Business IT

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

User User User

12

Page 13: Student Notes

Business‐Empowered Implementation

Second‐generation BPMS layer execution detail on top of standardized 

p p

BPMN flow diagram

No roundtripping problem!

ERPERP

Legacy

Externaln  k OA M

iddleware

PerformanceData

BAM

Business

ProcessModel(BPMN)

ProcessEngine

Services

Rulesule 

ework

Integration

Fram

ewor SO

ITExecutableDetails

User User User

RulesRu

Fram

e

Human Task Framework

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Common process “language”User User User

What’s NOT Standardized by BPMNy

BPMN describes just the activity flowWhen steps occur, in what order

Start and end points, conditional and concurrent paths

Does not define…How steps are performed*

Who performs them, and where*

Based on what business rules*Based on what business rules

…or why ‐ problems, strategies and goals

Nor simulation parameters (times, costs) or KPIs

* Executable BPMN (Level 3) includes these for executable processes Executable BPMN (Level 3) includes these for executable processes

BPMN tools provide those things, but not part of the standard

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

13

Page 14: Student Notes

BPMN 2.0

Finalized August 2010 Process Diagram

What’s new?

Choreography and Conversation diagrams for B2B

Executable details

h f d l hXML schema for model interchange

Only minor additions to the notation

Level 1 palette virtually unchanged from BPMN 1.2

New: Non interrupting events event subprocess

Choreography Diagram

New: Non‐interrupting events, event subprocess

Changed: Pools, lanes, data flow

Importance of BPMN 2.0

Formal metamodel and XML schemaFormal metamodel and XML schema

Descriptive and Analytic subclasses= Level 1 and Level 2 palettes

Direct link to process execution

Conversation Diagram

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

BPMN 2.0 Descriptive and Analytic Subclassesp y

Descriptive (Level 1) Analytic (Level 2)

Pool, Lane Loop, MI activity

Sequence flow, Message flow Conditional, Default sequence flow

Exclusive, Parallel gateway Inclusive, Event gateway, g y , g y

User task, Service task Send task, Receive task

None, Message, Timer start event Message, Timer, Signal, Conditional catching event

d l l hNone, Message, Terminate end event Message, Signal, Escalation throwing event

Subprocess, Call Activity Message, Timer, Error, Signal, Conditional, Escalation boundary event 

Data object Data store Data association Error Escalation end event; Signal Conditional start eventData object, Data store, Data association Error, Escalation end event; Signal, Conditional start event

Text annotation, Association Link pair

Group, Documentation Message

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

14

Page 15: Student Notes

Recap: Unique Benefits of BPMNp q

1. A multi‐vendor standard

Wide range of tools

Low cost tools

Education from many sources = widespread understanding

2. Common process language

Business‐friendly… but expressive and precise

Usable at multiple levelsp

3. Supports BPM’s end‐to‐end view

Collapse/expand subprocesses

Inter‐process “collaboration”Inter process  collaboration  

4. Business‐empowered description of event‐triggered behavior

How process should respond to exceptions

The critical skill required for BPM

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

The critical skill required for BPM

15

Page 16: Student Notes

Process Modeling with BPMNg

Part 2BPMN By Example

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Fire Up the Tool!p

Click Start/Process Modeler 5/Process Modeler 5 for Microsoft Visio

Visio 2003/2007 Visio 2010

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

16

Page 17: Student Notes

BPMN in One Slide

Just 3 primary flow objectsp y jSequence flow can only connect to these 3 shapes

1. Activity ‐ rounded rectangle

Work performed in the processWork performed in the process

Either task (atomic) or subprocess (compound)

2. Gateway ‐ diamond 

Routing logic, does not perform work

3. Event ‐ circle

A signal that “something happened”A signal that  something happened

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

High Level Process Mapg p

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

17

Page 18: Student Notes

End States and Exception Paths

Process model shows activity flow from start to end state

p

yEach distinct end state is a separate end event

Process diagram shows all possible paths to some end state

Which activities are sometimes skippedWhich activities are sometimes skipped

Which activities run in parallel with others

Gateway after an activity tests its end state

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Top‐Level Process Model

Use gateway to skip to Order failed end event on exception

p

g y p f pDon’t Fulfill Order if credit is bad

Don’t Send Invoice if item out of stock

O d l t d O d f il d di ti t d t tOrder complete and Order failed are distinct end statesRepresented by separate end events

… labeled to indicate the end state

Save (we will come back to this)

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

18

Page 19: Student Notes

Gateway Controls Process Flow

Without a gateway, all sequence flows out of activity enabled 

y

g y, q yin parallel 

Some other notations don’t work this way:

Not BPMN

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Gateway Controls Process Flow

Without a gateway, all sequence flows out of activity enabled 

y

in parallel If you mean exclusive choice, use a gateway:

With no symbol inside gateway is “exclusive data‐based”

BPMN

With no symbol inside, gateway is  exclusive data‐based  (XOR)

There are other gateway types

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

19

Page 20: Student Notes

Gateways Do Not Perform Work

… just routing logic

y

Use an activity…

To make a human decision

To invoke a decision service (e.g. in a rule engine)( g g )

Instead of this…

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Gateways Do Not Perform Worky

… just routing logic

Use an activity…

To make a human decision

To invoke a decision service (e.g. in a rule engine)( g g )

Do this…

Assume gateway tests the end state of the preceding activity

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

g y f p g y

20

Page 21: Student Notes

Exercise 2‐1

Diagram this Order Fulfillment process using start event, tasks, and gateways.

Give each distinct “end state” its own end event

1. Check inventory

2. If in stock…

a Pick stock from inventorya. Pick stock from inventory

b. Pack for shipment

c. Ship order

d End processd. End process

3. If not in stock…

a. Notify purchasing to replenish stock

b End process

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

b. End process

Exercise 2‐1 Solution

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

21

Page 22: Student Notes

Add Pool and Lanes

Pool = BPMN process

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Add Pool and Lanes

Pool = BPMN process

Lane = performer role 

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

or organization

22

Page 23: Student Notes

Add Activity Typey yp

User task (human task)

Service task (automated)

Subprocess (collapsed)

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Subprocessp

A compound (decomposable) activityCollapsed

Can be displayed as an “opaque” rectangle (collapsed)

… or expanded in child level diagram (hierarchical expansion)

Hierarchical expansion

(hierarchical expansion)

… or as “transparent” rectangle in parent level diagram (expanded inline)

All representations reference the identical i lsemantic element

Must have None start event“Trigger” is the sequence flow into the subprocess

Inline expansion

subprocess

Strict containment semanticsSequence flow may not cross subprocess boundary (cannot cross process levels)

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

23

Page 24: Student Notes

Value of Subprocessesp

Used for many purposes

1. Hierarchical modeling based on nested levels

Multiple views – zoom out or inin

Understand end‐to‐end process as single entity

2. Top‐down methodologyp gyAbstraction of unknown details

3. Define boundaries of di ib d hidistributed ownership or reuse

4. Define event scope for exception handling

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Parallel Box

Subprocess contains “floating” activities, no sequence flows or start/end events

Means perform all the activities in parallel

Subprocess is complete when all the contained activities are completep p p

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

24

Page 25: Student Notes

Ad‐Hoc Subprocessp

Special kind of subprocess where normal completion rules do not apply

Identified by tilde marker at bottom center

Contains activities that… 

…may be performed in any order…may be performed in any order

…do not all need to be completed to complete the subprocess

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Expand Subprocess at New Process Levelp p

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

25

Page 26: Student Notes

Expand Subprocess at New Process Levelp p

On child level page, model the expanded Fulfill Order p g , psubprocess

Note end state label match with gateway (“Fulfilled ok”)

Don’t draw pool automatically inherited from top levelDon t draw pool… automatically inherited from top levelDraw lanes only if you want to refine or redefine lane at top level

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Equivalent Inline Expansionq p

“Flat” modeling styleg y

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

26

Page 27: Student Notes

Incorrect Expansion of Fulfill Orderp

Why?y

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Parallel Split and Joinp

Parallel split means either activity may start first, and may p y y , yoverlap in time

Join means wait for both to complete before continuing

Right‐click, GatewayType = Parallel (AND)

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

27

Page 28: Student Notes

Parallel Split and Joinp

AND gateway split is optional out of activity or start event

Multiple sequence flows out means take all paths in parallel

Cannot omit AND gateway join to merge parallel paths into activity

… but do not use AND gateway join into end event

Join is always implied at end eventy p

Parallel paths can go to separate end events

Process level is complete when all parallel paths reach end event

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Show Customer “Collaboration”

Black box (empty) pool ‐ label with entity or role

Message flowMessage start event

Message end event

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

28

Page 29: Student Notes

Messageg

In BPMN, “message” means any communication between the , g yprocess and external entity

Must be between process and customer/requester, service provider, or another internal processor another internal process…

Email to performer in another lane is NOT “message” in BPMN

Can take any form…Automated application message, e.g. SOAP or JMS

Email

Paper mail, fax

Phone call

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Message Flow and Message Eventg g

Message represented by message flow connectorg p y g fSource and target MUST be in different pools

Connect to boundary of black box pool, to any activity or message event in white box poolevent in white box pool

Message event sometimes implies automated electronic message

To indicate human message (phone, email), can attach message flow to User task

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

29

Page 30: Student Notes

Is the Customer In or Out?

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Is the Customer In or Out?

Modeling “customer” as external to process goes back to g p goriginal swimlane diagrams of 1980s

Top swimlane and “lines of visibility” of the process

Also consistent with SOA todayAlso consistent with SOA today

Process (service) provider vs requester

When should you put initiator in external pool?Related to how process starts

3 Basic rules of thumb…

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

30

Page 31: Student Notes

Rule of Thumb #1

Model initiator as external black‐box pool when…pProcess starts upon request…

…with receipt of a document or form from initiator

and either… and either

1. Process has no other interaction withinitiator except possibly to returnfinal status notice (e.g. confirmation( gor rejection), or…

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Rule of Thumb #1

Model initiator as external black‐box pool when…Process starts upon request…

…with receipt of a document or form from initiator

… and either1. Process has no other interaction withinitiator except possibly to returnfinal status notice (e.g. confirmationor rejection), or…or rejection), or…

2. Requester is external to the processprovider organization and does not perform defined process tasks

Use Message start eventGood practice to return final statusin Message end event

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

31

Page 32: Student Notes

Rule of Thumb #2

Do not create external requester pool when…q pInitiator is part of the organization performing the process and performs tasks within the process

Make initiator a lane in process pool with None start eventMake initiator a lane in process pool, with None start eventSignifies “manual start”

Employee‐facing processes are a gray area

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Rule of Thumb #3

Do not create an external requester pool when…q pProcess is initiated on predefined (usually recurring) schedule

Use Timer start eventLabel to indicate scheduled start

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

32

Page 33: Student Notes

Start and End Events

Start eventNormally just one in a process or subprocess

Message trigger (top‐level) means started by external request

Timer trigger (top‐level) means scheduled/recurring process

None trigger (top‐level) means manual start by task performer

Subprocess MUST have None start

End eventOften more than one in a process or subprocess

One for each distinct end state

Message result means send message on reaching the end event

All parallel paths must reach end event to complete the process or subprocess

Terminate result means do not wait for parallel paths to complete

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 2‐2

Scenario: Time Off requestq1. An employee requesting time off submits a time off request. This starts the 

process.

2. Manager reviews the request. If manager disapproves, end process with disapproval message to employee.

If manager approves…Perform automated lookup of the employee’s available vacation time

Regardless of the result, go to HR review. 

3. HR Review step.  HR must approve or reject the request.If HR approves, end process with approval message to employee.

If HR disapproves, end process with disapproval message to employee

Diagram this process in BPMN.

Show swimlanes for Manager and HR.

Show message flow from/to the employee as external requester.

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

g / p y q

33

Page 34: Student Notes

Solution to Exercise 2‐2

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 2‐3

We want to show the details of the HR Review Request stepq pHR has to… 

1. Review the available time off from the lookup

2 If insufficient time available Review the justification If sufficient time is2. If insufficient time available, Review the justification.  If sufficient time is available, can skip this step.

3. Then Decide the request

4. If approved, update available time off.pp , p

Convert the HR Review Request task to a collapsed subprocesssubprocess

Define the subprocess details at a new process level

Match end state label to gateway at parent level

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

34

Page 35: Student Notes

Exercise 2‐3 Solution

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Data Objectj

Data flow not emphasized in BPMN

All instance data, end states “assumed” to be visible downstream

In BPMN 1.x, data object was an “artifact”

Effectively an annotation, has no impact on flowy , p

Linked via Association to sequence flow

In BPMN 2.0, technically means “instance variable”

Local to the process levelLocal to the process level

Directional Data Association is mapping to/from activity input/output

Thi (BPMN 1 2) i i l h t t f thi (BPMN 2 0)

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

This (BPMN 1.2)…                          …is visual shortcut for this (BPMN 2.0).

35

Page 36: Student Notes

Data Store

Persistent data (new in BPMN  2.0)

External to process but process has store/retrieve access to it

Use directional data association to show data flow to/from the process/ p

Alternative to messaging

When process activity “gets”or “polls” for info, usep ,data store

When process waits toreceive info, use message

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Text Annotation

Free text annotation of the diagram

Denoted by square left bracket

Linked to diagram object by association connector

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

36

Page 37: Student Notes

Recap: The Level 1 Palettep

Working set of BPMN shapes for descriptive modeling

Level 1 models restricted to these shapes

All BPMN users in your organization should 

d dunderstand their use

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

37

Page 38: Student Notes

Process Modeling with BPMNg

Part 3The Method

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

BPMN Method

Prescriptive guidance to maximize shared understandingp g g“Method and style” – not required by BPMN spec

GoalsStructural consistency

Top‐down, hierarchical, explicit end states, visible global context….

Readability

Top‐down traceable

Model completeness

Diagram stands on its own (without attached documentation)

Shareability with IT

Aligned with Level 2 models used for detailed requirements, executable processes

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

38

Page 39: Student Notes

Method Overview

1. Define process scope

When/how it starts and ends

2. Enumerate steps in high‐level process map

3. Define top‐level process diagram3. Define top level process diagram

Conditional and concurrent steps

Process end states and exception paths

Collaboration with customer/requesterCollaboration with customer/requester

4. [Optional] Add pools and lanes

5. Expand subprocesses in child level diagrams

Ensure top down traceability by matching end state and gateway labelsEnsure top‐down traceability by matching end state and gateway labels

6. Add global context with message flows

Ensure top‐down traceability by matching message flows at parent and child levels

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

levels

BPMN Conceptsp

Activity

An action – Label it VERB‐NOUN

Has a well‐defined start and end – May have multiple end states

Repeated – Understand what each activity instance represents

A BPMN activity is not a “function” or “capability”Some mismatch to business process architecture frameworks

“Manage…”, “Maintain…”, “Monitor…” are usually not useful names for BPMN activities

E.g. AQPC Process Classification

Which of these Process expensereimbursement activities wouldreimbursement activities wouldmake good activities in a BPMNprocess model?

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

39

Page 40: Student Notes

BPMN Conceptsp

Process“A sequence or flow of Activities in an organization with the objective of carrying out work.” ‐‐BPMN 2.0 spec

Orchestration: Explicit logic describing all activity flow paths leadingOrchestration: Explicit logic describing all activity flow paths leading from a single initial state of the process instance to one or more alternative end states

Repeated ‐ Same logical model applies to all instancesRepeated  Same logical model applies to all instances

Continuous sequence flow chain start to end – Nothing “floating”

Coordinated – Sequence flow triggers the next step to start

Process instance related to how the process startsProcess instance related to how the process starts

E.g. a request message (order, claim, service request…) vs a scheduled batch of items

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Step 1. Define Process Scopep p

What does the instance represent?

When does an instance of the process start? 

Triggered by request?  (Message start)

Regularly scheduled?  (Timer start)

When is an instance complete?

Process scope related to performance metrics (KPIs)

Cycle time

Cost

Resource utilization

Quality metrics

% Successful outcomes

Some end‐to‐end processes “standardized” by enterprise app vendorsOrder to cash, Procure to pay, Opportunity to order…

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

40

Page 41: Student Notes

Exercise 3‐1. Define Process Scopep

Consider the sales order (order‐to‐cash) process for a new car ( ) pdealer.

What starts the process?

Who is the initiator?Who is the initiator?

What determines when the process is complete?

What does an instance of the process represent?

ExampleStarts with an “order” from customerStarts with an  order  from customer

Known car specification, price, and buyer

Small deposit to reserve car until closing

E d ith “ l i ” th fi i l t ti d d li f th

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Ends with “closing” the financial transaction and delivery of the car

Step 2. High Level Process Mapp g p

Enumerate the high level activities (phases or milestones) in g (p )the process

5‐10 so the top‐level diagram will fit on one page

Process details inside each activity not in between themProcess details inside each activity, not in between them

PrinciplesActivity instance aligned with the process instance

Activity completion enables next one

Minimize interaction between subtasks in different high level activities

Activity may be performed in some instances, not othersy y p ,

Activity may be performed in parallel with other activities

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

41

Page 42: Student Notes

Exercise 3‐2. High Level Process Mapg p

ScenarioStart upon receipt of an order

End upon closing financial transaction and delivery of the vehicle.

High level map activitiesHigh level map activities

Enter Order 

Order Car from Factory 

P C f D liPrepare Car for Delivery 

Arrange Financing

Close and Deliver

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 3‐2 Solution

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

42

Page 43: Student Notes

Step 3a: Top‐Level Diagram – Happy Pathp p g ppy

Arrange high level map activities as a process leading to the g g p p gsuccess (happy path) end state

Consider whether any steps are conditional or concurrent

C diti l if t f d f i tConditional if not performed for some process instancesUse exclusive gateway to skip conditional steps

Concurrent if may be performed in parallel with another y p pactivity, or if order of start does not matter

Use multiple outgoing sequence flows to model parallel split

U ll l t t d l j iUse parallel gateway to model join

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 3‐3a. Top‐Level Diagram, Happy Pathp g , ppy

ScenarioOrder Car from Factory is conditional

Only needed if the car is not available on the lot 

Hint: Exclusive gatewayHint: Exclusive gateway

If not needed, can skip and go to Prepare Car for Delivery

Hint: Can merge alternative paths without gateway

Arrange Financing runs concurrently with Order Car from FactoryArrange Financing runs concurrently with Order Car from Factory

Can start after Enter Order

Hint: Multiple sequence flows to indicate parallel flow

Close and Deliver cannot start until both Arrange Financing andClose and Deliver cannot start until both Arrange Financing and Prepare Car for Delivery are complete

Hint: Parallel gateway to indicate AND‐join

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

43

Page 44: Student Notes

Exercise 3‐3a Solution

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Step 3b. Top‐Level Diagram, Exception Pathsp p g , p

1. Identify exception end statesy p

2. Insert end event for each distinct end state1. Use Message end if it sends a message

2. Use Terminate if it aborts parallel paths

3. Otherwise use None end

3. Add gateways and exception paths to new end statesg y p pLabel gateway as yes/no condition

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

44

Page 45: Student Notes

Exercise 3‐3b. Top‐Level Diagram, Exception PathsPaths

Exception end statespDelivery date problem ‐ factory availability date unacceptable to customer 

Abort Financing path with Terminate end eventAbort Financing path with Terminate end event

After Order Car from Factory, conditionally redirect to Delivery date problem

Financing unavailableg

Abort Factory Order/Car prep path with Terminate end event

After Arrange Financing, conditionally redirect to Financing unavailable

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 3‐3b Solution

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

45

Page 46: Student Notes

Step 4. Add Pools and Lanesp

Customer and Process poolspLabel process pool with process name, black box pools with role/entity name

All process nodes and sequence flow chain must be inside the processAll process nodes and sequence flow chain must be inside the process pool

If started by customer request, add Message start trigger and message flowflow

Optional: Add lanes in process pool to distinguish performer roles or organizational units

OK to put lanes in child level diagrams, even if omitted from top level

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 3‐4. Pools and Lanes

Add Process and Customer poolsp

Lanes in process pool:Sales (Enter order, Order car from factory)

Service (Prepare car for delivery)

Finance (Arrange financing, Close and deliver)

Customer collaborationProcess starts with Order message from Customer

Final status

Return Ownership/Registration documents from Transaction completeReturn Ownership/Registration documents from Transaction complete

Confirm cancellation before both Terminates 

Use Call Activity for duplicate tasks

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

46

Page 47: Student Notes

Exercise 3‐4 Solution

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Step 5. Expand Subprocesses at Child Levelp p p

Hierarchical expansion at child process levelMust start with None start

Expansion may include collapsed subprocessesNo limit to depth of hierarchy

Do not enclose the expanded subprocess in a poolInherited automatically from top level

OK to use lanes in expanded subprocessOK to use lanes in expanded subprocess

Top‐level traceabilityIf subprocess is followed by a yes/no gateway, interpret gateway as testing the subprocess end statetesting the subprocess end state

In child level expansion, define end events to distinguish the end states

Match one end event label with gateway label

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Match one end event label with gateway label

47

Page 48: Student Notes

Exercise 3‐5. Expand Subprocessesp p

Expand Enter Order pTwo activities

Collect signed agreement and deposit

Enter order into the systemEnter order into the system

If car is not on the lot, end state is Order from Factory

Pay attention to top‐down traceabilityIn top‐level diagram Enter Order is followed by yes/no gateway labeled (in my diagram) “Order from Factory?”

… so one end event of child level diagram must be “Order from Factory”

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 3‐5 Solution

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

48

Page 49: Student Notes

Step 6a. Add Global Contextp

Pools and message flows show how process fits in overall business environment

Touchpoints with customer, service providers, other internal processes

Architectural perspective adds complexity to diagram

Can hide it from users who don’t want to see it

Service providers perform actions upon request by the process

Return results to the process

Represent requester, service providers, other internal processes as black‐box pools

Draw message flows to show communications (requests and responses)

Connect to boundary of external pool

Connect to activity or message event of process

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 3‐6a. Add Global Context

2 more external participantsFactory and Lender

Message flows

Between Order Car from Factory and Factory pool

Process sends Factory Ordermessage flow

Factory responds with Factory Order Confirmation

Process may send Cancel Factory Order if delivery date unacceptable, and factory responds with Cancel Confirmationresponds with Cancel Confirmation

Between Order Car from Factory and Customer

Process sends Confirmation Request with delivery date

Customer returns Confirmation Response (confirm or cancel)Customer returns Confirmation Response (confirm or cancel)

Between Arrange Financing and Lender pool

Process sends Loan Request

Lender returns Loan Response

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

49

Page 50: Student Notes

Exercise 3‐6a Solution

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 3‐6a Solution (Hide message flows)( g )

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

50

Page 51: Student Notes

Step 6b. Child‐Level Message Flowsp g

If collapsed subprocess has message flow to external pool, p p g p ,replicate the external pool and message flow in child‐level expansion

Count name of message flows should match between parent andCount, name of message flows should match between parent and child diagrams

Connect to boundary of black‐box pool, connect to activity or event in process poolprocess pool

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 3‐6b. Child‐Level Message Flowsg

Expand Order Car from Factory p y1. Place Factory Order: The dealer sends the Factory ordermessage and 

receives the Factory order confirmation in reply. 

2 Calculate Delivery Date: Dealer uses Factory order response to2. Calculate Delivery Date: Dealer uses Factory order response to calculate the promised delivery date to the customer.

3. Notify Customer Delivery Date: Dealer sends Confirmation request to Customer and receives Confirmation responseCustomer and receives Confirmation response. 

4. If the response is confirm, the subprocess ends in “Delivery date acceptable” end state. 

Label to match gateway following the subprocessLabel to match gateway following the subprocess

5. If response is cancel, the dealer sends Cancel factory order, receives the Cancel confirmation response, and the subprocess ends in the “Order canceled” end state

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Order canceled  end state. 

51

Page 52: Student Notes

Exercise 3‐6b Solution

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Reusable Subprocessesp

Define as an independent (top‐level) process

Save in its own file

Call Activity calls it as a reusable subprocess

Regular Subprocess definition is “embedded” in parent process model

Subprocess Call Activity

Modeling procedure

1. Define process Check Credit in CheckCredit.vsd

2. Export CheckCredit.bpmnp p

3. In [parent].vsd, import CheckCredit.bpmn

4. In [parent].vsd, Link Call Activity ‘Check Credit’ to imported Check Credit process

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

52

Page 53: Student Notes

Method Recapp

1. Define process scope

When/how it starts and ends

2. Enumerate steps in high‐level process map

3. Define top‐level process diagram3. Define top level process diagram

Conditional and concurrent steps

Process end states and exception paths

4 Add pools and lanes4. Add pools and lanes

Collaboration with customer/requester

5. Expand subprocesses in child level diagrams

Ensure top down traceability by matching end state and gateway labelsEnsure top‐down traceability by matching end state and gateway labels

6. Add global context with message flows

Ensure top‐down traceability by matching message flows at parent and child levels

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

levels

53

Page 54: Student Notes

Process Modeling with BPMNg

Part 4.BPMN Style

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

What is BPMN Style?y

Rules and conventions that establish consistency and optimize models for a particular purpose

My purpose is diagrams that stand on their own, maximizing shared understanding and top‐down traceability

Key to “good” BPMN vs bad BPMN

Rules in the BPMN spec…

… are supported by validation function built into modeling tools

… are important, but just a first cut

… allow “valid” but bad BPMN

Good BPMN style means following the rulesy gPrinciples of composition

Style rules

Official rules of the BPMN spec

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

p

54

Page 55: Student Notes

Principles of Compositionp p

1. Use labels to make flow logic clear from the diagramg gHow the process starts

Alternative end states

Message flowsMessage flows

Gateways and gates

All events

Task types

Lanes if handoffs are important to analysis

2 Make models hierarchical2. Make models hierarchicalFit each process level on one page

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Principles of Compositionp p

3. Use black‐box pools to represent external participantsThey should not contain any activities

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

55

Page 56: Student Notes

Principles of Compositionp p

4. Model internal process participants (activity performers) as p p p ( y p )lanes within a single process pool, not as separate pools. 

Label lanes with the role or organizational unit that performs (or is responsible for) its contained activitiesresponsible for) its contained activities.

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Principles of Compositionp p

5. Indicate success and exception end states of a process or p psubprocess with separate end events, and label them to indicate the end state. 

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

56

Page 57: Student Notes

Principles of Compositionp p

6. Label activities VERB‐NOUNActivity is an action, not a function, condition, or state

Use Check credit (action), not Credit check (function) or Credit OK? (condition)

Use Approve loan (action), not Loan approval (function) or Loan rejected (state)

7. Use Message start event in top‐level process to indicate process initiated by7. Use Message start event in top level process to indicate process initiated by external request.

8. Use None start in top‐level process to indicate manual start by a task performer

9. Use Timer start in top‐level process to indicate a scheduled process.

10. Label white‐box pools with the name of a process; label black‐box pools with a participant role or business entity.

11. If possible, label exclusive gateways as [End state]?, and label the outgoing sequence flows yes and noq y

12. Don’t use a gateway to merge alternative paths; merge them directly.

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Style Rulesy

13. Top‐down traceabilityp yIf subprocess is followed by yes/no gateway, match one end event of subprocess with gateway label

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

57

Page 58: Student Notes

Style Rules

14. Top‐down traceability II

y

p yShow message flows consistently in parent and child‐level diagrams.

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Style Rulesy

14. Top‐down traceability IIp yShow message flows consistently in parent and child‐level diagrams.

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

58

Page 59: Student Notes

Style Rulesy

15. Label message flows with the name of the message.g g

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Style Rulesy

16. Two end events in a process level should not have the same name. 

If they represent the same end state, combine them in one end event; otherwise give them different names.

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

59

Page 60: Student Notes

Style Rulesy

17. Don’t use join gateway into a None end event; join is implied j g y ; j pat all None end events

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Style Rulesy

18. Process pool in child‐level diagram (if drawn) should be p g ( )labeled with name of the top‐level process

… NOT the name of the subprocess

19 S b h ld h tl t t t19. Subprocess should have exactly one start event

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

60

Page 61: Student Notes

Rules from the BPMN Specp

20. Sequence flow must not cross a pool boundary. q p yUse message flow to link pools.

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Rules from the BPMN Specp

21. Sequence flow (or equivalent link event pair) must not cross q ( q p )subprocess boundary, i.e., from child level to parent level.

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

61

Page 62: Student Notes

Rules from the BPMN Specp

22. Message flow cannot connect points in the same pool.g p p

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Rules from the BPMN Specp

23. Message flow cannot connect to a gatewayg g y

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

62

Page 63: Student Notes

Rules from the BPMN Specp

24. All activities, gateways, and events must be connected via a , g y ,continuous chain of sequence flows leading from a start event to end event

Do not leave flow objects “floating” in the diagramDo not leave flow objects  floating  in the diagram

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

63

Page 64: Student Notes

Process Modeling with BPMNg

Part 5Events

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

“BPMN Is Too Complicated”p

Meaning this…

… Especially Intermediate events

(Event subprocess start events are really intermediate events)

But you can ignore most of them!!

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

64

Page 65: Student Notes

“BPMN Is Too Complicated”p

Meaning this…

… Especially Intermediate events

(Event subprocess start events are really intermediate events)

But you can ignore most of them!!

We have already seen the Level 1 palette (Descriptive subclass)

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

“BPMN Is Too Complicated”p

Meaning this…

… Especially Intermediate events

(Event subprocess start events are really intermediate events)

But you can ignore most of them!!

Level 1 palette (Descriptive subclass)

Level 2 palette (Analytic subclass)

Focus on the Big 3 

Message, Timer, Error

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

65

Page 66: Student Notes

Intermediate Events

Occur during a process or subprocessDistinguished by double border

Several distinct behaviors1. Throwing: send the signal and continue2. Catching (in sequence flow): wait for the g ( q )

signal, then continue3. Boundary, interrupting: listen for the signal while activity

is runningIf signal occurs, abort activity and exit onexception flowIf signal does not occur, continue on normal flow

4. Boundary, non-interrupting (BPMN 2.0): listen for the signal while activity is running

If i l i iti t ll l th ti flIf signal occurs, initiate parallel path on exception flowContinue activity, exit when done on normal flow

5. Event Subprocess (BPMN 2.0), similar to boundary event handlerRuns within context of the activity instead of outside it

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Timer Event

Throwing – does not existg

Catching (in sequence flow)Wait for [duration], or Wait until [date/time]

Means just a delay… NOT wait for something to happen

ExampleLooping retry delayLooping retry delay

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

66

Page 67: Student Notes

Timer Boundary Eventy

Boundary eventyTimeout

Timer starts when activity attached‐to starts

Trigger fires at specified [duration] or [date/time]Trigger fires at specified [duration] or [date/time]

Interrupting Timer event examplep g p

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Timer Boundary Eventy

Boundary eventyTimeout

Timer starts when activity attached‐to starts

Trigger fires at specified [duration] or [date/time]Trigger fires at specified [duration] or [date/time]

Non‐interrupting Timer event examplep g p

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

67

Page 68: Student Notes

Subprocess to Define Timed Intervalp

Can wrap process fragment in a subprocess to define timed interval for exception handling

Timer starts when attached‐to activity starts

Timer shut off when attached‐to activity ends

Example: Fast food process

If not ready to deliver within 5 minutes after Take Order, refund the money

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Subprocess to Define Timed Interval

Can wrap process fragment in a subprocess to define timed 

p

p p g pinterval for exception handling

Timer starts when attached‐to activity starts

Timer shut off when attached to activity endsTimer shut off when attached‐to activity ends

SolutionWrap timed interval ina subprocess

Attach timer eventto it

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

68

Page 69: Student Notes

Boundary Event vs Gatewayy y

Suppose this instance of Task takes 3 hours. When is ppcustomer notified in (a) vs (b)?

(a)

(b)(b)

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Timer Event Cheat Sheet

Delay (wait for some specified duration)y ( p )

Interrupt and redirect on timeout

Do something in addition on timeout

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

69

Page 70: Student Notes

Exercise 5‐1 ‐ Timer Event

Diagram the following Customer support processg g pp pFollowing support request,…

Fix the problem

Wait 1 hrWait 1 hr

Verify fix with Customer

All tasks are User task type

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 5‐1 Solution

Diagram the following Customer support processg g pp pTriggered by request…

Fix the problem

Wait 1 hrWait 1 hr

Verify fix with Customer

All tasks are User task type

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

70

Page 71: Student Notes

Exercise 5‐2 ‐ Timer Event

Diagram the following Customer support processg g pp pTriggered by request…

Fix the problem

If fix not complete in 1 hrIf fix not complete in 1 hr…

Abort it and Contact Customer to reschedule

If fix complete in 1 hr…

fVerify with Customer

All tasks are User task type

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 5‐2 Solution

Diagram the following Customer support processg g pp pTriggered by request…

Fix the problem

If fix not complete in 1 hrIf fix not complete in 1 hr…

Abort it and Contact Customer to reschedule

If fix complete in 1 hr…

fVerify with Customer

All tasks are User task type

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

71

Page 72: Student Notes

Exercise 5‐3 ‐ Timer Event

Diagram the following Customer support process

Triggered by request…

Fix the problem

If fix not complete in 1 hr…

Continue working on it and immediately Notify Customer with expected completion time

After fix complete…

V if i h CVerify with Customer

All tasks are User task type

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 5‐3 Solution

Diagram the following Customer support process

Triggered by request…

Fix the problem

If fix not complete in 1 hr…

Continue working on it and immediately Notify Customer with expected completion time

After fix complete…

V if i h CVerify with Customer

All tasks are User task type

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

72

Page 73: Student Notes

Exercise 5‐4 ‐ Timer Event

Diagram the following Customer support process

Triggered by request…

Assess the problem

Fix the problem

If fix not complete in 1 hr after initial request…

Continue working on it and Notify Customer with expected completion time

After fix complete…

Verify with Customer

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 5‐4 Solution

Diagram the following Customer support process

Triggered by request…

Assess the problem

Fix the problem

If fix not complete in 1 hr after initial requestIf fix not complete in 1 hr after initial request…

Continue working on it and Notify Customer with expected completion time

After fix complete…

Verify with Customer

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

73

Page 74: Student Notes

Sending and Receivingg g

“Send” and “Receive” refer specifically to messagesRepresented by message flow connector in the diagram

Message = any signal between the process and external entityElectronic message, e.g. SOAP or JMS

Email

Fax or paper mail

Phone callPhone call

Can send and receive message witheither Activity (any kind)either Activity (any kind) or Message event

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Send Task

Task that sends a messageSending the message is the only action performed

Equivalent to throwing message eventSend task

q g g

What is the difference between this

Message end event Throwing Message intermediate event

What is the difference between this…

… and this?

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

74

Page 75: Student Notes

“Sending” Within a Processg

“Send” = Message = inter-pool communicationsg pCannot use message within a pool

Do not use Send task or Message event if you cannot draw message flow to another poolg p

Do not even use “send” in the name of a task representing intra-process communication

How do you “send” work to a downstream task performer in the process?

How do you notify someone else inside the process, such as Manager?

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Sending Work to Downstream Task PerformerPerformer

Don’t use Send task(or message event) if youcannot draw message flow

Don’t even use keyword“Send”

Sending work is implied by sequence flow alone

Notification of taski tassignment

Appearance of the taskin user’s worklist

Delivery of informationyneeded to perform thetask

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

75

Page 76: Student Notes

Sending Work to Downstream Task PerformerPerformer

To call attention to manual ti it l t d t thi OK tactivity related to this, OK to

add User task… but don’t label it “Send”

To call attention to data ordocs, can use DataObject

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Intra-Process Notification/Reportingp g

Do not use sequence flow to recipient activityq p yThat implies recipient has a “task” to perform

Instead add User task in sender laneLabel it “Notify” or similar not “Send”Label it Notify or similar, not Send

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

76

Page 77: Student Notes

Receivingg

Message start eventg

Only allowed in top level process

Means create a new instance whenever a message arrivesMeans create a new instance whenever a message arrives

Receive task means wait for a message, then continueReceive task means wait for a message, then continue

… same as catching Message intermediate event

Waiting for the message is the only action

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Short- and Long-Running Servicesg g

What is the difference between this…

… and this?

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

77

Page 78: Student Notes

Message Eventg

Throwing and Catching

Same as Send and Receive tasks

Only use them when you can draw message flow to another pool

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Event Gateway

What if the message you are waiting for doesn’t come?

y

Event gateway lets you add a timeout to the wait

GatewayType = Exclusive event‐based

Catching events on each gateg g

Typically message(s) and timer

Whichever occurs first d idetermines path taken

Event gateway

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

78

Page 79: Student Notes

Modeling Alternative Responses

Response and Fault are different messages (message structures)

g p

Event gateway tests whichmessage did we get

Approved and rejected are different values of response messageTest value withregular XOR gateway

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Message Boundary Eventg y

Listen for a message while attached‐to activity is running

If it arrives, trigger exception flow

Abort activity (interrupting type ‐ solid border), or

Continue activity (non‐interrupting type ‐ dashed border)

Same physical message (e.g., order cancellation) can have different handlers depending on when it arrives

E.g. Customer cancel message aborts order if not yet shippedg g y pp

If Ship activity started, Customer cancel message does not abort order process; initiates parallel return authorization subprocess

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

79

Page 80: Student Notes

Exercise 5‐5 ‐Message Event/Event Gatewayg / y

Upon receipt of a claim, the claims processor…

Reviews the claim

If complete, Process claim (collapsed subprocess) and respond with EOB.

If incomplete, send Missing Info Request to customer and wait for response

If receive response within 30 days, Process claim as before

If no response within 30 days, end the process and respond with Rejection

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 5‐5 Solution

Upon receipt of a claim, the claims processor…

Reviews the claim

If complete, Process claim (collapsed subprocess) and respond with EOB.

If incomplete, send Missing Info Request to customer and wait for response

If receive response within 30 days Process claim as beforeIf receive response within 30 days, Process claim as before

If no response within 30 days, end the process and respond with Rejection notice

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

80

Page 81: Student Notes

Exercise 5‐6 – Message Eventg

Upon receipt of an order, the order process has the following steps:

Check credit

Pick stock

Pack for shipment

Ship order

End by sending Invoice (message end event)

If customer cancels any time before end of Pack for shipment…y p

Abort the process (Do not ship, invoice)

Return Cancel Confirmation to customer

If customer cancels during Ship Order…If customer cancels during Ship Order…

Abort the process (Do not ship)

Add restocking fee

Return Restocking Invoice to customer

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Return Restocking Invoice to customer

Exercise 5‐6 Solution

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

81

Page 82: Student Notes

Exercise 5‐6 Solution

Where did “Fulfill Order” come from?

It’s the subprocess added to define scope of no‐fee cancellation eventIt s the subprocess added to define scope of no fee cancellation event

Expand Fulfill Order:

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Messaging vs Shared Datag g

Message = info push to specific instanceg p pHandler triggered immediately upon receipt

Data store = info pulled by a process taskMay need to poll repeatedly if info unavailable

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

82

Page 83: Student Notes

Message Event ‐ Alternative Startg

Multiple start events are considered independentp pFirst one triggered starts the instance

Use case: channel‐dependent startInitial activities depend on channel of request

Downstream activities common for all channels

Model each channel as separate Message event

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Error Boundary Event

Always interrupting

y

On a task, signifies implicit “exception” end state

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

83

Page 84: Student Notes

Error Boundary Event

Always interrupting

y

On a task, signifies implicit “exception” end state

On a subprocess, can see explicit exception end state as throwing Error end event (Error throw‐catch)( )

Match label ofthrower and catcher

Expand at child process level

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Error Throw‐Catch

These both do the same thing:

Error throw‐catch

Gateway end state testGateway end state test

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

84

Page 85: Student Notes

Abnormal Completion on Errorp

Error boundary event signifies abnormal completion

Interrupts any uncompleted parallel paths 

Exit on exception flow, not normal flow

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 5‐7 ‐ Error Event

Order processpSimple happy path shown below

Receive order, Fulfill order, Ship order, Message end

Expand Fulfill order and show exceptions using Error throw catchExpand Fulfill order and show exceptions using Error throw catch

Check availability (User task)

If not available (model as ‘Unavailable’ Error event)

Log Out of Stock condition and throw Out of Stock errorLog Out of Stock condition and throw Out of Stock error

End the Order process with Out of stock response to customer

If available

Pick item, Pack for shipment, and end subprocess

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

, p , p

85

Page 86: Student Notes

Exercise 5‐7 Solution

Expand Fulfill Order atNew Process Level

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Supplementary Materialpp y

86

Page 87: Student Notes

Escalation Event

Non-interrupting equivalent of Error eventp g qDoes not imply an error

O U t kOn a User taskUse it to signify ad-hoc “user action”

Signal potentially generated by performer in the middle of the task

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Escalation Throw-Catch

On a subprocesspThrow-catch semantics like Error

…except does not abort the subprocess if still running

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

87

Page 88: Student Notes

Signal Eventg

General purpose throw-catch signaling… without constraints of other throw-catch event typesError and Escalation

Only from subprocess end to boundary event on the same subprocess

MessageMessageOnly between pools, not within a poolAddressed to a specific process

Signal does not have these limitationsgWithin a pool or between poolsBroadcast or “published”, not addressed to a specific process

No visual link in diagram between thrower and catcher

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Intra-Pool Signalingg g

How to communicate between parallel paths of a p pprocess?

E.g. failure in one path should cancel the other path as well

Cannot use message only works between poolsCannot use message, only works between pools

SolutionThrow Signal to paired boundary event in the other path

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

88

Page 89: Student Notes

Conditional Event

Continuously monitored data conditionStart, catching, or boundary event

For external data, Message or Signal can do the same thing

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Link Event Pair

Drawn as throwing and catching Link intermediate events… But not a true event…just a “GoTo” link for sequence flow

Off-page connector (within a process level)

On-page connector (to reduce line crossing)

Can only connect nodes that could legally be connected by sequence flowq

Cannot cross pool boundary, subprocess or process level boundary

Not important in hierarchical models

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

89

Page 90: Student Notes

Event Subprocessp

Alternative to boundary event… better fit to some execution languages

Exception flow modeled as a subprocess “triggered by event”… running inside a regular process activity

Event subprocess start event is like a boundary eventEvent subprocess start event is like a boundary event

On completion, exit activity on normal flow…… or throw Error to activity boundary

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Escalation handler (Child level)

90

Page 91: Student Notes

Process Modeling with BPMNg

Part 6Branching and Merging

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Gateway Basicsy

Gateway controls process flow

Without a gateway all sequence flows out of activity are taken in parallel

Symbol inside the diamond determines gateway meaning

We have already seen…y

Exclusive gateway (“data‐based”)

Also called XOR gateway

Only one gate enabled, based on process data condition

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

91

Page 92: Student Notes

Gateway Basicsy

Gateway controls process flow

Without a gateway all sequence flows out of activity are taken in parallel

Symbol inside the diamond determines gateway meaning

We have already seen…y

Event gateway

Also called “exclusive event‐based gateway”

Path based on event occurring first

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Gateway Basicsy

Gateway controls process flow

Without a gateway all sequence flows out of activity are taken in parallel

Symbol inside the diamond determines gateway meaning

We have already seen…y

Parallel split gateway

Also called AND‐split

All paths enabled unconditionally in parallel

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

92

Page 93: Student Notes

Unconditional Parallel Splitp

Gateway controls process flow

Without a gateway all sequence flows out of activity are taken in parallel

These diagrams mean the same thing

… so AND‐split gateway is actually redundantp g y y

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Conditionally Parallel Flowy

Inclusive (OR) gateway (“OR‐split”)( ) g y ( p )Like XOR gateway, evaluates process data conditions

… but conditions are independent

1 or more conditions may be true1 or more conditions may be true

Example:

1. DepositAmount > $10,000

2 Customer/Country != USA2. Customer/Country !  USA

3. Otherwise (neither above are true)

Enable all ‘true’ paths in parallel

If a path is always true, label itIf a path is always true, label it‘always’

The ‘otherwise’ condition (called“default”) is indicated by tickmark

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

93

Page 94: Student Notes

Conditionally Parallel Flowy

Conditional sequence flowqAlternative to OR‐gateway (means the same thing)

Omits gateway, put condition diamond on tail of sequence flow

Can only be used out of activity not gateway or eventCan only be used out of activity, not gateway or event

No diamond on tail means “always”(unconditional)

Ti k k flTickmark on sequence flow means “otherwise” (default)

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Merging Alternative Pathsg g

Multiple sequence flows p qmerge directly into anactivity

i e without a gateway… i.e., without a gateway

… if they represent exclusive alternatives

To tell if paths are exclusive alternatives…

Need to look upstream in pthe diagram

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

94

Page 95: Student Notes

Merging Parallel Pathsg g

Join ‐most common – AND or OR gatewayg yWait for all incoming paths to complete, then continue

No gateway = “Multi‐merge”Don’t do it!  Downstream activities will be executed multiple times

XOR gateway merge means the same thing

Also… Discriminator pattern ‐ rare – Complex gatewayp p g yPass first path to complete, ignore the others

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

AND‐Join

Normal way to merge parallel paths

AND‐gateway may not be omitted

Example

Finalize contract cannot start until both Legal Review and Financial Review are gcomplete

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

95

Page 96: Student Notes

AND‐Join

Normal way to merge parallel paths

AND‐gateway may not be omitted

Gateway waits for ALL incoming sequence flows

So this diagram is technically INVALID:g y

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Joining Conditionally Parallel Flowsg y

OR‐gateway join waits for all enabled paths

Ignores paths not taken

This diagram is VALID

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

96

Page 97: Student Notes

Joining Conditionally Parallel Flowsg y

OR‐gateway join waits for all enabled paths

Ignores paths not taken

This diagram is VALID

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Discriminator Pattern

Special join of parallel or conditionally parallel flowp j p y pPass first path to reach the join, discard subsequent ones

Uses Complex gateway (asterisk inside)Complex gateway means “non‐standard” join semantics

Need to annotate the intended meaning

Examplep

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

97

Page 98: Student Notes

Exercise 6‐1 ‐ Branch/Merge/ g

Diagram the following processg g pLog new proposal

Perform Technical Review

In parallel with Tech Review perform Financial ReviewIn parallel with Tech Review, perform Financial Review

When both complete, perform Director Review

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 6‐1 Solution

Diagram the following processg g pLog new proposal

Perform Technical Review

In parallel with Tech Review perform Financial ReviewIn parallel with Tech Review, perform Financial Review

When both complete, perform Director Review

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

98

Page 99: Student Notes

Exercise 6‐2 ‐ Branch/Merge/ g

Diagram the following processg g pLog new proposal

Perform Technical Review

If cost > $10KIf cost > $10K…

In parallel with Tech Review, perform Financial Review

When needed reviews complete, perform Director Review

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 6‐2 Solution

Diagram the following process

Log new proposal

Perform Technical Review

If cost > $10K…

In parallel with Tech Review, perform Financial Review

When needed reviews complete, perform Director Review

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

99

Page 100: Student Notes

Exercise 6‐3 ‐ Branch/Merge/ g

Diagram the following process

Log new proposal

If technical proposal, perform Technical Review

If cost > $10K…

In parallel with Tech Review, perform Financial Review

If neither technical proposal or cost >$10K, perform Quick Review

When needed reviews complete, perform Director Review

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 6‐3 Solution

Diagram the following process

Log new proposal

If technical proposal, perform Technical Review

If cost > $10K…

In parallel with Tech Review perform Financial ReviewIn parallel with Tech Review, perform Financial Review

If neither technical proposal or cost >$10K, perform Quick Review

When needed reviews complete, perform Director Review

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

100

Page 101: Student Notes

Process Modeling with BPMNg

Part 7Iteration

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Repeating Activitiesp g

Standard looppLike Do‐While

Perform the activity once

Then test a loop conditionThen test a loop condition

E.g. based on max number of iterations, time expired, needs more work…

If true, perform it again

is the same as 

Number of iterations not known when A starts

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

101

Page 102: Student Notes

Repeating Activities

Multi‐instance activity

p g

yLike ForEach

Perform the activity N times

Typically in parallel but may specify sequentialTypically in parallel, but may specify sequential

Activity is complete when all N iterations are complete

is the same as

Number of iterations knownwhen A starts

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Hiring Exercise: What’s the Problem?g

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

102

Page 103: Student Notes

Try Standard Loopy p

Wrap entire candidate evaluation in a looping subprocess

This is not a practical solution.  Why not?

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Practical Repeating Activity Method

Fast loop to screen, then MI to evaluate

p g y

Loop (While) ‐ iteration count unknown, test condition each time

MI (ForEach) ‐ iteration count known in advance

This works!  But with limitations…

Cannot begin Interview Candidates until screening period complete

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Once Interview Candidates begins, cannot receive more resumes

103

Page 104: Student Notes

Multi‐Pool Method

Split hiring process into 2 BPMN processes (white box pools)

Main pool Hiring Process, instance is job opening

“Child” pool Evaluate Candidate,instance is a candidate

Each Application message creates an instance of Evaluate Candidate

I t

“Multi‐participant” marker  means N instances per Hiring Process instance

Instance = candidate

No repeating activities inthis structure

Instance = job

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Multi‐Pool Method

A better solution

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

104

Page 105: Student Notes

Another Multi‐Pool Examplep

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 7‐1: Loop Activityp y

A contest awards a prize to the first contestant to provide the p pcorrect solution to a puzzle posted on the web.

Post the puzzle.

Receive entries from contestantsReceive entries from contestants

Check entry to see if it is correct.

If correct, have a winner

fIf incorrect, keep looking

If no correct solution is found within 1 week, the contest is declared over without a winner.

Assume checking is fast and can be done sequentially Hint: Loop subprocess

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

105

Page 106: Student Notes

Exercise 7‐1 Solution

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 7‐2: Multi‐Pool Solution

A contest awards a prize to the first person to prove a famous p p pmathematical conjecture.

Assume checking is slow and entries checked in parallel 

P t th bl i “ i ” lPost the problem in “main” poolWait for notification from “MI” pool

If no correct solution is found within 1 year, the contest is declared over without a winner.

Receive entries in “MI” poolCheck entry to see if proof is validCheck entry to see if proof is valid.

If correct, have a winner; notify “main” pool

If incorrect, keep looking

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

106

Page 107: Student Notes

Exercise 7‐2 Solution

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 7‐3: Hiring Process Revisitedg

Improve the multi‐pool method

End states of Evaluate Candidate are Rejected or Viable

Collect short list of viable candidates in Hiring Process

Make offer to best one.  If offer rejected, make offer to next best.

If short list empty before candidate accepts, collect more viable candidates, repeat

If cannot fill within 3 months, abandon position

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

107

Page 108: Student Notes

Exercise 7‐3 Solution

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

108

Page 109: Student Notes

Process Modeling with BPMNg

Part 8Following the Rules

© Bruce Silver Associates 2010In cooperation with itp commerce ltd.

Turn on Validation in the Tool

Process Modeler Validate feature reports…

Errors (spec violations)

Warnings (e.g., duplicate names)duplicate names)

Infos (e.g. style rules)

Can customize theerror level

Method and Style validation (style rules) only available withonly available with BPMessentials

© Bruce Silver Associates 2010In cooperation with itp commerce ltd.

109

Page 110: Student Notes

Following the Rulesg

Official rules not enumerated in the spec

Mostly deal with allowed connections and event types

Style rules not part of theStyle rules not part of the spec at all

Mostly deal with labeling and top‐down traceability

Click the lightning bolt icon in Process Modeler toolbar to validate the diagram

Remember to validate your models… and fix the errors!

© Bruce Silver Associates 2010In cooperation with itp commerce ltd.

Validation in Process Modeler

Errors listed inToDo List

ALL

Current tab only

Selected shapes only

Goto from ToDolist selection

Tool tip providesTool tip providesguidance for fixingstyle rule violations

© Bruce Silver Associates 2010In cooperation with itp commerce ltd.

110

Page 111: Student Notes

The Rules of BPMN

Sequence flows

All flow objects other than start events, boundary events, and compensating activities must have an incoming sequence flow, if the process level includes any start or end events [212602, 213606,321607, 380605].

All flow objects other than end events and compensating activities must have an outgoing j p g g gsequence flow, if the process level includes any start or end events [211606, 213604, 213623, 321608, 380606].

A sequence flow cannot cross a process boundary. [261602]

A conditional sequence flow cannot be used if there is only one sequence flow out of theA conditional sequence flow cannot be used if there is only one sequence flow out of the element [220601].

Sequence flow out of a parallel gateway cannot be conditional [261603].

Message flows

A message flow cannot connect nodes in the same pool [262602].

A message flow can only come from a Message end or intermediate event; Send, User, or Service task; Subprocess; or black box pool [211605, 213621, 230602, 222601, 250604, 222603, 242602,262601].

© Bruce Silver Associates 2010In cooperation with itp commerce ltd.

222603, 242602,262601].

The Rules of BPMN

Message flows (cont.)

A message flow can only go to a Message start or intermediate event; Receive, User, or Service task; Subprocess; or black box pool [230601, 222603, 242602, 262601, 213622, 222602, 250603].

Start events

A start event cannot have an incoming sequence flow. [211601]

A start event cannot have an outgoing message flow [211605].

A start event with incoming message flow must have a Message trigger [211603].

A start event cannot have an Error trigger [211610].

A start event in a subprocess must have a None trigger [211613].

End events

An end event cannot have outgoing sequence flow [212603]An end event cannot have outgoing sequence flow [212603].

An end event cannot have incoming message flow [212604].

An end event with outgoing message flow must have Message result [212606].

© Bruce Silver Associates 2010In cooperation with itp commerce ltd.

111

Page 112: Student Notes

The Rules of BPMN

Intermediate events

A boundary event must have an outgoing sequence flow [213604].

A boundary event trigger must be either Message, Timer, Signal, Error, Escalation, Conditional, Cancel, or Compensation [213607, 213609, 213615, 213616, 213617].

A boundary event cannot have incoming sequence flow [213605].A boundary event cannot have incoming sequence flow [213605].

An Error boundary event on a subprocess requires a matching Error throw event [313605].

An Error boundary event cannot be non‐interrupting [113604].

An Escalation boundary event on a subprocess requires a matching Escalation throw event [313606].

An intermediate event with incoming message flow must be catching type with Message trigger [213626].

An intermediate event with outgoing message flow must be throwing type with MessageAn intermediate event with outgoing message flow must be throwing type with Message trigger [213629].

A throwing intermediate event result must be either Message, Signal, Escalation, Link, or Compensation.

© Bruce Silver Associates 2010In cooperation with itp commerce ltd.

The Rules of BPMN

Intermediate events (cont.)

A catching intermediate event trigger must be either Message, Signal, Timer, Link, or Conditional.

A throwing Link event cannot have outgoing sequence flow [213619].

A catching Link event cannot have incoming sequence flow [213618].A catching Link event cannot have incoming sequence flow [213618].

Gateways

A gateway cannot have incoming message flow [230601].

A gateway cannot have outgoing message flow [230602].

A splitting gateway must have more than one gate [230603, 232601].

An event gateway must have either a catching intermediate event or Receive task on each gate [332602]gate [332602].

© Bruce Silver Associates 2010In cooperation with itp commerce ltd.

112

Page 113: Student Notes

Style Rulesy

Labeling

Activities should be labeled [120701].

A Message start event should be labeled “Receive [message name]“ [311701].

A Timer start event should be labeled to indicate the process schedule [111701].

A Signal start event should be labeled to indicate the Signal name [111702]A Signal start event should be labeled to indicate the Signal name [111702].

A Conditional start event should be labeled to indicate the condition [111703].

A start event in a top‐level process should be labeled. If a top‐level process contains more than one start event, all should be labeled to identify the alternative start conditions [311701].

The label of a child‐level page should match the name of the subprocess [321701].

Two activities in the same process should not have the same name. (Use global activity to reuse a single activity in a process.) [320701]reuse a single activity in a process.) [320701]

A boundary event should be labeled [311701].

An Error boundary event on a subprocess should be labeled to match the throwing Error event [313701].

© Bruce Silver Associates 2010In cooperation with itp commerce ltd.

Style Rulesy

Labeling (cont.)

An Escalation boundary event on a subprocess should be labeled to match the throwing Escalation event [313702].

A throwing intermediate event should be labeled [113702].

A catching intermediate event should be labeled [113703].A catching intermediate event should be labeled [113703].

An end event should be labeled with the name of the end state [312702].

An exclusive gateway should have at most one unlabeled gate [230701].

An exclusive or inclusive gateway with an unlabeled gate should be labeled [230702].

End states

Two end events in a process level should not have the same name. If they mean the same end state, combine them; otherwise give them different names [312701].

If a subprocess is followed by a yes/no gateway at least one end event of the subprocessIf a subprocess is followed by a yes/no gateway, at least one end event of the subprocess should be labeled to match the gateway label [321703].

Subprocess expansion

Only one start event should be used in a subprocess [321605].

© Bruce Silver Associates 2010In cooperation with itp commerce ltd.

A child‐level diagram should not be enclosed in an expanded subprocess shape [321704].

113

Page 114: Student Notes

Style Rulesy

Message flows

A Send task should have an outgoing message flow [222701].

A Receive task should have an incoming message flow [222702].

A Message start event should have an incoming message flow [211701].

A catching Message event should have incoming message flow [213701]A catching Message event should have incoming message flow [213701].

A throwing Message event should have outgoing message flow [213702].

A message flow should be labeled with the name of the message [162701].

A message flow from a collapsed subprocess should be replicated in the child‐level diagram g p p p g[362701].

A message flow to a collapsed subprocess should be replicated in the child level diagram [362702]. 

An incoming message flow in child level diagram should be replicated in the parent levelAn incoming message flow in child level diagram should be replicated in the parent level [362703].

An outgoing message flow in child level diagram should be replicated in the parent level [362704].

© Bruce Silver Associates 2010In cooperation with itp commerce ltd.

114

Page 115: Student Notes

Process Modeling with BPMNg

Part 9.Certification and Beyond

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Certification

Certification demonstrates BPMN masteryyUnderstanding of process behavior from the diagram

Ability to create good BPMN… consistent with method and style principlesprinciples

It’s optional and free… but it’s not easy

New in v5.0Step 1. Online multiple choice exam

Step 2 Create process model and submit for my reviewStep 2.  Create process model and submit for my review

Strict 60‐day limitCan purchase 60‐day extension if needed

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

115

Page 116: Student Notes

Step 1. The Online Examp

Tests understanding of BPMN diagramsg gWhat does a diagram fragment mean?

Which diagram best matches a described behavior?

10 lti l h i ti 8 t d d t10 multiple choice questions, 8 correct needed to passMaximum 3 attempts

Access from BPMessentials Training Areag

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Online Exam Examplep

Which diagram fragment below isequivalent to the fragment on theright?

A C

B D

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

116

Page 117: Student Notes

Step 2: The Certification Exercisep

Create a more complex process model, with individualized feedback

1. Pick any* business process in your organization. * Please do not submit any proprietary information.  Simplify if necessary.

2. Create process model following Method and Style principlesHierarchical collaboration end states top‐down traceability follow style rulesHierarchical, collaboration, end states, top down traceability, follow style rules…

3. The model as a whole must include at least one each of the following Level 2 elements.1. Parallel activities with synchronizing join into activity (not into end event)

2. Wait for message with timeout, using event gateway

3. Error throw‐catch on a subprocess

4. Include at least one timer intermediate event and one message intermediate event (in addition to event gateway above)

4. Validate in Process Modeler using both BPMN and Style rules… and fix all the violations

5. Attach a narrative explaining the process (just in case).  Email to bruce@bpmessentials com

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

[email protected]

Additional Training and Educationg

BPMN Method and StyleMore info: www.bpmnstyle.com

Additional patterns and examples

A bit on BPMN Level 3

T i i fTraining for your team…Private and public classes

Live and online virtual classroom

Become a licensed trainer!Become a licensed trainer!

Consulting and mentoringModeling your processes, general BPM education, BPMS vendor selection…

Related training on process analysis and design business decision modelingRelated training on process analysis and design, business decision modeling…

More info on www.bpmessentials.com and www.brsilver.com

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

117

Page 118: Student Notes

Extending the Tool Licenseg

Process Modeler for Visio from itp commerce

Many features we haven’t covered in the training…

Simulation

Documentation

BPMN 2.0 output and interchange

More info on www.itp‐commerce.com

Special upgrade pricing forSpecial upgrade pricing for BPMessentials, including 1‐year maintenance

Must buy through bpmessentials.comy g p

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Contact

v4.6 February 2011

Training content © Bruce Silver Associates 20092010. Unauthorized reproduction prohibited.BPMessentials is a joint venture of Bruce Silver Associates and itp commerce ltd

For sales and licensing inquiries contact sales@bpmessentials com

v4.6 February 2011

For sales and licensing inquiries contact [email protected] questions about training content contact [email protected]

For technical support on Process Modeler tool contact [email protected]

Bruce Silver Associatesitp commerce ltd Bruce Silver AssociatesBruce Silver, Principal500 Bear Valley RdAptos CA 95003USATel +1 831.685.8803bruce@brsilver com

itp commerce ltd.Papiermühlestrasse 73Stade de Suisse – Business CenterCH-3014 BerneSwitzerlandPhone: +41 31 3053 444Fax.: +41 31 3053 443

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

[email protected] Watch: www.brsilver.com/wordpressE-mail: [email protected]

Web: www.itp-commerce.com

118

Page 119: Student Notes

Process Modeling with BPMNg

Solutions to ExercisesSolutions to Exercises

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 2‐1 Solution

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

119

Page 120: Student Notes

Solution to Exercise 2‐2

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 2‐3 Solution

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

120

Page 121: Student Notes

Exercise 5‐1 Solution

Diagram the following Customer support processg g pp pTriggered by request…

Fix the problem

Wait 1 hrWait 1 hr

Verify fix with Customer

All tasks are User task type

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 5‐2 Solution

Diagram the following Customer support processg g pp pTriggered by request…

Fix the problem

If fix not complete in 1 hrIf fix not complete in 1 hr…

Abort it and Contact Customer to reschedule

If fix complete in 1 hr…

fVerify with Customer

All tasks are User task type

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

121

Page 122: Student Notes

Exercise 5‐3 Solution

Diagram the following Customer support process

Triggered by request…

Fix the problem

If fix not complete in 1 hr…

Continue working on it and immediately Notify Customer with expected completion time

After fix complete…

V if i h CVerify with Customer

All tasks are User task type

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 5‐4 Solution

Diagram the following Customer support process

Triggered by request…

Assess the problem

Fix the problem

If fix not complete in 1 hr after initial requestIf fix not complete in 1 hr after initial request…

Continue working on it and Notify Customer with expected completion time

After fix complete…

Verify with Customer

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

122

Page 123: Student Notes

Exercise 5‐5 Solution

Upon receipt of a claim, the claims processor…

Reviews the claim

If complete, Process claim (collapsed subprocess) and respond with EOB.

If incomplete, send Missing Info Request to customer and wait for response

If receive response within 30 days Process claim as beforeIf receive response within 30 days, Process claim as before

If no response within 30 days, end the process and respond with Rejection notice

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 5‐6 Solution

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

123

Page 124: Student Notes

Exercise 5‐6 Solution

Where did “Fulfill Order” come from?

It’s the subprocess added to define scope of no‐fee cancellation eventIt s the subprocess added to define scope of no fee cancellation event

Expand Fulfill Order:

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 5‐7 Solution

Expand Fulfill Order atNew Process Level

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

124

Page 125: Student Notes

Exercise 6‐1 Solution

Diagram the following processg g pLog new proposal

Perform Technical Review

In parallel with Tech Review perform Financial ReviewIn parallel with Tech Review, perform Financial Review

When both complete, perform Director Review

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 6‐2 Solution

Diagram the following process

Log new proposal

Perform Technical Review

If cost > $10K…

In parallel with Tech Review, perform Financial Review

When needed reviews complete, perform Director Review

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

125

Page 126: Student Notes

Exercise 6‐3 Solution

Diagram the following process

Log new proposal

If technical proposal, perform Technical Review

If cost > $10K…

In parallel with Tech Review perform Financial ReviewIn parallel with Tech Review, perform Financial Review

If neither technical proposal or cost >$10K, perform Quick Review

When needed reviews complete, perform Director Review

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 7‐1 Solution

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

126

Page 127: Student Notes

Exercise 7‐2 Solution

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

Exercise 7‐3 Solution

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

127

Page 128: Student Notes

Contact

v4.6 February 2011

Training content © Bruce Silver Associates 20092010. Unauthorized reproduction prohibited.BPMessentials is a joint venture of Bruce Silver Associates and itp commerce ltd

For sales and licensing inquiries contact sales@bpmessentials com

v4.6 February 2011

For sales and licensing inquiries contact [email protected] questions about training content contact [email protected]

For technical support on Process Modeler tool contact [email protected]

Bruce Silver Associatesitp commerce ltd Bruce Silver AssociatesBruce Silver, Principal500 Bear Valley RdAptos CA 95003USATel +1 831.685.8803bruce@brsilver com

itp commerce ltd.Papiermühlestrasse 73Stade de Suisse – Business CenterCH-3014 BerneSwitzerlandPhone: +41 31 3053 444Fax.: +41 31 3053 443

© Bruce Silver Associates 2011In cooperation with itp commerce ltd.

[email protected] Watch: www.brsilver.com/wordpressE-mail: [email protected]

Web: www.itp-commerce.com

128