You are on page 1of 128

ProcessModelingwithBPMN g

TrainingOverview Training Overview


Version5.0

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

AboutMe
Founder,BPMessentials,theleadingproviderof , , gp BPMNtrainingandcertification (www.bpmessentials.com) AuthorofBPMNMethodandStyle(www.bpmnstyle.com) A th f BPMN M th d d St l ( b t l ) MemberofBPMN2.0technicalcommitteein OMG BPMSWatch,commentaryonBPMNand BPMSuites(www.brsilver.com) DeveloperoftoolstosupporttheMethod andStyleapproachusingVisio

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

BPMNistoohard
Itsamyth.Nottrue. y butbadBPMNiscommonplace. GoodBPMN
isareadilylearnableskill doesnotrequiretechnicalknowledge does not require technical knowledge isacommonprocesslanguagesharedbybusinessandIT doesrequiredisciplineandattentiontodetail

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

ObjectivesoftheTraining j g
YouwilllearnhowtocreategoodBPMN,i.e.process diagramsthat
Standontheirown
Processlogicevidentfromthediagramalone

Arecorrect,pertheBPMNspecification Arecomplete,including
Howtheprocessstarts Significantendstatesandexceptionpaths Touchpointswiththeexternalenvironment

Areconsistentacrossthebusiness AreshareablebetweenbusinessandIT

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

YouWillLearn
ThemeaningoftheimportantBPMNshapesandsymbols
usingaLevelsbasedapproach

Amethodology
Acookbookapproachtogofromablanksheettocompleteandwell A cookbook approach to go from a blank sheet to complete and well structuredprocessdiagram

Astyleguide
Rulesfordiagramcompositionandusagetofosterconsistencyacross Rules for diagram composition and usage to foster consistency across thebusinessandmaximizesharedunderstanding

Supportedby
HandsonexercisesinclassusingaBPMNtool Hands on exercises in class using a BPMN tool Anonlinemethodandstylevalidationtool Certificationofproficiencybasedonpostclassexamandexercise

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

MethodandStyle y
Intendedfornonexecutablebutcompleteprocessmodels
asusedbyprocessconsultant/facilitator,businessanalyst,business architect,processarchitect

Topdown,hierarchicalstyle,showing
Howtheprocessstarts Itspossibleendstates Itstouchpointswithrequesters,serviceproviders,andotherinternaland externalprocesses

Suitableforqualitativeorquantitativeanalysis,andeffectivebusiness requirements
ShareableacrossthebusinessandbetweenbusinessandIT

Objective:maximizedsharedunderstanding
Diagramsthatstandontheirown

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

MethodandStyle TheBook y
TrainingbasedonmybookBPMNMethodandStyle g y y
www.bpmnstyle.com Amazon.com
http://www.amazon.com/exec/obidos/ASIN/0982368100 p // / / / /

BasedonBPMN2.0standard
Levelsbasedmethodandstyle Usefulreferenceforthetraining Coversadditionaleventtypesandpatterns

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

TheTool
ProcessModelerforVisio,BusinessEdition,fromitpcommerceltd
AddintoMicrosoftVisio 2modes BPMN1.2modeandBPMN2.0mode

Whythistool? y
SupportsBPMN2.0shapes Drawingquality,layers,andotherfeaturesofMSVisio Supportsmytopdown,hierarchicalmethodology pp y p , gy ExportstoBPMN2.0XMLforinteroperabilitywithothertoolsandMethod andStylevalidation

60daylicenseincludedinthetraining y g
Certificationexercisesonlyacceptedfromthistool 60dayextensionsavailable SpecialBPMessentialspricingonupgradetononexpiringlicense p p g pg p g
Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

PostClassCertification
MasteryofBPMN,notallBPM
AbilitytointerpretBPMN AbilitytocreategoodBPMN

Step1:MultiplechoicetestchecksunderstandingofBPMN p p g
8outof10requiredtopass,3chances.MustpassStep1tobecertified.

Step2:Createaprocessmodelmeetingspecificcriteria
Submitviaemailaftertraining,iterateuntilgoodenough Submit via email after training, iterate until good enough

Youonlyhave60days!
60dayor1yearextensionavailableforafee

CertifiedBPMNprofessionalsrecognizedonBPMessentialswebsite Certified BPMN professionals recognized on BPMessentials website


andpapercertificate

Certificationisoptionalbutnoextracost

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

CourseOutline
Level1 1. WhyLearnBPMN? 2. BPMNByExample 3. TheMethod 4. BPMNStyle Level2 5. Events 6. BranchingandMerging 7. Iteration 8. FollowingtheRules 9. CertificationandBeyond

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

ProcessModelingwithBPMN g
Part1.WhyLearnBPMN? Part 1 Why Learn BPMN?

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

WhatisBPMN?
1. Adiagrammingnotationforbusinessprocessmodels g g p

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

WhatisBPMN?
1. Adiagrammingnotationforbusinessprocessmodels g g p 2. AnOMGstandard

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

WhatisBPMN?
1. Adiagrammingnotationforbusinessprocessmodels g g p 2. AnOMGstandard 3. Flowchartbased

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

WhatisBPMN?
1. 2. 3. 4. Adiagrammingnotationforbusinessprocessmodels g g p AnOMGstandard Flowchartbased Simple just3primaryflowobjects!

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

WhatisBPMN?
1. 2. 3. 4. 5. Adiagrammingnotationforbusinessprocessmodels g g p AnOMGstandard Flowchartbased Simple Expressiveexceptionhandling

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

WhatisBPMN?
1. 2. 3. 4. 5. 6. Adiagrammingnotationforbusinessprocessmodels g g p AnOMGstandard Flowchartbased Simple Expressiveexceptionhandling Supportsbroadgroupof Business ITarchitect/ analyst Developer stakeholders BPMN

BusinessUser ProcessOwner

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

HowBPMNDiffersfromFlowcharts
1. Builtinsemanticsandrules

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

HowBPMNDiffersfromFlowcharts
1. Builtinsemanticsandrules 2. Hierarchicalview
Drilldowntoanylevelofdetailwhileretainingintegrityofasingle modelendtoend model end to end
Collapsed

Hierarchicalexpansion

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

HowBPMNDiffersfromFlowcharts
1. Builtinsemanticsandrules 2. Hierarchicalview
Drilldowntoanylevelofdetailwhileretainingintegrityofasingle modelendtoend model end to end

3. Mayshowinterprocess collaboration

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

10

HowBPMNDiffersfromFlowcharts
1. Builtinsemanticsandrules 2. Hierarchicalview
Drilldowntoanylevelofdetailwhileretainingintegrityofasingle modelendtoend model end to end

3. Mayshowinterprocesscollaboration 4. Rich support for exception handling through events Richsupportforexceptionhandlingthroughevents


Eventcanstartaprocess,resumeapausedprocess,abortanactivity, redirecttoexceptionflow,startanewparallelthread

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

HowBPMNDiffersfromFlowcharts
1. Builtinsemanticsandrules 2. Hierarchicalview
Drilldowntoanylevelofdetailwhileretainingintegrityofasingle modelendtoend model end to end

3. Mayshowinterprocesscollaboration 4. Rich support for exception handling through events Richsupportforexceptionhandlingthroughevents


Eventcanstartaprocess,resumeapausedprocess,abortanactivity, redirecttoexceptionflow,startanewparallelthread

5. Singlesemanticmodelcanexposedetailatmultiplelevels 5 Single semantic model can expose detail at multiple levels


Noneedtomanuallysynchronizehighlevelanddetailedmodels

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

11

BPMNSupportsExecutableProcesses pp
BPMSuiteexecutes themodel
Integratedtoolsandruntimefromasinglevendor
Humanworkflowautomation Applicationintegration Businessrules Performancemonitor,audittrail f d l

Graphical/pointclickdesign
Littleornocode Buildforchange

BusinessITcollaboration ll b

Model execute monitor optimize

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

BPMNSupportsExecutableProcesses pp
RoundtrippingprobleminfirstgenerationBPMS
Modelandexecutabledesignusedifferentlanguages

BAM

Performance Data

SO OAMiddleware

ERP Legacy External Services

Roundtrip Round trip

Modeling

Design (BPMS Specific)


IT

Ru ule Framework

Process Engine
HumanTask Framework

Integration Framewor rk

Rules

Business

User

User

User

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

12

BusinessEmpoweredImplementation p p
SecondgenerationBPMSlayerexecutiondetailontopofstandardized BPMNflowdiagram
Noroundtrippingproblem!
BAM
Performance Data SO OAMiddleware ERP Legacy External Services

Business

Ru ule Frame ework

Process Model (BPMN) Executable Details


User

Process Engine
HumanTask Framework

Integration n Framework

Rules

IT

Commonprocesslanguage

User

User

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

WhatsNOTStandardizedbyBPMN y
BPMNdescribesjusttheactivityflow
When stepsoccur,inwhatorder
Startandendpoints,conditionalandconcurrentpaths

Doesnotdefine
How stepsareperformed* Who performsthem,andwhere* Basedonwhat businessrules Based on what business rules* orwhy problems,strategiesandgoals Norsimulationparameters(times,costs)orKPIs *ExecutableBPMN(Level3)includestheseforexecutableprocesses Executable BPMN (Level 3) includes these for executable processes

BPMNtools providethosethings,butnotpartofthestandard

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

13

BPMN2.0
FinalizedAugust2010 Whatsnew?
ChoreographyandConversationdiagramsforB2B Executabledetails XMLschemaformodelinterchange h f d l h
ProcessDiagram

Onlyminoradditionstothenotation
Level1palettevirtuallyunchangedfromBPMN1.2 New:Noninterruptingevents,eventsubprocess New: Non interrupting events event subprocess Changed:Pools,lanes,dataflow

ChoreographyDiagram

ImportanceofBPMN2.0
FormalmetamodelandXMLschema Formal metamodel and XML schema
DescriptiveandAnalyticsubclasses =Level1andLevel2palettes
ConversationDiagram

