Transcription
From Conceptual to ExecutableBPMN Process ModelsA Step-by-Step MethodUniversity of Tartumarlon.dumas@ut.eeSlides prepared in collaboration with Marcello La Rosa (QUT)With contributions from Remco Dijkman (TU/e)
Where are we?ProcessidentificationProcessProcess architecturearchitectureConformanceConformance andandperformanceinsightsperformance insightsProcessdiscoveryAs-isAs-is processprocessmodelmodelProcessmonitoring tsInsights ononweaknessesweaknesses andandtheirtheir impactimpactTo-beTo-be processprocessmodelmodelProcessredesign2
The business-engineering gap ring o-be processprocessmodelmodelProcessredesign3
Two sides of the BPM storyConceptual “to-be” process models are made by domain experts provide a basis for communicationamongst relevant stakeholders must be understandable must be intuitive and may leave room forinterpretation contain purely a relevant set of processinformationExecutable process models are made by IT experts provide input to a processenactment system - BPMS must be machine readable must be unambiguous and shouldnot contain any uncertainties contain further details that are onlyrelevant to implementation“to-be executed”process model4
Bridging the gap: A five-step method1.2.3.4.5.Identify the automation boundariesReview manual tasksComplete the process modelAdjust task granularitySpecify execution propertiesAdapted from teaching material of Remco Dijkman, TU/e.5
Running exampleCustomerSellerSupplier 1Supplier 26
running example
1. Identify the automation boundariesPrinciple: not all parts of a process can be automated.- Start by identifying each task’s type:12Automated tasks3User tasksManual tasks8
In BPMN: specify task markersAutomated tasksUser taskManual task9
In our example automatedusermanual
2. Review manual tasksPrinciple: if it can’t be seen by the BPMS, it doesn’t exist.- Find ways to support manual tasks via IT: via user task via automated task- Isolate them and automate the rest11
Alternative: isolate manual tasks12
Alternative: isolate manual tasksSegment 1Segment 2Segment 313
Quiz: let’s consider this process fragmentPrescription fulfillment process: Once the prescription passes the insurance check, itis assigned to a technician who collects the drugsfrom the shelves and puts them in a bag with theprescription stapled to it. After that, the bag is passed to the pharmacist whodouble-checks that the prescription has been filledcorrectly. After this quality check, the pharmacist seals thebag and puts it in the pick-up area. When a customer arrives to pick up theirprescription, a technician retrieves the prescriptionand asks the customer for their payment.Assume the pharmacy system automates thisprocess. Identify the type of each task and linkmanual tasks to the system.
Possible solution15
3. Complete the process model(cf. Last week‘s lecture)Principle 1: exceptions are the rule. Consider incomplete paths Rules of thumb If we send something to another party, what happens if they do notrespond? What happens if the response comes late? What happens ifthey do not respond the way we expect? For each task: Can it go wrong and what happens if it goes wrong? For each external party: Have we captured all messages or queries theymight send us? (use CRUD)Principle: no data no decisions, no tasks handover. Specify all (electronic) business objects For each task, determine which business objects it creates, reads, updates,delete (CRUD) For each decision, determine which objects it needs16
In our example 17
4. Adjust task granularityPrinciple: BPMSs add value if they coordinate handovers ofwork between resources.- Aggregate any two consecutive tasks assigned to thesame performer- Split tasks if they require different performers18
An exception to the rule19
Our example BeforeAfter StepStep 41
Bridging the gap: one task at a time1.2.3.4.5.Identify the automation boundariesReview manual tasksComplete the process modelAdjust task granularitySpecify execution properties21
5. Specify execution properties- Process variables, messages, signals, errors- Task and event variables and their mappings to processvariables- Service details- Code snippets- Participant assignment rules and user interface structure- Task, event and sequence flow expressions- BPMS-specific: work queues, forms, connectors
Business Process Management System23
Process modeling tool To create and modify executable process models (by specifyingexecution properties) To store and retrieve automation solutions from a processmodel repository May import from conceptual process modeling tools24
Example process modeling toolsProcessManagerBonita IBMSoft BusinessBonita OpenSolution25
Execution Engine Instantiates executable process models (also called “cases”) Orchestrates distribution of work items to process participantsand software services in order to execute a business processfrom start to end Logs execution data26
Worklist Handler Imagine it as an “inbox” Offers work items to process participants and allowsparticipants to commit to these work items Handles participants’ work queues and work item priorities May provide social network capabilities27
Example worklist handlersBonita Soft Bonita Open Solution28
Administration & Monitoring Tools To manage automation solutions To configure access to system components To monitor participants availability and performance ofprocess cases29
Example monitoring & administration toolsPerspectiveBPMOneIBMBPM ProcessAdmin ConsoleIBM BPM Process Portal30
External Services Expose a service interface with which the engine can interact The engine provides the invoked service with the necessarydata it will need to perform the activity for a specific case Examples: rules engine, email or Twitter notification, DBconnector, CRM connector 31
Example external servicesBosch Visual Rules editor32
BPMS LandscapeOtherclosed-sourceBig vendors IBM BPM Oracle BPMS Microsoft BizTalk,Wf SAP NetWeaverBPM Software AGwebMethods PagaystemsPegaRULES Appian BPMSBizAgi BPM SuiteBosch inubit SuiteOpenText BPMPerceptiveBPMONe Progress Savvion(cloud) Effektif (cloud)Commercialopen-source Bonita OpenSolution Camunda Fox Intalio BPM JBoss jBPM Shark YAWL33
Cheat sheet1. Control flow2. Data flow3. Resources specify sequence flow expressions specify data types and data mappings specify participants assignment rules, service details.Finance ailsReportCheckInvoiceMismatchesInvoice DBInvoicenoPost InvoicemismatchesInvoicepostedInvoiceSenior Finance OfficermismatchexistsBlockInvoiceInvoiceblocked34
serInterfaceDataartifacts
Prescription fulfillment process: Once the prescription passes the insurance check, it is assigned to a technician who collects t