business process management. 2 ”a structured, measured set of activities designed to produce a...
Post on 03-Jan-2016
213 Views
Preview:
TRANSCRIPT
Business Process Management
2
”A structured, measured set of activities designed to produce a specific output for a particular customer or market… A process is thus a specific ordering of work activities across time and space, with a beginning and an end, and clearly defined inputs and outputs: a structure for action.”
“Taking a process approach implies adopting the customer’s point of view. Processes are the structure by which an organization does what is necessary to produce value for its customers.”
Davenport (1993)
Business process
Business Processes Defined
A business process is a collection of interrelated tasks, which are designed to deliver a particular result
Types of business processes Management processes - processes that govern the operation
of a system Operational processes - processes that constitute the core
activities of the business and delivers the primary value of the organization
Supporting processes - which support the core processes
4
A business process is a collection of interrelated tasks, which are designed to deliver a particular result.
Business processes span potentially multiple departments
Business process
Process can be Large and complex Dynamic Widely distributed Long running Mix of business and technical steps Involve human intelligence and judgement
Processes can be defined in workflows or process flows define the sequence of steps and any logic associated These can be automated but do not have to be
What is Business Process Management (BPM)?
BPM is a discipline combining software capabilities and business expertise through people, systems, and information to accelerate time between process improvements, facilitating business innovation
BPM software supports the definition and automation of workflows involving individuals and systems The definition and automation of workflows Monitoring and optimisation of running workflows
BPM also enables flexible deployment, monitoring and tracking, process focus and efficiency.
BPM and process re-engineering
The concept of Business Process Management came from Process re-engineering: Analysing and redesigning key
processes within an organisation in order to improve performance Workflow automation (typically person-centric processes such as
purchase order approval)
BPM is complementary to process re-engineering and six-sigma projects but can also be used for any process automation project. Process re-engineering/six sigma is a business driven initiative to
measure and optimise performance at a business level. Process re-engineering/six sigma does not require IT integration,
it may simply add reports to existing systems.
Examples of processes suitable for BPM: Setting up a new customer account
Collect new customer details.
Verify compliance with money laundering laws
Set-up account
Blacklist DB Compliancesystems
Compliancesystems
Pending
Branch networkBranch network
Account system
Account system
Verify compliance with money laundering laws
Opportunities and benefits of process automation
Capture new customer details.
Account set-up and provisioning
Blacklist DB Compliancesystems
Compliancesystems
Pending
Branch networkBranch network
Account system
Account system
Capture existing process knowledge.
Support future out sourcing decisions.
Out sourced provider
Reduce errors
Automates roll-out of change
Automate process to enhance self-service
An example of a simple process defined
1. Process starts at a scheduled time.
2. Collected information from database
3. Format the email to the customer
4. Email the invoice5. Format the email
with the late reminder
6. Add a new activity (a reminder if not paid for a week)
7. Wait for the week8. Send the late
payment reminder
(c) SAP
1 2 3
45
6
7
8
Other examples of processes for automation 1: Process: New Hire Integration
Background Check Allocation of office space Reservation of phone, pager Creation of access rights in operational systems
Problem: Lost productivity due to late provisioning of work infrastructure
Automating the process coordination reduced cycle time from 2 week average to 2 days
Automation Goal: Performance
10
Other examples of processes for automation 2:
Process: Employee Termination Removal of computer access rights Collection of company-issued phone, pager, access card Removal from employee directory
Problem: Not all equipment is collected, access rights remain after an employee leaves
Automating the process coordination ensures that no step is forgotten
Automation Goal: Compliance
11
Business Process Management: Evolution from simple workflow
1990s – “workflow in the head”
ApplicationLogic
in Multiplesystems
UI“Screens”
© 2007 Workflow management coalition
In an organisation without integration across multiple systems, the workflow is managed ‘manually’ by the user ensuring that the correct steps are executed in multiple applications Each step involves the user using the individual systems
Enterprise Application“Account Management”
Backg
rou
nd
Ch
eck
Co
nfo
rman
ce Ru
les
List A
ccts
New
Acct
Mo
d A
cct
Del A
cct
1993: Workflow Assist in Sequence
UI“Screens”
backgroundcheck
createaccount
checkguidelines
LaunchesUI
User accessesoriginal UI directly
Human BPM/Workflow:
Enterprise Application“Account Management”
Backg
rou
nd
Ch
eck
Co
nfo
rman
ce Ru
les
List A
ccts
New
Acct
Mo
d A
cct
Del A
cct
© 2
00
7 W
ork
flo
w m
an
ag
em
en
t c
oa
liti
on
ApplicationLogic
in Multiplesystems
The original workflow systems assisted the user by ensuring that the right systems were invoked in the right sequence The original systems are still directly interacted with
1996: Supporting collaboration
UI“Screens”
backgroundcheck
createaccount
checkguidelines
Launches
© 2007 Workflow management coalition
ApplicationLogic
in Multiplesystems
Enterprise Application“Account Management”
Backg
rou
nd
Ch
eck
Co
nfo
rman
ce Ru
les
List A
ccts
New
Acct
Mo
d A
cct
Del A
cct
Workflow systems evolved to allow multiple individuals to participate in a single workflow
2002: Introduction of a process engine
ExposedWeb
Services
enterinfo
Review
UI connects user to process engine, not
the back-end applications
© 2
00
7 W
ork
flo
w m
an
ag
em
en
t c
oa
liti
on
ApplicationLogic
in Multiplesystems Enterprise Application
“Account Management”
Backg
rou
nd
Ch
eck
Co
nfo
rman
ce Ru
les
List A
ccts
New
Acct
Mo
d A
cct
Del A
cct
createaccount
bgcheck
rules
A distinct process engine automates the workflow and deals with interactions with the backend systems – the user no longer directly interacts with these systems
17
The process engine
A process is an entity that typically encapsulates an interaction of a user with business entities (applications).
Can includes user-centric interactions (email reminders, task lists etc) and system interactions .
A process typically updated and changes the state of the business entities indirectly The business application mediates these changes
A business process may have its own state which may exist only for the duration of the process; at the completion of the process the state ceases to exist. The duration of the state may be very long
Process state may be transient or persistent.
Human Activities Have Three Phases
Review
Automated phase beforeto prepare for the task
Wait phase for Human to do the work,includes timers andescalation logic
Automated phase afterto take care of resultsof the task
User Interface(while waiting)
© 2007 Workflow management coalition
Separation of ResponsibilityBusiness Retains Control of• Assignment of Responsibility• Groups, Roles, Skills• Deadlines• Alerts, Reminders, Escalations• Order of Tasks• Addition of Manual Tasks• User Interface
IT Retains Control of• Computational Logic• Data Representations• Scalability / Performance• Interoperability• Master Data Management
© 2007 Workflow management coalition
ExposedWeb
Services
enterinfo
Review
ApplicationLogic
in Multiplesystems
Enterprise Application“Account Management”
Backg
rou
nd
Ch
eck
Co
nfo
rman
ce Ru
les
List A
ccts
New
Acct
Mo
d A
cct
Del A
cct
createaccount
bgcheck
rules
BPM supports the separation of tasks between the business analyst (defining the business level elements) and IT (retaining control of systems and data)
Business Process Management
BPM in process automation
BPM can also be tactically to automate or optimise processes Removing manual processing steps ensures appropriate processes are
followed.
To formalise and capture knowledge The activity of defining the process means that knowledge in people’s
heads is captured (and hence supports out-sourcing).
To reduce the opportunity for human error The defined process is enforced with the BPM software and opportunity
for human error reduced.
To ensure compliance with legal or organisational requirements The process definitions can be audited and the execution of the
processes tracked
Key components of a BPM software product
Modelling and simulation Support the design and simulation of business processes. Uses graphical tools and standardised specification
languages to define the process
Monitoring (Business Activity Monitoring) Track performance of processes and operational activity
Process orchestration and optimisation Execute the process definitions Modify and evolve the definitions to improve performance.
Example of monitoring dashboard
Second example of dashboard
Where BPM is appropriate
Business Process Management is not suitable for all areas of business as it requires processes which can be formalised. Clearly needs a well-defined business case to support the potential
changes in the operational process,
Finding matches for the strengths of BPM Areas which are already well-defined. Areas where there is either complexity or rapid change or both Areas where the cost of error is much greater than the cost of
fixing the problem.
COMPARING APPROACHES TO BUSINESS PROCESS AUTOMATION
26
Comparing EAI, ERP and BPM
EAI integrates primarily behind the scenes Most of the user interaction is unchanged
Process changes occur only for the integrated process27
App1 App 3App2 App1 App 3App2
Benefits of EAI/SOA based process automaton Integrates with existing process and data models – handling
incompatibilities when necessary Allows the high value integration problem to be addressed without
disrupting the other applications Integrates with existing process and data models – handling
incompatibilities when necessary Minor/moderate changes to the user interaction causes
minor/moderate changes to the business as a whole
28
Comparing EAI, ERP and BPM
ERP changes both user interaction and applicaton All user interaction, data/process models are changed
29
App1 App 3App2
Module1
Module2
Module3
Benefits of ERP based process automation
Creates a set of processes and associated data models which are mutually compatible and comprehensive
Equally effective at automation within a single department or across multiple departments
ERP vendor typically provides ‘standard’/template processes already proven for a particular industry
30
Comparing EAI, ERP and BPM
BPM integrates the user interaction layer across multiple applications All user interaction related to the integrated process changed
Process and interaction changes occur only for the integrated process
31
App1 App 3App2
App1 App 3App2
BPM layer
Benefits of BPM based process automation
Improvement in the redesigned process, Reduction in risk/error (due to missed or wrongly
executed steps) Auditability of completed processes – needed for
compliance and other purposes Makes it easier to deploy process changes (for instance
caused by outsourcing, regulation changes, business changes etc)
32
BPM versus EAI and SOA
BPM can use different technologies to implement the process. Like SOA, it can be implemented using different technologies
EAI products typically claim to provide BPM capabilities Typically support processes defined as system to system
interactions (i.e. does not include human interactions)
SOA and BPM are partially complementary BPM can build upon SOA using the services already defined. However, it is not usual to attempt to combine a move to SOA
and a move to BPM
BPM and ERP
BPM provides process integration If the organisation is using an ERP system, the BPM system
integrates into the capabilities of that system and integrates with other systems and users (via Email etc) SAP’s Business One tool:
System interaction step
User interaction
steps
BPEL – A business process language
Business Process Orchestration with BPEL
An example of a business process orchestration language Others remain more popular / native with one BPM platform
Business Process Execution Language (BPEL) Defines the process as an XML document which is executed by a process
engine.
A portable business processes built on top of the Web services infrastructure
Industry wide language for business processes Simple constructs and principles Common skill set and language for developers
Choice of process engines Standards lead to competitive offerings Allows different engines to be used for different tasks A number of Open Source implementations available
37
A simple business scenario A specific ordering of work
activities Across time and place With a beginning, an end Clearly identified
Inputs Outputs
E.g. An order arrives and
proceeds down a simple series of steps to check Inventory Price Credit check
Before issuing an invoice
Exercise: Defining a business process
38
• Working in groups pick a business process
• Define the steps involved in the process from a business perspective
• Define the steps involved in the process from a technology perspective
• Think about the time the process takes to complete• Think about what happens if it goes wrong
BPEL Components
The basic activities required to define a process such as Invoke the port-
type on a participant.
Receive a message from a participant
Reply to a message
Terminate a process
“Structured” Activities including Pick from a list of options
based on some value While a condition is true
repeat the task Flow to the next step
Defining the entities involved in the process. BPEL defines
these as Partner Links (role of the participant in the process).
Defining the way the entity is involved with the Port-types (an interface definition)
Structured activities – as XML and diagrams
<sequence>
<flow>
<pick>
Serialized <send>, <receive>, <invoke>, <…>
parallel <send>, <receive>, <invoke>, <…>
Wait for one or more <receive> or an alarm condition
• Structured activities define the flow within the business process flow
Structured activities – as XML and diagrams
<switch><case>… <case /> <otherwise /> </switch>
While
Wait
Starting and stopping process
Start a process on receiving an external message<receive createInstance=“yes”>…</receive>
Start a process at a predefined time<pick> <!-- set an alarm in 3 days and 10 hours --> <onAlarm for="'P3DT10H'"> <!-- handle timeout for order completion --> … </onAlarm></pick>
BPEL Error HandlingAs well as defining the usual behaviour of the process, it is also necessary to define what to do when things go wrong. This is done with faultHandlers which are called when the usual behaviour fails and an exception is thrown. <faultHandlers> <catchAll> … </catchAll></faultHandlers>…<switch><case condition= "bpws:getVariableProperty(stockResult,level) > 100"><throw faultName="OutOfStock"/></case>
Many instances of a process may be running in the BPEL engine. When a message arrives, the engine has to figure out which process it belongs to. This is done with message correlation
The correlation data is something in the message which is unique (e.g. invoice purchase order number) and allows the process engine to associate the message with the right process
<propertyAlias propertyName="orderNumber" messageType="POMessage" part="PO" query="/PO/Order"/><correlationSets> <correlationSet name="PurchaseOrder" properties="orderNumber"/></correlationSets>…
BPEL Message Correlation
Advanced concepts: BPEL Transactions
Transactionality is also important for BPEL but it is different to that used by J2EE (with the JTS/JTA interfaces). BPEL uses compensation handlers which reverse the effects of failed processes. i.e. the compensation handler reverses out the changes made by the failed processJ2EE’s transaction model ensures no work happens until it is all complete The J2EE model does not work for long lived transactions which BPEL processes often are.
<compensationHandler> <invoke partnerLink="Seller" operation="SyncPurchase" …> … <compensationHandler> <invoke partnerLink="Seller" operation="CancelPurchase“ …/> </compensationHandler> </invoke>
top related