Directlinktoprocessexecution

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

BPMN2.0DescriptiveandAnalyticSubclasses p y
Descriptive(Level1)
Pool,Lane Sequenceflow,Messageflow , g y Exclusive, Parallelgateway Usertask,Servicetask None,Message,Timerstartevent None,Message,Terminateendevent d Subprocess,CallActivity Dataobject,Datastore,Dataassociation Data object Data store Data association Textannotation,Association Group,Documentation

Analytic(Level2)
Loop,MIactivity Conditional,Defaultsequenceflow Inclusive, Eventgateway , g y Sendtask,Receivetask Message,Timer, Signal,Conditionalcatchingevent Message,Signal,Escalationthrowingevent l l h Message,Timer,Error,Signal,Conditional, Escalation boundaryevent Error,Escalationendevent;Signal, Conditionalstartevent Error Escalation end event; Signal Conditional start event Linkpair Message

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

14

Recap:UniqueBenefitsofBPMN p q
1. Amultivendorstandard
Widerangeoftools Lowcosttools Educationfrommanysources=widespreadunderstanding

2. Commonprocesslanguage
Businessfriendlybutexpressiveandprecise Usableatmultiplelevels p

3. SupportsBPMsendtoendview
Collapse/expandsubprocesses Inter process collaboration Interprocess collaboration

4. Businessempowereddescriptionofeventtriggeredbehavior
Howprocessshouldrespondtoexceptions

The critical skill required for BPM criticalskillrequiredforBPM


Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

15

ProcessModelingwithBPMN g
Part2 BPMNByExample

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

FireUptheTool! p
ClickStart/ProcessModeler5/ProcessModeler5forMicrosoftVisio

Visio2003/2007

Visio2010

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

16

BPMNinOneSlide
Just3primaryflowobjects p y j
Sequenceflowcanonlyconnecttothese3shapes

1. Activity roundedrectangle
Workperformedintheprocess Work performed in the process Eithertask (atomic)orsubprocess (compound)

2. Gateway diamond
Routinglogic,doesnotperformwork

3. Event circle
Asignalthat somethinghappened A signal that something happened

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

HighLevelProcessMap g p

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

17

EndStatesandExceptionPaths p
Processmodelshowsactivityflowfromstarttoendstate y
Eachdistinctendstateisaseparateendevent Processdiagramshowsallpossiblepathstosomeendstate
Whichactivitiesaresometimesskipped Which activities are sometimes skipped Whichactivitiesruninparallelwithothers

Gatewayafteranactivitytestsitsendstate

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

TopLevelProcessModel p
UsegatewaytoskiptoOrderfailedendeventonexception g y p f p
DontFulfillOrderifcreditisbad DontSendInvoiceifitemoutofstock

OrdercompleteandOrderfailedaredistinctendstates Od l t d O d f il d di ti t d t t
Representedbyseparateendevents labeledtoindicatetheendstate

Save(wewillcomebacktothis)

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

18

GatewayControlsProcessFlow y
Withoutagateway,allsequenceflowsoutofactivityenabled g y, q y inparallel Someothernotationsdontworkthisway:

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

GatewayControlsProcessFlow y
Withoutagateway,allsequenceflowsoutofactivityenabled inparallel
Ifyoumeanexclusivechoice,useagateway:

BPMN Withnosymbolinside,gatewayis exclusivedatabased With no symbol inside gateway is exclusive databased (XOR)
Thereareothergatewaytypes

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

19

GatewaysDoNotPerformWork y
justroutinglogic Useanactivity
Tomakeahumandecision Toinvokeadecisionservice(e.g.inaruleengine) ( g g )

Insteadofthis

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

GatewaysDoNotPerformWork y
justroutinglogic Useanactivity
Tomakeahumandecision Toinvokeadecisionservice(e.g.inaruleengine) ( g g )

Dothis

Assumegatewayteststheendstateoftheprecedingactivity g y f p g y
Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

20

Exercise21
DiagramthisOrderFulfillmentprocessusingstartevent,tasks,and gateways.
Giveeachdistinctendstateitsownendevent

1. Checkinventory 2. Ifinstock
Pickstockfrominventory Pick stock from inventory b. Packforshipment c. Shiporder d. Endprocess d End process
a. a

3. Ifnotinstock
Notifypurchasingtoreplenishstock b. Endprocess b End process
a.
Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise21Solution

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

21

AddPoolandLanes

Pool=BPMNprocess

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

AddPoolandLanes

Pool=BPMNprocess Lane=performerrole ororganization


Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

22

AddActivityType y yp
Usertask(humantask)

Servicetask(automated)

Subprocess(collapsed)

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Subprocess p
Collapsed

Acompound(decomposable)activity
Canbedisplayedasanopaquerectangle (collapsed) orexpandedinchildleveldiagram (hierarchicalexpansion) (hierarchical expansion) orastransparentrectangleinparent leveldiagram(expandedinline) Allrepresentationsreferencetheidentical semanticelement i l
Hierarchicalexpansion

MusthaveNonestartevent
Triggeristhesequenceflowintothe subprocess

Inlineexpansion

Strictcontainmentsemantics
Sequenceflowmaynotcrosssubprocess boundary(cannotcrossprocesslevels)

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

23

ValueofSubprocesses p
Usedformanypurposes 1. Hierarchicalmodelingbased onnestedlevels
Multipleviews zoomoutor in Understandendtoend processassingleentity

2. Topdownmethodology p gy
Abstractionofunknown details

3. Defineboundariesof distributedownershiporreuse di ib d hi 4. Defineeventscopefor exceptionhandling

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

ParallelBox
Subprocesscontainsfloatingactivities,nosequenceflowsorstart/end events Meansperformalltheactivitiesinparallel Subprocessiscompletewhenallthecontainedactivitiesarecomplete p p p

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

24

AdHocSubprocess p
Specialkindofsubprocesswherenormalcompletionrulesdonotapply Identifiedbytildemarkeratbottomcenter Containsactivitiesthat
maybeperformedinanyorder may be performed in any order donotallneedtobecompletedtocompletethesubprocess

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

ExpandSubprocessatNewProcessLevel p p

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

25

ExpandSubprocessatNewProcessLevel p p
Onchildlevelpage,modeltheexpandedFulfillOrder p g , p subprocess

Noteendstatelabelmatchwithgateway(Fulfilledok) Don tdrawpoolautomaticallyinheritedfromtoplevel Dont draw pool automatically inherited from top level
Drawlanesonlyifyouwanttorefineorredefinelaneattoplevel

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

EquivalentInlineExpansion q p
Flatmodelingstyle g y

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

26

IncorrectExpansionofFulfillOrder p
Why? y

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

ParallelSplitandJoin p
Parallelsplitmeanseitheractivitymaystartfirst,andmay p y y , y overlapintime Joinmeanswaitforbothtocompletebeforecontinuing Rightclick,GatewayType=Parallel(AND)

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

27

ParallelSplitandJoin p
ANDgatewaysplitisoptionaloutofactivity orstartevent
Multiplesequenceflowsoutmeanstakeallpathsinparallel

CannotomitANDgatewayjointomergeparallelpathsintoactivity
butdonotuseANDgatewayjoinintoendevent Joinisalwaysimpliedatendevent y p

Parallelpathscangotoseparateendevents
Processleveliscompletewhenallparallelpathsreachendevent

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

ShowCustomerCollaboration

Blackbox(empty)pool labelwithentityorrole Message startevent Message endevent

Messageflow

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

28

Message g
InBPMN,messagemeansanycommunicationbetweenthe , g y processandexternalentity
Mustbebetweenprocessandcustomer/requester,serviceprovider, oranotherinternalprocess or another internal process
EmailtoperformerinanotherlaneisNOTmessageinBPMN

Cantakeanyform
Automatedapplicationmessage,e.g.SOAPorJMS Email Papermail,fax Phonecall

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

MessageFlowandMessageEvent g g
Messagerepresentedbymessageflow connector g p y g f
SourceandtargetMUSTbeindifferentpools Connecttoboundaryofblackboxpool,toanyactivityormessage eventinwhiteboxpool event in white box pool

Messageevent sometimesimplies automatedelectronicmessage


Toindicatehumanmessage(phone, email),canattachmessageflowto Usertask

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

29

IstheCustomerInorOut?

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

IstheCustomerInorOut?
Modelingcustomerasexternal toprocessgoesbackto g p g originalswimlanediagramsof1980s
Topswimlaneandlinesofvisibilityoftheprocess AlsoconsistentwithSOAtoday Also consistent with SOA today
Process(service)providervsrequester

Whenshouldyouputinitiatorinexternalpool?
Relatedtohowprocessstarts 3Basicrulesofthumb

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

30

RuleofThumb#1
Modelinitiatorasexternalblackboxpoolwhen p
Processstartsuponrequest
withreceiptofadocumentorformfrominitiator

andeither and either


1.

Processhasnootherinteractionwith initiatorexceptpossiblytoreturn finalstatusnotice(e.g.confirmation ( g orrejection),or

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

RuleofThumb#1
Modelinitiatorasexternalblackboxpoolwhen
Processstartsuponrequest
withreceiptofadocumentorformfrominitiator

andeither
Processhasnootherinteractionwith initiatorexceptpossiblytoreturn finalstatusnotice(e.g.confirmation orrejection),or or rejection), or 2. Requesterisexternaltotheprocess providerorganizationanddoesnot performdefinedprocesstasks
1.

UseMessagestartevent
Goodpracticetoreturnfinalstatus inMessageendevent

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

31

RuleofThumb#2
Donotcreateexternalrequesterpoolwhen q p
Initiatorispartoftheorganizationperformingtheprocessand performstaskswithintheprocess

Makeinitiatoralaneinprocesspool,withNonestartevent Make initiator a lane in process pool with None start event
Signifiesmanualstart Employeefacingprocessesareagrayarea

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

RuleofThumb#3
Donotcreateanexternalrequesterpoolwhen q p
Processisinitiatedonpredefined(usuallyrecurring)schedule

