From Conceptual To Executable BPMN Process Models

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