From Conceptual to Executable
BPMN Process Models
A Step-by-Step Method
Marlon Dumas
University of Tartu
[email protected]
Slides prepared in collaboration with Marcello La Rosa (QUT)
With contributions from Remco Dijkman (TU/e)
Where are we?
Process
identification
Process
Process architecture
architecture
Conformance
Conformance and
and Process As-is
As-is process
process
performance
performance insights
insights discovery model
model
Process
monitoring and Process
controlling analysis
Executable
Executable Insights
Insights on
on
process
process weaknesses
weaknesses and
and
model
model their
their impact
impact
Process Process
implementation To-be
To-be process
process redesign
model
model
2
The business-engineering gap…
Process
identification
Process
discovery
Process
monitoring and Process
controlling analysis
Executable
Executable
process
process
model
model
Process Process
implementation To-be
redesign
To-be process
process
model
model
3
Two sides of the BPM story
Conceptual “to-be” process models Executable process models
• are made by domain experts • are made by IT experts
• provide a basis for communication • provide input to a process system -
amongst relevant stakeholders BPMS
• must be understandable • must be machine readable
• must be intuitive and may leave room for • must be unambiguous and should
interpretation not contain any uncertainties
• contain purely a relevant set of process • contain further details that are only
information relevant to implementation
“to-be executed”
process model
4
Bridging the gap: A five-step method
1. Identify the automation boundaries
2. Review manual tasks
3. Complete the process model
4. Adjust task granularity
5. Specify execution properties
Adapted from teaching material of Remco Dijkman, TU/e. 5
Running example
Customer
Seller
Supplier 1
Supplier 2
6
running example
1. Identify the automation boundaries
Principle: not all parts of a process can be automated.
-> Start by identifying each task’s type:
1 2 3
Automated tasks User tasks Manual tasks
8
In BPMN: specify task markers
Automated tasks User task Manual task
9
automated
user
In our example… 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
11
Alternative: isolate manual tasks
12
Alternative: isolate manual tasks
Segment 1 Segment 2
Segment 3
13
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
Possible solution
15
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 not respond?
What happens if the response comes late? What happens if they 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 they might 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 needs
16
In our example…
17
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 performer
-> Split tasks if they require different performers
18
Bridging the gap: one task at a time
1. Identify the automation boundaries
2. Review manual tasks
3. Complete the process model
4. Adjust task granularity
5. Specify execution properties
19
5. Specify execution properties
-> Process variables, messages, signals, errors
-> Task and event variables and their mappings to process
variables
-> 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 System
21
Process modeling tool
• To create and modify executable process models (by specifying
execution properties)
• To store and retrieve automation solutions from a process
model repository
• May import from conceptual process modeling tools
22
Example process modeling tools
Bonita IBM
Soft Business Process
Bonita Open Manager
Solution
23
Execution Engine
• Instantiates executable process models (also called “cases”)
• Orchestrates distribution of work items to process participants
and software services in order to execute a business process
from start to end
• Logs execution data
24
Worklist Handler
• Imagine it as an “inbox”
• Offers work items to process participants and allows
participants to commit to these work items
• Handles participants’ work queues and work item priorities
• May provide social network capabilities
25
Example worklist handlers
Bonita Soft Bonita Open Solution
26
Administration & Monitoring Tools
• To manage automation solutions
• To configure access to system components
• To monitor participants availability and performance of
process cases
27
Example monitoring & administration tools
Perspective
IBM BPMOne
BPM Process Admin Console
IBM BPM Process Portal
28
External Services
• Expose a service interface with which the engine can interact
• The engine provides the invoked service with the necessary
data it will need to perform the activity for a specific case
• Examples: rules engine, email or Twitter notification, DB
connector, CRM connector…
29
BPMS Landscape
Other Commercial
Big vendors
closed-source open-source
• IBM BPM • Appian BPMS • Bonita Open
• Oracle BPMS • BizAgi BPM Suite Solution
• Microsoft BizTalk, • Bosch inubit Suite • Camunda Fox
Wf • OpenText BPM • Intalio|BPM
• SAP NetWeaver • Perceptive • JBoss jBPM
BPM BPMONe • Shark
• Software AG • Progress Savvion • YAWL
webMethods (cloud)
• Pagaystems • Effektif (cloud)
PegaRULES
30
Business process perspectives
1. Control flow> specify sequence flow expressions…
2. Data flow > specify data types and data mappings
3. Resources > specify participants assignment rules, service details...
Finance ERP Invoice Report Invoice
Department
Enter Check
no
Invoice Invoice Post Invoice
mismatches
Invoice Details Mismatches
Invoice
received posted
Invoice DB Invoice
Senior Finance Officer
mismatch Block
exists Invoice
Invoice
blocked
31
Decision
Resources logic User
External Interface
services
Control Data
flow artifacts