UseTimerstartevent
Labeltoindicatescheduledstart

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

32

StartandEndEvents
Startevent
Normallyjustoneinaprocessorsubprocess
Messagetrigger(toplevel)meansstartedbyexternalrequest Timertrigger(toplevel)meansscheduled/recurringprocess Nonetrigger(toplevel)meansmanualstartbytaskperformer SubprocessMUSThaveNonestart

Endevent
Oftenmorethanoneinaprocessorsubprocess
Oneforeachdistinctendstate Messageresultmeanssendmessageonreachingtheendevent

Allparallelpathsmustreachendeventtocompletetheprocessor subprocess
Terminateresultmeansdonotwaitforparallelpathstocomplete

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise22
Scenario:TimeOffrequest q
Anemployeerequestingtimeoffsubmitsatimeoffrequest.Thisstartsthe process. 2. Managerreviewstherequest.
1.

Ifmanagerdisapproves,endprocesswithdisapprovalmessagetoemployee. Ifmanagerapproves
Performautomatedlookupoftheemployeesavailablevacationtime Regardlessoftheresult,gotoHRreview.

3.

HRReviewstep.HRmustapproveorrejecttherequest.
IfHRapproves,endprocesswithapprovalmessagetoemployee. IfHRdisapproves,endprocesswithdisapprovalmessagetoemployee

DiagramthisprocessinBPMN. ShowswimlanesforManagerandHR. Showmessageflowfrom/totheemployeeasexternalrequester. g / p y q


Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

33

SolutiontoExercise22

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise23
WewanttoshowthedetailsoftheHRReviewRequeststep q p
HRhasto
Reviewtheavailabletimeofffromthelookup 2. Ifinsufficienttimeavailable,Reviewthejustification.Ifsufficienttimeis 2 If insufficient time available Review the justification If sufficient time is available,canskipthisstep. 3. ThenDecidetherequest 4. Ifapproved,updateavailabletimeoff. pp , p
1.

ConverttheHRReviewRequesttasktoacollapsed subprocess
Definethesubprocessdetailsatanewprocesslevel Matchendstatelabeltogatewayatparentlevel

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

34

Exercise23Solution

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

DataObject j
DataflownotemphasizedinBPMN
Allinstancedata,endstatesassumedtobevisibledownstream

InBPMN1.x,dataobjectwasanartifact
Effectivelyanannotation,hasnoimpactonflow y , p LinkedviaAssociationtosequenceflow

InBPMN2.0,technicallymeansinstancevariable
Localtotheprocesslevel Local to the process level DirectionalDataAssociationismappingto/fromactivityinput/output

This(BPMN1.2)isvisualshortcutforthis(BPMN2.0). Thi (BPMN 1 2) i i l h t t f thi (BPMN 2 0)


Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

35

DataStore
Persistentdata(newinBPMN2.0)
Externaltoprocessbutprocess hasstore/retrieveaccesstoit
Usedirectionaldataassociationtoshowdataflowto/fromtheprocess / p

Alternativetomessaging
Whenprocessactivitygets orpollsforinfo,use p , datastore Whenprocesswaitsto receiveinfo,usemessage

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

TextAnnotation
Freetextannotationofthediagram
Denotedbysquareleftbracket Linkedtodiagramobjectbyassociationconnector

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

36

Recap:TheLevel1Palette p
WorkingsetofBPMN shapesfordescriptive modeling
Level1modelsrestricted totheseshapes

AllBPMNusersinyour organizationshould understand d d theiruse

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

37

ProcessModelingwithBPMN g
Part3 TheMethod

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

BPMNMethod
Prescriptiveguidancetomaximizesharedunderstanding p g g
Methodandstyle notrequiredbyBPMNspec

Goals
Structuralconsistency
Topdown,hierarchical,explicitendstates,visibleglobalcontext.

Readability
Topdowntraceable

Modelcompleteness
Diagramstandsonitsown(withoutattacheddocumentation)

ShareabilitywithIT
AlignedwithLevel2modelsusedfordetailedrequirements,executable processes

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

38

MethodOverview
1. Defineprocessscope
When/howitstartsandends

2. Enumeratestepsinhighlevelprocessmap 3. Define toplevel process diagram Definetop levelprocessdiagram


Conditionalandconcurrentsteps Processendstatesandexceptionpaths Collaborationwithcustomer/requester Collaboration with customer/requester

4. [Optional]Addpoolsandlanes 5. Expandsubprocessesinchildleveldiagrams
Ensuretopdowntraceabilitybymatchingendstateandgatewaylabels Ensure top down traceability by matching end state and gateway labels

6. Addglobalcontextwithmessageflows
Ensuretopdowntraceabilitybymatchingmessageflowsatparentandchild levels
Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

BPMNConcepts p
Activity
Anaction LabelitVERBNOUN Hasawelldefinedstartandend Mayhavemultipleendstates Repeated Understandwhateachactivityinstancerepresents

ABPMNactivityisnotafunctionorcapability
Somemismatchtobusinessprocessarchitectureframeworks Manage,Maintain,MonitorareusuallynotusefulnamesforBPMN activities

E.g.AQPCProcessClassification
WhichoftheseProcessexpense reimbursementactivitieswould reimbursement activities would makegoodactivitiesinaBPMN processmodel?

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

39

BPMNConcepts p
Process
AsequenceorflowofActivitiesinanorganizationwiththeobjective ofcarryingoutwork.BPMN2.0spec Orchestration:Explicitlogicdescribingallactivityflowpathsleading Orchestration: Explicit logic describing all activity flow paths leading fromasingleinitialstateoftheprocessinstancetooneormore alternativeendstates
Repeated Samelogicalmodelappliestoallinstances Repeated Same logical model applies to all instances Continuoussequenceflowchainstarttoend Nothingfloating Coordinated Sequenceflowtriggersthenextsteptostart

Processinstancerelatedtohowtheprocessstarts Process instance related to how the process starts


E.g.arequestmessage(order,claim,servicerequest)vsascheduled batchofitems

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Step1.DefineProcessScope p p
Whatdoestheinstancerepresent?
Whendoesaninstanceoftheprocessstart?
Triggeredbyrequest?(Messagestart) Regularlyscheduled?(Timerstart)

Whenisaninstancecomplete?

Processscoperelatedtoperformancemetrics(KPIs)
Cycletime Cost Resourceutilization Qualitymetrics %Successfuloutcomes

Someendtoendprocessesstandardizedbyenterpriseappvendors
Ordertocash,Procuretopay,Opportunitytoorder

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

40

Exercise31.DefineProcessScope p
Considerthesalesorder(ordertocash)processforanewcar ( )p dealer.
Whatstartstheprocess?
Whoistheinitiator? Who is the initiator?

Whatdetermineswhentheprocessiscomplete? Whatdoesaninstanceoftheprocessrepresent?

Example
Startswithan order from customer Starts with an orderfromcustomer
Knowncarspecification,price,andbuyer Smalldeposittoreservecaruntilclosing

Endswithclosingthefinancialtransactionanddeliveryofthecar E d ith l i th fi i lt ti d d li f th
Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Step2.HighLevelProcessMap p g p
Enumeratethehighlevelactivities(phasesormilestones)in g (p ) theprocess
510sothetopleveldiagramwillfitononepage
Processdetailsinsideeachactivity,notinbetweenthem Process details inside each activity not in between them

Principles
Activityinstancealignedwiththeprocessinstance Activitycompletionenablesnextone
Minimizeinteractionbetweensubtasksindifferenthighlevelactivities

Activitymaybeperformedinsomeinstances,notothers y y p , Activitymaybeperformedinparallelwithotheractivities

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

41

Exercise32.HighLevelProcessMap g p
Scenario
Startuponreceiptofanorder Enduponclosingfinancialtransactionanddeliveryofthevehicle. Highlevelmapactivities High level map activities
EnterOrder OrderCarfromFactory PrepareCarforDelivery P C f D li ArrangeFinancing CloseandDeliver

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise32Solution

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

42

Step3a:TopLevelDiagram HappyPath p p g ppy


Arrangehighlevelmapactivitiesasaprocessleadingtothe g g p p g success(happypath)endstate
Considerwhetheranystepsareconditionalorconcurrent

Conditional if t C diti l ifnotperformedforsomeprocessinstances f df i t


Useexclusivegatewaytoskipconditionalsteps

Concurrent ifmaybeperformedinparallelwithanother y p p activity,oriforderofstartdoesnotmatter


Usemultipleoutgoingsequenceflowstomodelparallelsplit Useparallelgatewaytomodeljoin U ll l t t d lj i

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise33a.TopLevelDiagram,HappyPath p g , ppy
Scenario
OrderCarfromFactoryisconditional
Onlyneededifthecarisnotavailableonthelot
Hint:Exclusivegateway Hint: Exclusive gateway

Ifnotneeded,canskipandgotoPrepareCarforDelivery
Hint:Canmergealternativepathswithoutgateway

ArrangeFinancingrunsconcurrentlywithOrderCarfromFactory Arrange Financing runs concurrently with Order Car from Factory
CanstartafterEnterOrder
Hint:Multiplesequenceflowstoindicateparallelflow

CloseandDelivercannotstartuntilbothArrangeFinancingand Close and Deliver cannot start until both Arrange Financing and PrepareCarforDeliveryarecomplete
Hint:ParallelgatewaytoindicateANDjoin

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

43

Exercise33aSolution

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Step3b.TopLevelDiagram,ExceptionPaths p p g , p
1. Identifyexceptionendstates y p 2. Insertendeventforeachdistinctendstate
UseMessageendifitsendsamessage 2. UseTerminateifitabortsparallelpaths 3. OtherwiseuseNoneend
1.

3. Addgatewaysandexceptionpathstonewendstates g y p p
Labelgatewayasyes/nocondition

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

44

Exercise33b.TopLevelDiagram,Exception Paths
Exceptionendstates p
Deliverydateproblem factoryavailabilitydateunacceptableto customer
AbortFinancingpathwithTerminateendevent Abort Financing path with Terminate end event AfterOrderCarfromFactory,conditionallyredirecttoDeliverydate problem

