LAMS – Lab Modellazione & Simulazione
From Conceptual to Executable BPMN Process Models - A Step-by-Step Method Ing. Claudia Volpetti
What’s this tutorial about? A lot of literature in both cases – we are going to talk about the «miracle» - ATAMO
ATAMO* Conceptual process model (by business analyst)
Executable process model: that can be deployed into a BPMS / Automatic system – web form / Capabilities: providing analytics, performance of BP
* “And Then A Miracle Occurs” 2
SCOPE of the PPT: who is interested in that?
1. BPM practitioners seeking to bridge business – IT (LAMS laboratory goals) Basic knowledge of BPMN assumed (http://www.bpmn.org/)
BPMN – basic elements
Titolo Presentazione
25/05/2016
Pagina 4
The BPM lifecycle: not one single approach
5
The BPM Lifecycle (revisited) – 7 key phases
Process identification Process Process architecture architecture
Conformance Conformance and and performance insights performance insights
Process discovery
As-is As-is process process model model
Process monitoring and controlling
Process analysis
Executable Executable process process model model
Process implementation
Insights Insights on on weaknesses weaknesses and and their their impact impact
To-be To-be process process model model
Process redesign
6
7 PHASES 1. PROCESS IDENTIFICATION - IDENTIFY BP – Identify the PROCESSES THAT FULFILL OUR IMPROVEMENT REQUIREMENTs (RESULT of this phase: PROCESS ARCHIT. PROC AND DEPENDENCIES) 2. PROCESS DISCOVERY - UNDERSTAND THE BP (before conceptualized as a BOX) – Result is an AS - IS PROCESS built BY INTERVIEWS, WORKSHOPS, INFERRING BY DOCUMENTS OR AUTOMATICALLY DISCOVER IT BY PROCESS MINING 3. PROCESS ANALYSIS – made through QUALITATIVE AND QUANTITATIVE TECHNIQUES IN ORDER TO GET INSIDE OF WEAKNESSES AND IMPACTS 4. PROCESS RE-DESIGN: we are still in a conceptual level but we can already design the changes to reach the IMPROVEMENT requirements – Results is the TO BE PROCESS - A NUMBER OF WEAKNESSES ARE ALREADY ADDRESSED AT THIS POINT 5. PROCESS IMPLEMENTATION: HOW TO IMPLEMENT 1. “MANUALLY” BY KiCKING OF A CHANGE MANAGEMENT PLAN 2. THROUGH A BPMS: TO BE PROCESS is trasformed INTO AN EXECUTABLE PROCESS MODELS – capable to provide REPORTs AND INSIGHTS Titolo Presentazione
25/05/2016
Pagina 7
The well-known gap… Process identification
WELL KNOWN GAP - SOLUTIONS ARCHITECTS AND BUSINESS ANALYTS---GAP TO BE FILLED
Process discovery
Process monitoring and controlling
Process analysis
Executable Executable process process model model
Process implementation
To-be To-be process process model model
Process redesign
8
The result: two sides of the story Conceptual “to-be” process models • are made by domain experts • provide a basis for communication amongst relevant stakeholders • must be understandable • must be intuitive and may leave room for interpretation • contain purely a relevant set of process information
Executable process models • are made by IT experts • provide input to a process enactment system - BPMS • must be machine readable • must be unambiguous and should not contain any uncertainties • contain further details that are only relevant to implementation
GOAL “to-be executed” process model
9
Bridging the gap: one task at a time
1. 2. 3. 4. 5.
Identify the automation boundaries Review manual tasks Complete the process model Adjust task granularity Specify execution properties
Adapted from teaching material of Remco Dijkman, TU/e.
Steps to produce the “to be executable model” LAST MILE
10
Our running example Customer Seller
Supplier 1 Supplier 2 11
Our running example
1. Identify the automation boundaries Principle: not all processes can be automated. -> Start by identifying each task’s type:
1
2
Automated tasks
3
User tasks
Manual tasks
13
In BPMN: specify task markers
Automated tasks
User task
Manual task
14
General Perspective
BPM (System)
APP IT SERVICES
APP
APP APP
15
General Perspective TOOLS of ANALYSIS: System Dynamics, Data Science….
BPM
APP IT SERVICES
APP
APP APP 16
General Perspective
APP
APP IT SERVICES
- USER INTERFACE - BUSINESS INTELLIGENCE - DATA
APP
APP APP
Vista Funzionale di un BPM System (BPMS)
Titolo Presentazione
25/05/2016
Pagina 18
Let’s identify the type of our tasks…In our example…
automated user manual
2. Review manual tasks Principle: 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 rest
20
Alternative: isolate manual tasks
21
Alternative: isolate manual tasks Segment 1
Segment 2
Segment 3
22
Quiz: let’s consider this process fragment Prescription fulfillment process: • Once the prescription passes the insurance check, it is assigned to a technician who collects the drugs from the shelves and puts them in a bag with the prescription stapled to it. • After that, the bag is passed to the pharmacist who double-checks that the prescription has been filled correctly. • After this quality check, the pharmacist seals the bag and puts it in the pick-up area. • When a customer arrives to pick up their prescription, a technician retrieves the prescription and asks the customer for their payment. Assume the pharmacy system automates this process. Identify the type of each task and link manual tasks to the system.
Possible solution
24
BPMN elements irrelevant for execution: elements not supported by a BPMS • Physical data objects: invoice on a piece of paper, … • Data stores (both physical and electronic): are out of the BPM Notation…the BPMS contacts the service which – in turn - is accessing to the data store (or bettere ist GUI) • Lanes • Text annotations Remove or neglect, depending on BPMS
25
3. Complete the process model Principle: exceptions are the rule. -> Add exception handlers (try to catch all exceptions)) Business Exceptions: • unavailability of a prodcut, • flights cancelled Technology Related Exceptions: • Service Unreachable • Data format validation error
It happed for real!
Principle: no data =THEN no decisions, no tasks handover. -> Specify all electronic business objects
26
In our example…
So first we need to Check for coverage of exceptions. Then we need to Specify all electronic data objects and split conditions
27
In our example…
And there is virtually no limit to the number of exceptions we can capture in a model – it depends on how sophisticated is our system to be able to handle such exceptions. In other words, the more exceptions we add, the more robust the solution will be.
28
4. Adjust task granularity
Principle: BPMSs add value if they coordinate handovers of work between resources. -> Aggregate any two consecutive tasks assigned to the same resource -> Refine tasks that are too coarse-grained
29
• There is not necessarily a 1-1 mapping between tasks in a conceptual process model and those in the executable counterpart.
• Principle: a BPMS is intended to coordinate and manage handovers of work between multiple resources (human or non-human). Accordingly, two or more consecutive tasks are candidate for aggregation. If this was the case, the BPMS would not add any value as it would not manage any handover of work • Similarly, if an activity requires more than one resource to be executed, it is too coarse-grained and thus needs to be refined. • Aggregation: Enter customer name, enter customer policy number and enter damage details into Enter claim, if performed by the same claims handler • Refinement: Enter and approve money transfer, typically performed by two different participants with the same role, financial officer, in order to enforce a separation of duties
30
Look around Candidate tasks for aggregation may not necessarily be consecutive due to a sub-optimal order of tasks in the conceptual model.
31
An exception to the rule
Let’s take a look at this subprocess “Verify degrees validity”… While these may be performed by the same admin clerk, we do want to report the completion of each task to the BPMS for the sake of monitoring the progress of the application, for example for auditability, also because there is typically some idle time between each task (e.g. after the documents have been posted and before receiving the results). It is also useful in this case to manage potential exceptions. For example, if the results aren’t received within a given timeframe, we can handle this delay with an exception handler attached to this task.
32
Our example… Before After Step Step 41
Let’s go ahead with the last mile: SW TUTORIAL Bonitasoft examples: - BPM in Bonitasoft - Travel request: create a model process and its application - BPM platform in use - Further Features
ZERO CODE IMPLEMENTATION – «ZERO»