student notes
TRANSCRIPT
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
“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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
“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
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
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
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
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
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
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
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
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
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
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
“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
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
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
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
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
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
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
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
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
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
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
Exercise 5‐7 Solution
Expand Fulfill Order atNew Process Level
© Bruce Silver Associates 2011In cooperation with itp commerce ltd.
Supplementary Materialpp y
86
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Exercise 7‐3 Solution
© Bruce Silver Associates 2011In cooperation with itp commerce ltd.
108
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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