Lecture 10
Process Automation
1
Learning Objectives
• Understand how IT can be used to deliver value by automating business processes,
and how transactional data can be exploited to build insightful process analytics
• Apply qualitative and quantitative techniques to analyse process performance and to
assess the impact of process changes
• Apply the knowledge and skills acquired holistically on a real-life business
problem.
Content
• Propose a five-step method to incrementally transform a conceptual process model
into an executable one, using the BPMN language
• How to make use of two other standards complementary to BPMN: the Case
Management Model and Notation (CMMN) and the Decision Model and Notation
(DMN).
• The conceptual model will incrementally become less abstract and more IT-
oriented.
Exercise 9 - 10
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
From “conceptual” to executable models
Executable process models
Conceptual “to-be” process models
• are made by IT specialists
• are made by domain experts
• provide input to a process enactment system - BPMS
• provide a basis for communication amongst relevant
stakeholders • must be machine readable
• must be understandable • must be unambiguous and should not contain any
uncertainties
• must be intuitive and may leave room for
interpretation • contain further details that are only relevant to
implementation
• contain purely a relevant set of process information
“to-be executed”
process model
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.
Running example
Customer
Seller
Supplier 1
Supplier 2
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
In BPMN: specify task markers
Automated tasks User task Manual task
automated
In our example… 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
-> Or leave them out of the automated process
3. Complete the process model
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
In our example…
4. Adjust task granularity
The goal is to coordinate handovers of work between resources, therefore:
-> Aggregate consecutive tasks assigned to the same performer
-> Split tasks if they require different performers
An exception to the rule
Our example…
Before
After Step 41
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
5. Specify execution properties
Process variables, messages, signals, errors
Task and event variables and their mappings to (global) process variables
Calls to external systems (via service interfaces/API endpoints)
Code snippets
Participant assignment rules
User interface specification (e.g. forms)
Task, event and sequence flow expressions
Business Process Management System
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
Example: Process model editor
BIC Platform
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
Worklist Handler
• Imagine it as an “inbox”
• Offers work items to workers and allows them to “pick” these work items
• Handles work queues and priorities
Example worklist handlers
Bonita Soft Bonita Open Solution
Administration & Monitoring Tools
• To manage automation solutions
• To configure access to system components
• To monitor participants availability and performance of process cases
External Services / API endpoints
• 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…
BPMS Landscape
Closed source Open-source
• BIC Platform • Bonita Platform
• BizAgi • Camunda
• IBM BPM • Flowable
• Oracle BPMS • JBoss jBPM
• Pega Platform
• webMethods
Camunda Architecture
Cheat sheet
1. Control flow> specify sequence flow expressions…
2. Data flow > specify data types (or data fields) and data mappings
3. Resources > specify participants assignment rules, service calls...
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