Financingunavailable g
AbortFactoryOrder/CarpreppathwithTerminateendevent AfterArrangeFinancing,conditionallyredirecttoFinancingunavailable

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise33bSolution

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

45

Step4.AddPoolsandLanes p
CustomerandProcesspools p
Labelprocesspoolwithprocessname,blackboxpoolswith role/entityname Allprocessnodesandsequenceflowchainmustbeinsidetheprocess All process nodes and sequence flow chain must be inside the process pool Ifstartedbycustomerrequest,addMessagestarttriggerandmessage flow

Optional:Addlanesinprocesspooltodistinguishperformer rolesororganizationalunits
OKtoputlanesinchildleveldiagrams,evenifomittedfromtoplevel

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise34.PoolsandLanes
AddProcessandCustomerpools p Lanesinprocesspool:
Sales(Enterorder,Ordercarfromfactory) Service(Preparecarfordelivery) Finance(Arrangefinancing,Closeanddeliver)

Customercollaboration
ProcessstartswithOrdermessagefromCustomer Finalstatus
ReturnOwnership/RegistrationdocumentsfromTransactioncomplete Return Ownership/Registration documents from Transaction complete ConfirmcancellationbeforebothTerminates
UseCallActivityforduplicatetasks

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

46

Exercise34Solution

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Step5.ExpandSubprocessesatChildLevel p p p
Hierarchicalexpansionatchildprocesslevel
MuststartwithNonestart Expansionmayincludecollapsedsubprocesses
Nolimittodepthofhierarchy

Donotenclosetheexpandedsubprocessinapool
Inheritedautomaticallyfromtoplevel OKtouselanesinexpandedsubprocess OK to use lanes in expanded subprocess

Topleveltraceability
Ifsubprocessisfollowedbyayes/nogateway,interpretgatewayas testingthesubprocessendstate testing the subprocess end state Inchildlevelexpansion,defineendeventstodistinguishtheend states
Matchoneendeventlabelwithgatewaylabel Match one end event label with gateway label
Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

47

Exercise35.ExpandSubprocesses p p
ExpandEnterOrder p
Twoactivities
Collectsignedagreementanddeposit Enterorderintothesystem Enter order into the system

Ifcarisnotonthelot,endstateisOrderfromFactory

Payattentiontotopdowntraceability
IntopleveldiagramEnterOrderisfollowedbyyes/nogateway labeled(inmydiagram)OrderfromFactory? sooneendeventofchildleveldiagrammustbeOrderfrom Factory

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise35Solution

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

48

Step6a.AddGlobalContext p
Poolsandmessageflowsshowhowprocessfitsinoverallbusiness environment
Touchpointswithcustomer,serviceproviders,otherinternalprocesses Architecturalperspectiveaddscomplexitytodiagram
Canhideitfromuserswhodontwanttoseeit

Serviceprovidersperformactionsuponrequestbytheprocess
Returnresultstotheprocess

Representrequester,serviceproviders,otherinternalprocessesasblack boxpools
Drawmessageflows toshowcommunications(requestsandresponses) Connecttoboundaryofexternalpool Connecttoactivityormessageeventofprocess

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise36a.AddGlobalContext
2moreexternalparticipants
FactoryandLender

Messageflows
BetweenOrderCarfromFactoryandFactorypool
ProcesssendsFactoryOrder messageflow FactoryrespondswithFactoryOrderConfirmation ProcessmaysendCancelFactoryOrder ifdeliverydateunacceptable,andfactory respondswithCancelConfirmation responds with Cancel Confirmation

BetweenOrderCarfromFactoryandCustomer
ProcesssendsConfirmationRequest withdeliverydate CustomerreturnsConfirmationResponse (confirmorcancel) Customer returns Confirmation Response (confirm or cancel)

BetweenArrangeFinancingandLenderpool
ProcesssendsLoanRequest LenderreturnsLoanResponse

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

49

Exercise36aSolution

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise36aSolution(Hidemessageflows) ( g )

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

50

Step6b.ChildLevelMessageFlows p g
Ifcollapsedsubprocesshasmessageflowtoexternalpool, p p g p , replicatetheexternalpoolandmessageflowinchildlevel expansion
Count,nameofmessageflowsshouldmatchbetweenparentand Count name of message flows should match between parent and childdiagrams Connecttoboundaryofblackboxpool,connecttoactivityoreventin processpool process pool

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise36b.ChildLevelMessageFlows g
ExpandOrderCarfromFactory p y
PlaceFactoryOrder:ThedealersendstheFactoryorder messageand receivestheFactoryorderconfirmationinreply. 2. CalculateDeliveryDate:DealerusesFactoryorderresponseto 2 Calculate Delivery Date: Dealer uses Factory order response to calculatethepromiseddeliverydatetothecustomer. 3. NotifyCustomerDeliveryDate:DealersendsConfirmationrequest to CustomerandreceivesConfirmationresponse. Customer and receives Confirmation response 4. Iftheresponseisconfirm,thesubprocessendsinDeliverydate acceptableendstate.
1.

Labeltomatchgatewayfollowingthesubprocess Label to match gateway following the subprocess


5.

Ifresponseiscancel,thedealersendsCancelfactoryorder,receives theCancelconfirmationresponse, andthesubprocessendsinthe Order canceledendstate. Ordercanceled end state


Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

51

Exercise36bSolution

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

ReusableSubprocesses p
Defineasanindependent(toplevel)process
Saveinitsownfile CallActivitycallsitasareusablesubprocess RegularSubprocessdefinitionisembeddedinparentprocessmodel

Subprocess

CallActivity

Modelingprocedure
1. 2. 3. 4.

DefineprocessCheckCreditinCheckCredit.vsd ExportCheckCredit.bpmn p p In[parent].vsd,importCheckCredit.bpmn In[parent].vsd,LinkCallActivityCheckCredittoimportedCheckCredit process

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

52

MethodRecap p
1. Defineprocessscope
When/howitstartsandends

2. Enumeratestepsinhighlevelprocessmap 3. Define toplevel process diagram Definetop levelprocessdiagram


Conditionalandconcurrentsteps Processendstatesandexceptionpaths

4. Addpoolsandlanes 4 Add pools and lanes


Collaborationwithcustomer/requester

5. Expandsubprocessesinchildleveldiagrams
Ensuretopdowntraceabilitybymatchingendstateandgatewaylabels Ensure top down traceability by matching end state and gateway labels

6. Addglobalcontextwithmessageflows
Ensuretopdowntraceabilitybymatchingmessageflowsatparentandchild levels
Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

53

ProcessModelingwithBPMN g
Part4. BPMNStyle

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

WhatisBPMNStyle? y
Rulesandconventionsthatestablishconsistencyandoptimizemodelsfor aparticularpurpose
Mypurposeisdiagramsthatstandontheirown,maximizingshared understandingandtopdowntraceability KeytogoodBPMNvsbadBPMN

RulesintheBPMNspec
aresupportedbyvalidationfunctionbuiltintomodelingtools areimportant,butjustafirstcut allowvalidbutbadBPMN

GoodBPMNstylemeansfollowingtherules y g
Principlesofcomposition Stylerules OfficialrulesoftheBPMNspec p
Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

54

PrinciplesofComposition p p
1. Uselabelstomakeflowlogicclearfromthediagram g g
Howtheprocessstarts Alternativeendstates Messageflows Message flows Gatewaysandgates Allevents Tasktypes Lanesifhandoffsareimportanttoanalysis

2. Makemodelshierarchical 2 Make models hierarchical


Fiteachprocesslevelononepage

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

PrinciplesofComposition p p
3. Useblackboxpoolstorepresentexternalparticipants
Theyshouldnotcontainanyactivities

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

55

PrinciplesofComposition p p
4. Modelinternalprocessparticipants(activityperformers)as p p p ( yp ) laneswithinasingleprocesspool,notasseparatepools.
Labellaneswiththeroleororganizationalunitthatperforms(oris responsiblefor)itscontainedactivities. responsible for) its contained activities

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

PrinciplesofComposition p p
5. Indicatesuccessandexceptionendstatesofaprocessor p p subprocesswithseparateendevents,andlabelthemto indicatetheendstate.

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

56

PrinciplesofComposition p p
6. LabelactivitiesVERBNOUN
Activityisanaction,notafunction,condition,orstate UseCheckcredit (action),notCreditcheck (function)orCreditOK? (condition) UseApproveloan (action),notLoanapproval (function)orLoanrejected (state)

UseMessagestarteventintop levelprocesstoindicateprocessinitiatedby Use Message start event in toplevel process to indicate process initiated by externalrequest. 8. UseNonestartintoplevelprocesstoindicatemanualstartbyataskperformer 9. UseTimerstartintoplevelprocesstoindicateascheduledprocess. 10. Labelwhiteboxpoolswiththenameofaprocess;labelblackboxpoolswitha participantroleorbusinessentity. 11. Ifpossible,labelexclusivegatewaysas[Endstate]?,andlabeltheoutgoing sequenceflowsyesandno q y 12. Dontuseagatewaytomergealternativepaths;mergethemdirectly.

7.

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

StyleRules y
13. Topdowntraceability p y
Ifsubprocessisfollowedbyyes/nogateway,matchoneendeventof subprocesswithgatewaylabel

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

57

StyleRules y
14. TopdowntraceabilityII p y
Showmessageflowsconsistentlyinparentandchildleveldiagrams.

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

StyleRules y
14. TopdowntraceabilityII p y
Showmessageflowsconsistentlyinparentandchildleveldiagrams.

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

58

StyleRules y
15. Labelmessageflowswiththenameofthemessage. g g

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

StyleRules y
16. Twoendeventsinaprocesslevelshouldnothavethesamename. Iftheyrepresentthesameendstate,combinetheminoneend event;otherwisegivethemdifferentnames.

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

59

StyleRules y
17. DontusejoingatewayintoaNoneendevent;joinisimplied j g y ;j p atallNoneendevents

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

StyleRules y
18. Processpoolinchildleveldiagram(ifdrawn)shouldbe p g ( ) labeledwithnameofthetoplevelprocess
NOTthenameofthesubprocess

19. Subprocessshouldhaveexactlyonestartevent 19 S b h ld h tl t t t

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

60

RulesfromtheBPMNSpec p
20. Sequenceflowmustnotcrossapoolboundary. q p y
Usemessageflowtolinkpools.

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

RulesfromtheBPMNSpec p
21. Sequenceflow(orequivalentlinkeventpair)mustnotcross q ( q p ) subprocessboundary,i.e.,fromchildleveltoparentlevel.

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

61

RulesfromtheBPMNSpec p
22. Messageflowcannotconnectpointsinthesamepool. g p p

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

RulesfromtheBPMNSpec p
23. Messageflowcannotconnecttoagateway g g y

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

62

RulesfromtheBPMNSpec p
24. Allactivities,gateways,andeventsmustbeconnectedviaa ,g y, continuouschainofsequenceflowsleadingfromastart eventtoendevent
Donotleaveflowobjects floating in the diagram Do not leave flow objects floatinginthediagram

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

63

ProcessModelingwithBPMN g
Part5 Events

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

BPMNIsTooComplicated p
Meaningthis EspeciallyIntermediateevents
(Eventsubprocessstartevents arereallyintermediateevents)

Butyoucanignoremostof them!!

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

64

BPMNIsTooComplicated p
Meaningthis EspeciallyIntermediateevents
(Eventsubprocessstartevents arereallyintermediateevents)

Butyoucanignoremostof them!!
WehavealreadyseentheLevel1 palette(Descriptivesubclass)

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

BPMNIsTooComplicated p
Meaningthis EspeciallyIntermediateevents
(Eventsubprocessstartevents arereallyintermediateevents)

Butyoucanignoremostof them!!
Level1palette(Descriptive subclass) Level2palette(Analyticsubclass)

FocusontheBig3
Message,Timer,Error

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

65

IntermediateEvents
Occur during a process or subprocess
Distinguished by double border

Several distinct behaviors


1. 2. 3.

Throwing: send the signal and continue Catching ( sequence flow): wait for the g (in q ) signal, then continue Boundary, interrupting: listen for the signal while activity is running
If signal occurs, abort activity and exit on exception flow If signal does not occur, continue on normal flow

4.

Boundary, non-interrupting (BPMN 2.0): listen for the signal while activity is running
If signal occurs, initiate parallel path on exception fl i l i iti t ll l th ti flow Continue activity, exit when done on normal flow

5.

Event Subprocess (BPMN 2.0), similar to boundary event handler


Runs within context of the activity instead of outside it

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

TimerEvent
Throwing doesnotexist g Catching(insequenceflow)
Waitfor[duration],orWaituntil[date/time] MeansjustadelayNOTwaitforsomethingtohappen

Example
Loopingretrydelay Looping retry delay

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

66

TimerBoundaryEvent y
Boundaryevent y
Timeout Timerstartswhenactivityattachedtostarts Triggerfiresatspecified[duration]or[date/time] Trigger fires at specified [duration] or [date/time]

InterruptingTimereventexample p g p

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

TimerBoundaryEvent y
Boundaryevent y
Timeout Timerstartswhenactivityattachedtostarts Triggerfiresatspecified[duration]or[date/time] Trigger fires at specified [duration] or [date/time]

NoninterruptingTimereventexample p g p

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

67

SubprocesstoDefineTimedInterval p
Canwrapprocessfragmentinasubprocesstodefinetimedintervalfor exceptionhandling
Timerstartswhenattachedtoactivitystarts Timershutoffwhenattachedtoactivityends

Example:Fastfoodprocess

Ifnotreadytodeliverwithin5minutesafterTakeOrder,refundthemoney

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

SubprocesstoDefineTimedInterval p
Canwrapprocessfragmentinasubprocesstodefinetimed pp g p intervalforexceptionhandling
Timerstartswhenattachedtoactivitystarts Timershutoffwhenattachedtoactivityends Timer shut off when attached to activity ends

Solution
Wraptimedintervalin asubprocess Attach timerevent toit

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

68

Boundary Event vs Gateway y y


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

(b)

Bruce Silver Associates 2011 In 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 2011 In cooperation with itp commerce ltd.

69

Exercise51 TimerEvent
DiagramthefollowingCustomersupportprocess g g pp p
Followingsupportrequest, Fixtheproblem Wait1hr Wait 1 hr VerifyfixwithCustomer

AlltasksareUsertasktype

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise51Solution
DiagramthefollowingCustomersupportprocess g g pp p
Triggeredbyrequest Fixtheproblem Wait1hr Wait 1 hr VerifyfixwithCustomer

AlltasksareUsertasktype

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

70

Exercise52 TimerEvent
DiagramthefollowingCustomersupportprocess g g pp p
Triggeredbyrequest Fixtheproblem Iffixnotcompletein1hr If fix not complete in 1 hr
AbortitandContactCustomertoreschedule

Iffixcompletein1hr
VerifywithCustomer f

AlltasksareUsertasktype

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise52Solution
DiagramthefollowingCustomersupportprocess g g pp p
Triggeredbyrequest Fixtheproblem Iffixnotcompletein1hr If fix not complete in 1 hr
AbortitandContactCustomertoreschedule

Iffixcompletein1hr
VerifywithCustomer f

AlltasksareUsertasktype

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

71

Exercise53 TimerEvent
DiagramthefollowingCustomersupportprocess
Triggeredbyrequest Fixtheproblem Iffixnotcompletein1hr
ContinueworkingonitandimmediatelyNotifyCustomerwithexpected completiontime

Afterfixcomplete
VerifywithCustomer V if i h C

AlltasksareUsertasktype

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise53Solution
DiagramthefollowingCustomersupportprocess
Triggeredbyrequest Fixtheproblem Iffixnotcompletein1hr
ContinueworkingonitandimmediatelyNotifyCustomerwithexpected completiontime

Afterfixcomplete
VerifywithCustomer V if i h C

AlltasksareUsertasktype

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

72

Exercise54 TimerEvent
DiagramthefollowingCustomersupportprocess
Triggeredbyrequest Assesstheproblem Fixtheproblem Iffixnotcompletein1hrafterinitialrequest
ContinueworkingonitandNotifyCustomerwithexpectedcompletiontime

Afterfixcomplete
VerifywithCustomer

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise54Solution
DiagramthefollowingCustomersupportprocess
Triggeredbyrequest Assesstheproblem Fixtheproblem Iffixnotcompletein1hrafterinitialrequest If fix not complete in 1 hr after initial request
ContinueworkingonitandNotifyCustomerwithexpectedcompletiontime

Afterfixcomplete
VerifywithCustomer

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

73

Sending and Receiving g g


Send and Receive refer specifically to messages
Represented by message flow connector in the diagram Message = any signal between the process and external entity
Electronic message, e.g. SOAP or JMS Email Fax or paper mail Phone call

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

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Send Task
Task that sends a message
Sending the message is the only action performed
Sendtask

Equivalent to throwing message event q g g


Messageendevent ThrowingMessageintermediateevent

What is the difference between this this

and this?

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

74

Sending Within a Process g


Send = Message = inter-pool communications g p
Cannot use message within a pool
Do not use Send task or Message event if you cannot draw message flow to another p g pool 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 2011 In cooperation with itp commerce ltd.

Sending Work to Downstream Task Performer


Dont use Send task (or message event) if you cannot draw message flow
Dont even use keyword Send

Sending work is implied by sequence flow alone


Notification of task assignment i t Appearance of the task in users worklist Delivery of information y needed to perform the task

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

75

Sending Work to Downstream Task Performer


To call attention to manual activity related t thi OK t ti it l t d to this, to add User task but dont label it Send To call attention to data or docs, can use DataObject

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Intra-Process Notification/Reporting p g
Do not use sequence flow to recipient activity q p y
That implies recipient has a task to perform Instead add User task in sender lane
Label it Notify or similar not Send Notify similar, Send

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

76

Receiving g
Message start event g
Only allowed in top level process Means create a new instance whenever a message arrives

Receive 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 2011 In cooperation with itp commerce ltd.

Short- and Long-Running Services g g


What is the difference between this

and this?

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

77

MessageEvent g
ThrowingandCatching
SameasSendandReceivetasks Onlyusethemwhenyoucandrawmessageflowtoanotherpool

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

EventGateway y
Whatifthemessageyouarewaitingfordoesntcome?
Eventgatewayletsyouaddatimeouttothewait

GatewayType=Exclusiveeventbased
Catchingeventsoneachgate g g
Typicallymessage(s) andtimer

Whicheveroccursfirst determines d i pathtaken

Eventgateway

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

78

ModelingAlternativeResponses g p
ResponseandFaultaredifferentmessages(messagestructures)
Eventgatewaytestswhich messagedidweget

Approvedandrejectedaredifferentvaluesofresponsemessage
Testvaluewith regularXORgateway

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

MessageBoundaryEvent g y
Listenforamessagewhileattachedtoactivityisrunning
Ifitarrives,triggerexceptionflow Abortactivity(interruptingtype solidborder),or Continueactivity(noninterruptingtype dashedborder)

Samephysicalmessage(e.g.,ordercancellation)canhavedifferent handlers dependingonwhenitarrives


E.g.Customercancelmessageabortsorderifnotyetshipped g g y pp IfShipactivitystarted,Customercancelmessagedoesnotabortorder process;initiatesparallelreturnauthorizationsubprocess

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

79

Exercise55 MessageEvent/EventGateway g / y
Uponreceiptofaclaim,theclaimsprocessor
Reviewstheclaim Ifcomplete,Processclaim(collapsedsubprocess)andrespondwithEOB. Ifincomplete,sendMissingInfoRequesttocustomerandwaitforresponse
Ifreceiveresponsewithin30days,Processclaimasbefore Ifnoresponsewithin30days,endtheprocessandrespondwithRejection

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise55Solution
Uponreceiptofaclaim,theclaimsprocessor
Reviewstheclaim Ifcomplete,Processclaim(collapsedsubprocess)andrespondwithEOB. Ifincomplete,sendMissingInfoRequesttocustomerandwaitforresponse
Ifreceiveresponsewithin30days,Processclaimasbefore If receive response within 30 days Process claim as before Ifnoresponsewithin30days,endtheprocessandrespondwithRejectionnotice

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

80

Exercise56 MessageEvent g
Uponreceiptofanorder,theorderprocesshasthefollowingsteps:
Checkcredit Pickstock Packforshipment Shiporder EndbysendingInvoice(messageendevent)

IfcustomercancelsanytimebeforeendofPackforshipment y p
Aborttheprocess(Donotship,invoice) ReturnCancelConfirmationtocustomer

IfcustomercancelsduringShipOrder If customer cancels during Ship Order


Aborttheprocess(Donotship) Addrestockingfee ReturnRestockingInvoicetocustomer Return Restocking Invoice to customer
Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise56Solution

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

81

Exercise56Solution

WheredidFulfillOrdercomefrom?
It sthesubprocessaddedtodefinescopeofno feecancellationevent Its the subprocess added to define scope of nofee cancellation event

ExpandFulfillOrder:

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Messaging vs Shared Data g g


Message = info p g push to specific instance p
Handler triggered immediately upon receipt

Data store = info pulled by a process task


May need to poll repeatedly if info unavailable

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

82

MessageEvent AlternativeStart g
Multiplestarteventsareconsideredindependent p p
Firstonetriggeredstartstheinstance

Usecase:channeldependentstart
Initialactivitiesdependonchannelofrequest Downstreamactivitiescommonforallchannels ModeleachchannelasseparateMessageevent

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

ErrorBoundaryEvent y
Alwaysinterrupting Onatask,signifiesimplicitexceptionendstate

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

83

ErrorBoundaryEvent y
Alwaysinterrupting Onatask,signifiesimplicitexceptionendstate Onasubprocess,canseeexplicitexceptionendstateasthrowingError endevent(Errorthrowcatch) ( )
Matchlabelof throwerandcatcher
Expandatchild processlevel

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

ErrorThrowCatch
Thesebothdothesamething:

Errorthrowcatch

Gatewayendstatetest Gateway end state test

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

84

AbnormalCompletiononError p
Errorboundaryeventsignifiesabnormalcompletion
Interruptsanyuncompletedparallelpaths Exitonexceptionflow,notnormalflow

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise57 ErrorEvent
Orderprocess p
Simplehappypathshownbelow
Receiveorder,Fulfillorder,Shiporder,Messageend

ExpandFulfillorderandshowexceptionsusingErrorthrowcatch Expand Fulfill order and show exceptions using Error throw catch
Checkavailability(Usertask) Ifnotavailable(modelasUnavailableErrorevent)
LogOutofStockconditionandthrowOutofStockerror Log Out of Stock condition and throw Out of Stock error EndtheOrderprocesswithOutofstockresponsetocustomer

Ifavailable
Pickitem,Packforshipment,andendsubprocess , p , p

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

85

Exercise57Solution

ExpandFulfillOrderat NewProcessLevel

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Supplementary Material pp y

86

Escalation Event
Non-interrupting equivalent of Error event p g q
Does not imply an error

On U O a User task t k
Use it to signify ad-hoc user action
Signal potentially generated by performer in the middle of the task

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Escalation Throw-Catch
On a subprocess p
Throw-catch semantics like Error except does not abort the subprocess if still running

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

87

Signal Event g
General purpose throw-catch signaling
without constraints of other throw-catch event types Error and Escalation
Only from subprocess end to boundary event on the same subprocess

Message
Only between pools, not within a pool Addressed to a specific process

Signal does not have these limitations g


Within a pool or between pools Broadcast or published, not addressed to a specific process

No visual link in diagram between thrower and catcher

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Intra-Pool Signaling g g
How to communicate between parallel p p paths of a process?
E.g. failure in one path should cancel the other path as well Cannot use message, only works between pools message

Solution
Throw Signal to paired boundary event in the other path

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

88

Conditional Event
Continuously monitored data condition
Start, catching, or boundary event

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

Bruce Silver Associates 2011 In 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 flow q
Cannot cross pool boundary, subprocess or process level boundary Not important in hierarchical models

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

89

Event Subprocess p
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 event

On completion, exit activity on normal flow


or throw Error to activity boundary

Escalationhandler(Childlevel)

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

90

ProcessModelingwithBPMN g
Part6 BranchingandMerging

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

GatewayBasics y
Gatewaycontrolsprocessflow
Withoutagatewayallsequenceflowsoutofactivityaretakeninparallel Symbolinsidethediamonddeterminesgatewaymeaning

Wehavealreadyseen y
Exclusivegateway(databased)
AlsocalledXORgateway Onlyonegateenabled,basedonprocessdatacondition

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

91

GatewayBasics y
Gatewaycontrolsprocessflow
Withoutagatewayallsequenceflowsoutofactivityaretakeninparallel Symbolinsidethediamonddeterminesgatewaymeaning

Wehavealreadyseen y
Eventgateway
Alsocalledexclusiveeventbasedgateway Pathbasedoneventoccurringfirst

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

GatewayBasics y
Gatewaycontrolsprocessflow
Withoutagatewayallsequenceflowsoutofactivityaretakeninparallel Symbolinsidethediamonddeterminesgatewaymeaning

Wehavealreadyseen y
Parallelsplitgateway
AlsocalledANDsplit Allpathsenabledunconditionallyinparallel

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

92

UnconditionalParallelSplit p
Gatewaycontrolsprocessflow
Withoutagatewayallsequenceflowsoutofactivityaretakeninparallel

Thesediagramsmeanthesamething
soANDsplitgatewayisactuallyredundant p g y y

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

ConditionallyParallelFlow y
Inclusive(OR)gateway(ORsplit) ( )g y( p )
LikeXORgateway,evaluatesprocessdataconditions butconditionsareindependent
1ormoreconditionsmaybetrue 1 or more conditions may be true Example:
1. 2. 2 3.

DepositAmount>$10,000 Customer/Country! USA Customer/Country !=USA Otherwise(neitherabovearetrue)

Enablealltruepathsinparallel
Ifapathisalwaystrue,labelit If a path is always true, label it always Theotherwisecondition(called default)isindicatedbytickmark

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

93

ConditionallyParallelFlow y
Conditionalsequenceflow q
AlternativetoORgateway(meansthesamething) Omitsgateway,putconditiondiamondontailofsequenceflow
Canonlybeusedoutofactivity,notgatewayorevent Can only be used out of activity not gateway or event

Nodiamondontailmeansalways (unconditional) Tickmarkonsequenceflowmeans Ti k k fl otherwise(default)

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

MergingAlternativePaths g g
Multiplesequenceflows p q mergedirectlyintoan activity
i.e.,withoutagateway i e without a gateway iftheyrepresentexclusive alternatives

Totellifpathsareexclusive alternatives
Needtolookupstreamin p thediagram

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

94

MergingParallelPaths g g
Join mostcommon ANDorORgateway g y
Waitforallincomingpathstocomplete,thencontinue

Nogateway=Multimerge
Dontdoit!Downstreamactivitieswillbeexecutedmultipletimes XORgatewaymergemeansthesamething

AlsoDiscriminatorpattern rare Complexgateway p p g y


Passfirstpathtocomplete,ignoretheothers

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

ANDJoin
Normalwaytomergeparallelpaths
ANDgatewaymaynotbeomitted

Example
FinalizecontractcannotstartuntilbothLegalReviewandFinancialRevieware g complete

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

95

ANDJoin
Normalwaytomergeparallelpaths
ANDgatewaymaynotbeomitted

GatewaywaitsforALLincomingsequenceflows
SothisdiagramistechnicallyINVALID: g y

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

JoiningConditionallyParallelFlows g y
ORgatewayjoinwaitsforallenabled paths
Ignorespathsnottaken

ThisdiagramisVALID

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

96

JoiningConditionallyParallelFlows g y
ORgatewayjoinwaitsforallenabledpaths
Ignorespathsnottaken

ThisdiagramisVALID

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

DiscriminatorPattern
Specialjoinofparallelorconditionallyparallelflow p j p yp
Passfirstpathtoreachthejoin,discardsubsequentones

UsesComplexgateway(asteriskinside)
Complexgatewaymeansnonstandardjoinsemantics
Needtoannotatetheintendedmeaning

Example p

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

97

Exercise61 Branch/Merge / g
Diagramthefollowingprocess g gp
Lognewproposal PerformTechnicalReview InparallelwithTechReview,performFinancialReview In parallel with Tech Review perform Financial Review Whenbothcomplete,performDirectorReview

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise61Solution
Diagramthefollowingprocess g gp
Lognewproposal PerformTechnicalReview InparallelwithTechReview,performFinancialReview In parallel with Tech Review perform Financial Review Whenbothcomplete,performDirectorReview

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

98

Exercise62 Branch/Merge / g
Diagramthefollowingprocess g gp
Lognewproposal PerformTechnicalReview Ifcost>$10K If cost > $10K
InparallelwithTechReview,performFinancialReview

Whenneededreviewscomplete,performDirectorReview

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise62Solution
Diagramthefollowingprocess
Lognewproposal PerformTechnicalReview Ifcost>$10K
InparallelwithTechReview,performFinancialReview

Whenneededreviewscomplete,performDirectorReview

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

99

Exercise63 Branch/Merge / g
Diagramthefollowingprocess
Lognewproposal Iftechnicalproposal,performTechnicalReview Ifcost>$10K
InparallelwithTechReview,performFinancialReview

Ifneithertechnicalproposalorcost>$10K,performQuickReview Whenneededreviewscomplete,performDirectorReview

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise63Solution
Diagramthefollowingprocess
Lognewproposal Iftechnicalproposal,performTechnicalReview Ifcost>$10K
InparallelwithTechReview,performFinancialReview In parallel with Tech Review perform Financial Review

Ifneithertechnicalproposalorcost>$10K,performQuickReview Whenneededreviewscomplete,performDirectorReview

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

100

ProcessModelingwithBPMN g
Part7 Iteration

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

RepeatingActivities p g
Standardloop p
LikeDoWhile
Performtheactivityonce Thentestaloopcondition Then test a loop condition E.g.basedonmaxnumberofiterations,timeexpired,needsmorework Iftrue,performitagain isthesameas

NumberofiterationsnotknownwhenAstarts

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

101

RepeatingActivities p g
Multiinstanceactivity y
LikeForEach
PerformtheactivityNtimes Typicallyinparallel,butmayspecifysequential Typically in parallel but may specify sequential ActivityiscompletewhenallNiterationsarecomplete

isthesameas

Numberofiterationsknown whenAstarts

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

HiringExercise:WhatstheProblem? g

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

102

TryStandardLoop y p
Wrapentirecandidateevaluationinaloopingsubprocess

Thisisnotapracticalsolution.Whynot?

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

PracticalRepeatingActivityMethod p g y
Fastlooptoscreen,thenMItoevaluate
Loop(While) iterationcountunknown,testconditioneachtime MI(ForEach) iterationcountknowninadvance

Thisworks!Butwithlimitations
CannotbeginInterviewCandidatesuntilscreeningperiodcomplete OnceInterviewCandidatesbegins,cannotreceivemoreresumes
Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

103

MultiPoolMethod
Splithiringprocessinto2BPMNprocesses(whiteboxpools)
MainpoolHiringProcess, instanceisjobopening ChildpoolEvaluateCandidate, instanceisacandidate
EachApplicationmessage createsaninstanceof EvaluateCandidate

Instance= I t

candidate Multiparticipant markermeansNinstances perHiringProcessinstance

Norepeatingactivitiesin thisstructure
Instance=job

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

MultiPoolMethod
Abettersolution

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

104

AnotherMultiPoolExample p

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise71:LoopActivity p y
Acontestawardsaprizetothefirstcontestanttoprovidethe p p correctsolutiontoapuzzlepostedontheweb.
Postthepuzzle. Receiveentriesfromcontestants Receive entries from contestants Checkentrytoseeifitiscorrect.
Ifcorrect,haveawinner Ifincorrect,keeplooking f

Ifnocorrectsolutionisfoundwithin1week,thecontestisdeclared overwithoutawinner.

Assumecheckingisfastandcanbedonesequentially
Hint:Loopsubprocess

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

105

Exercise71Solution

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise72:MultiPoolSolution
Acontestawardsaprizetothefirstpersontoproveafamous p p p mathematicalconjecture.
Assumecheckingisslowandentriescheckedinparallel

Posttheprobleminmainpool P t th bl i i l
WaitfornotificationfromMIpool Ifnocorrectsolutionisfoundwithin1year,thecontestisdeclared overwithoutawinner.

ReceiveentriesinMIpool
Checkentrytoseeifproofisvalid. Check entry to see if proof is valid
Ifcorrect,haveawinner;notifymainpool Ifincorrect,keeplooking

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

106

Exercise72Solution

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise73:HiringProcessRevisited g
Improvethemultipoolmethod
EndstatesofEvaluateCandidateareRejectedorViable CollectshortlistofviablecandidatesinHiringProcess Makeoffertobestone.Ifofferrejected,makeoffertonextbest. Ifshortlistemptybeforecandidateaccepts,collectmoreviablecandidates,repeat Ifcannotfillwithin3months,abandonposition

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

107

Exercise73Solution

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

108

ProcessModelingwithBPMN g
Part8 FollowingtheRules

Bruce Silver Associates 2010 In cooperation with itp commerce ltd.

TurnonValidationintheTool
ProcessModelerValidate featurereports
Errors(specviolations) Warnings(e.g., duplicatenames) duplicate names) Infos(e.g.stylerules) Cancustomizethe errorlevel

MethodandStyle validation(stylerules) onlyavailablewith only available with BPMessentials

Bruce Silver Associates 2010 In cooperation with itp commerce ltd.

109

FollowingtheRules g
Officialrulesnotenumerated inthespec
Mostlydealwithallowed connections andeventtypes

Stylerulesnotpartofthe Style rules not part of the specatall


Mostlydealwithlabelingand topdowntraceability

Clickthelightningbolticonin ProcessModelertoolbarto validatethediagram Remembertovalidateyour modelsandfixtheerrors!

Bruce Silver Associates 2010 In cooperation with itp commerce ltd.

ValidationinProcessModeler
Errorslistedin ToDoList
ALL Currenttabonly Selectedshapesonly GotofromToDo listselection

Tooltipprovides Tool tip provides guidanceforfixing styleruleviolations

Bruce Silver Associates 2010 In cooperation with itp commerce ltd.

110

TheRulesofBPMN
Sequenceflows Allflowobjectsotherthanstartevents,boundaryevents,andcompensatingactivitiesmust haveanincomingsequenceflow,iftheprocesslevelincludesanystartorendevents [212602,213606,321607,380605]. Allflowobjectsotherthanendeventsandcompensatingactivitiesmusthaveanoutgoing j p g g g sequenceflow,iftheprocesslevelincludesanystartorendevents[211606,213604, 213623,321608,380606]. Asequenceflowcannotcrossaprocessboundary.[261602] Aconditionalsequenceflowcannotbeusedifthereisonlyonesequenceflowoutofthe A conditional sequence flow cannot be used if there is only one sequence flow out of the element[220601]. Sequenceflowoutofaparallelgatewaycannotbeconditional[261603]. Messageflows Amessageflowcannotconnectnodesinthesamepool[262602]. AmessageflowcanonlycomefromaMessageendorintermediateevent;Send,User,or Servicetask;Subprocess;orblackboxpool[211605,213621,230602,222601,250604, 222603,242602,262601]. 222603, 242602,262601].

Bruce Silver Associates 2010 In cooperation with itp commerce ltd.

TheRulesofBPMN
Messageflows(cont.) AmessageflowcanonlygotoaMessagestartorintermediateevent;Receive,User,or Servicetask;Subprocess;orblackboxpool[230601,222603,242602,262601,213622, 222602,250603]. Startevents Astarteventcannothaveanincomingsequenceflow.[211601] Astarteventcannothaveanoutgoingmessageflow[211605]. AstarteventwithincomingmessageflowmusthaveaMessagetrigger[211603]. AstarteventcannothaveanErrortrigger[211610]. AstarteventinasubprocessmusthaveaNonetrigger[211613]. Endevents Anendeventcannothaveoutgoingsequenceflow[212603]. An end event cannot have outgoing sequence flow [212603] Anendeventcannothaveincomingmessageflow[212604]. AnendeventwithoutgoingmessageflowmusthaveMessageresult[212606].

Bruce Silver Associates 2010 In cooperation with itp commerce ltd.

111

TheRulesofBPMN
Intermediateevents Aboundaryeventmusthaveanoutgoingsequenceflow[213604]. AboundaryeventtriggermustbeeitherMessage,Timer,Signal,Error,Escalation, Conditional,Cancel,orCompensation[213607,213609,213615,213616,213617]. Aboundaryeventcannothaveincomingsequenceflow[213605]. A boundary event cannot have incoming sequence flow [213605]. AnErrorboundaryeventonasubprocessrequiresamatchingErrorthrowevent[313605]. AnErrorboundaryeventcannotbenoninterrupting[113604]. AnEscalationboundaryeventonasubprocessrequiresamatchingEscalationthrowevent [313606]. AnintermediateeventwithincomingmessageflowmustbecatchingtypewithMessage trigger[213626]. AnintermediateeventwithoutgoingmessageflowmustbethrowingtypewithMessage An intermediate event with outgoing message flow must be throwing type with Message trigger[213629]. AthrowingintermediateeventresultmustbeeitherMessage,Signal,Escalation,Link,or Compensation.

Bruce Silver Associates 2010 In cooperation with itp commerce ltd.

TheRulesofBPMN
Intermediateevents(cont.) AcatchingintermediateeventtriggermustbeeitherMessage,Signal,Timer,Link,or Conditional. AthrowingLinkeventcannothaveoutgoingsequenceflow[213619]. AcatchingLinkeventcannothaveincomingsequenceflow[213618]. A catching Link event cannot have incoming sequence flow [213618]. Gateways Agatewaycannothaveincomingmessageflow[230601]. Agatewaycannothaveoutgoingmessageflow[230602]. Asplittinggatewaymusthavemorethanonegate[230603,232601]. AneventgatewaymusthaveeitheracatchingintermediateeventorReceivetaskoneach gate[332602]. gate [332602]

Bruce Silver Associates 2010 In cooperation with itp commerce ltd.

112

StyleRules y
Labeling Activitiesshouldbelabeled[120701]. AMessagestarteventshouldbelabeledReceive[messagename][311701]. ATimerstarteventshouldbelabeledtoindicatetheprocessschedule[111701]. ASignalstarteventshouldbelabeledtoindicatetheSignalname[111702]. A Signal start event should be labeled to indicate the Signal name [111702] AConditionalstarteventshouldbelabeledtoindicatethecondition[111703]. Astarteventinatoplevelprocessshouldbelabeled. Ifatoplevelprocesscontainsmore thanonestartevent,allshouldbelabeledtoidentifythealternativestartconditions [311701]. Thelabelofachildlevelpageshouldmatchthenameofthesubprocess[321701]. Twoactivitiesinthesameprocessshouldnothavethesamename. (Useglobalactivityto reuseasingleactivityinaprocess.)[320701] reuse a single activity in a process.) [320701] Aboundaryeventshouldbelabeled[311701]. AnErrorboundaryeventonasubprocessshouldbelabeledtomatchthethrowingError event[313701].

Bruce Silver Associates 2010 In cooperation with itp commerce ltd.

StyleRules y
Labeling(cont.) AnEscalationboundaryeventonasubprocessshouldbelabeledtomatchthethrowing Escalationevent[313702]. Athrowingintermediateeventshouldbelabeled[113702]. Acatchingintermediateeventshouldbelabeled[113703]. A catching intermediate event should be labeled [113703]. Anendeventshouldbelabeledwiththenameoftheendstate[312702]. Anexclusivegatewayshouldhaveatmostoneunlabeledgate[230701]. Anexclusiveorinclusivegatewaywithanunlabeledgateshouldbelabeled[230702]. Endstates Twoendeventsinaprocesslevelshouldnothavethesamename. Iftheymeanthesame endstate,combinethem;otherwisegivethemdifferentnames[312701]. Ifasubprocessisfollowedbyayes/nogateway,atleastoneendeventofthesubprocess If a subprocess is followed by a yes/no gateway at least one end event of the subprocess shouldbelabeledtomatchthegatewaylabel[321703]. Subprocessexpansion Onlyonestarteventshouldbeusedinasubprocess[321605]. Achildleveldiagramshouldnotbeenclosedinanexpandedsubprocessshape[321704].
Bruce Silver Associates 2010 In cooperation with itp commerce ltd.

113

StyleRules y
Messageflows ASendtaskshouldhaveanoutgoingmessageflow[222701]. AReceivetaskshouldhaveanincomingmessageflow[222702]. AMessagestarteventshouldhaveanincomingmessageflow[211701]. AcatchingMessageeventshouldhaveincomingmessageflow[213701]. A catching Message event should have incoming message flow [213701] AthrowingMessageeventshouldhaveoutgoingmessageflow[213702]. Amessageflowshouldbelabeledwiththenameofthemessage[162701]. Amessageflowfromacollapsedsubprocessshouldbereplicatedinthechildleveldiagram g p p p g [362701]. Amessageflowtoacollapsedsubprocessshouldbereplicatedinthechildleveldiagram [362702]. Anincomingmessageflowinchildleveldiagramshouldbereplicatedintheparentlevel An incoming message flow in child level diagram should be replicated in the parent level [362703]. Anoutgoingmessageflowinchildleveldiagramshouldbereplicatedintheparentlevel [362704].

Bruce Silver Associates 2010 In cooperation with itp commerce ltd.

114

ProcessModelingwithBPMN g
Part9. CertificationandBeyond

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Certification
CertificationdemonstratesBPMNmastery y
Understandingofprocessbehaviorfromthediagram AbilitytocreategoodBPMNconsistentwithmethodandstyle principles

Itsoptionalandfree
butitsnoteasy

Newinv5.0
Step1.Onlinemultiplechoiceexam Step2.Createprocessmodelandsubmitformyreview Step 2 Create process model and submit for my review

Strict60daylimit
Canpurchase60dayextensionifneeded

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

115

Step1.TheOnlineExam p
TestsunderstandingofBPMNdiagrams g g
Whatdoesadiagramfragmentmean? Whichdiagrambestmatchesadescribedbehavior?

10multiplechoicequestions,8correctneededtopass 10 lti l h i ti 8 t d dt
Maximum3attempts

AccessfromBPMessentials TrainingArea g

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

OnlineExamExample p
Whichdiagramfragmentbelowis equivalenttothefragmentonthe right?

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

116

Step2:TheCertificationExercise p
Createamorecomplexprocessmodel,withindividualizedfeedback 1. Pickany*businessprocessinyourorganization.
*Pleasedonotsubmitanyproprietaryinformation.Simplifyifnecessary.

2. CreateprocessmodelfollowingMethodandStyleprinciples
Hierarchical,collaboration,endstates,top downtraceability,followstylerules Hierarchical collaboration end states topdown traceability follow style rules

3. ThemodelasawholemustincludeatleastoneeachofthefollowingLevel2 elements.
1. 2. 3. 4.

Parallelactivitieswithsynchronizingjoinintoactivity(notintoendevent) Waitformessagewithtimeout,usingeventgateway Errorthrowcatchonasubprocess Includeatleastonetimerintermediateeventandonemessageintermediateevent(in additiontoeventgatewayabove) andfixalltheviolations

4. ValidateinProcessModelerusingbothBPMNandStylerules 5. Attachanarrativeexplainingtheprocess(justincase).Emailto bruce@bpmessentials.com. bruce@bpmessentials com


Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

AdditionalTrainingandEducation g
BPMNMethodandStyle
Moreinfo:www.bpmnstyle.com Additionalpatternsandexamples AbitonBPMNLevel3

Trainingforyourteam T i i f
Privateandpublicclasses Liveandonlinevirtualclassroom Becomealicensedtrainer! Become a licensed trainer!

Consultingandmentoring
Modelingyourprocesses,generalBPMeducation,BPMSvendorselection Relatedtrainingonprocessanalysisanddesign,businessdecisionmodeling Related training on process analysis and design business decision modeling

Moreinfoonwww.bpmessentials.comandwww.brsilver.com

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

117

ExtendingtheToolLicense g
ProcessModelerforVisiofromitpcommerce
Manyfeatureswehaventcoveredinthetraining Simulation Documentation BPMN2.0outputandinterchange

Moreinfoonwww.itpcommerce.com Specialupgradepricingfor Special upgrade pricing for BPMessentials,including 1yearmaintenance


Mustbuythroughbpmessentials.com y g p

Bruce Silver Associates 2011 In 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 sales@bpmessentials.com For questions about training content contact bruce@bpmessentials.com For technical support on Process Modeler tool contact info@itp-commerce.com

itp commerce ltd. ltd

Papiermhlestrasse 73 Stade de Suisse Business Center CH-3014 Berne Switzerland Phone: +41 31 3053 444 Fax.: +41 31 3053 443 E-mail: info@itp-commerce.com Web: www.itp-commerce.com

Bruce Silver Associates


Bruce Silver, Principal 500 Bear Valley Rd Aptos CA 95003 USA Tel +1 831.685.8803 bruce@brsilver.com bruce@brsilver com BPMS Watch: www.brsilver.com/wordpress

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

118

ProcessModelingwithBPMN g
SolutionstoExercises Solutions to Exercises

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise21Solution

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

119

SolutiontoExercise22

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise23Solution

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

120

Exercise51Solution
DiagramthefollowingCustomersupportprocess g g pp p
Triggeredbyrequest Fixtheproblem Wait1hr Wait 1 hr VerifyfixwithCustomer

AlltasksareUsertasktype

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise52Solution
DiagramthefollowingCustomersupportprocess g g pp p
Triggeredbyrequest Fixtheproblem Iffixnotcompletein1hr If fix not complete in 1 hr
AbortitandContactCustomertoreschedule

Iffixcompletein1hr
VerifywithCustomer f

AlltasksareUsertasktype

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

121

Exercise53Solution
DiagramthefollowingCustomersupportprocess
Triggeredbyrequest Fixtheproblem Iffixnotcompletein1hr
ContinueworkingonitandimmediatelyNotifyCustomerwithexpected completiontime

Afterfixcomplete
VerifywithCustomer V if i h C

AlltasksareUsertasktype

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise54Solution
DiagramthefollowingCustomersupportprocess
Triggeredbyrequest Assesstheproblem Fixtheproblem Iffixnotcompletein1hrafterinitialrequest If fix not complete in 1 hr after initial request
ContinueworkingonitandNotifyCustomerwithexpectedcompletiontime

Afterfixcomplete
VerifywithCustomer

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

122

Exercise55Solution
Uponreceiptofaclaim,theclaimsprocessor
Reviewstheclaim Ifcomplete,Processclaim(collapsedsubprocess)andrespondwithEOB. Ifincomplete,sendMissingInfoRequesttocustomerandwaitforresponse
Ifreceiveresponsewithin30days,Processclaimasbefore If receive response within 30 days Process claim as before Ifnoresponsewithin30days,endtheprocessandrespondwithRejectionnotice

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise56Solution

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

123

Exercise56Solution

WheredidFulfillOrdercomefrom?
It sthesubprocessaddedtodefinescopeofno feecancellationevent Its the subprocess added to define scope of nofee cancellation event

ExpandFulfillOrder:

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise57Solution

ExpandFulfillOrderat NewProcessLevel

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

124

Exercise61Solution
Diagramthefollowingprocess g gp
Lognewproposal PerformTechnicalReview InparallelwithTechReview,performFinancialReview In parallel with Tech Review perform Financial Review Whenbothcomplete,performDirectorReview

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise62Solution
Diagramthefollowingprocess
Lognewproposal PerformTechnicalReview Ifcost>$10K
InparallelwithTechReview,performFinancialReview

Whenneededreviewscomplete,performDirectorReview

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

125

Exercise63Solution
Diagramthefollowingprocess
Lognewproposal Iftechnicalproposal,performTechnicalReview Ifcost>$10K
InparallelwithTechReview,performFinancialReview In parallel with Tech Review perform Financial Review

Ifneithertechnicalproposalorcost>$10K,performQuickReview Whenneededreviewscomplete,performDirectorReview

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise71Solution

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

126

Exercise72Solution

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

Exercise73Solution

Bruce Silver Associates 2011 In 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 sales@bpmessentials.com For questions about training content contact bruce@bpmessentials.com For technical support on Process Modeler tool contact info@itp-commerce.com

itp commerce ltd. ltd

Papiermhlestrasse 73 Stade de Suisse Business Center CH-3014 Berne Switzerland Phone: +41 31 3053 444 Fax.: +41 31 3053 443 E-mail: info@itp-commerce.com Web: www.itp-commerce.com

Bruce Silver Associates


Bruce Silver, Principal 500 Bear Valley Rd Aptos CA 95003 USA Tel +1 831.685.8803 bruce@brsilver.com bruce@brsilver com BPMS Watch: www.brsilver.com/wordpress

Bruce Silver Associates 2011 In cooperation with itp commerce ltd.

128

You might also like