SlideShare una empresa de Scribd logo
1 de 59
Descargar para leer sin conexión
1	
  
Design Considerations When Optimizing
Business Processes to Automated
Kim Clark, Senior IT Specialist, IBM
Brian Petrini, Senior IT Architect, IBM
1640
2	
  
Please Note
IBM's statements regarding its plans, directions, and intent are subject to change
or withdrawal at IBM's sole discretion.
Information regarding potential future products is intended to outline our general
product direction and it should not be relied on in making a purchasing decision.
The information mentioned regarding potential future products is not a
commitment, promise, or legal obligation to deliver any material, code or
functionality. Information about potential future products may not be incorporated
into any contract. The development, release, and timing of any future features or
functionality described for our products remains at our sole discretion.
Performance is based on measurements and projections using standard IBM
benchmarks in a controlled environment. The actual throughput or performance
that any user will experience will vary depending upon many factors, including
considerations such as the amount of multiprogramming in the user's job stream,
the I/O configuration, the storage configuration, and the workload processed.
Therefore, no assurance can be given that an individual user will achieve results
similar to those stated here.
IBM Software Group
Agenda
§ What do we mean by Progressive Process Optimization?
§ What to we mean by Automation?
§  Deep dive: Progressive Task Optimization
§  Managing change over the longer term
IBM Software Group
What do we mean by Process Optimization?
Create
Account
Capture
Details
Send
Documents
Sign
Documents
Activate
Account
Customer
Call centre
Back office
Notify
Customer
It is critical to drive optimization based on the business goals, not technical optimization capabilities.
Why? – Business Goals
– Reduce headcount
– Maximise high value staff
– Increase volumes
– Meet performance targets
– Improve user experience
– Make better informed decisions
– Improve business agility
How? – Optimization Techniques
– Path Re-engineering
– Resource Utilisation Re-engineering
– Interaction Re-engineering
– Decision Re-engineering
– Automation
IBM Software Group
What do we mean by
progressive process optimization?
“The journey is the goal”
§  Change takes time
– Cultural, and infrastructural changes
can’t be made overnight.
§  Phased delivery
– Change must be delivered iteratively
both within and across projects.
§  Design for change
– Flexible solutions and agile methods
don’t just happen
Kaizen (改善?), Japanese for "improvement", or "change for the better" refers to
philosophy or practices that focus upon continuous improvement of processes
in manufacturing, engineering, game development, and business management.
http://en.wikipedia.org/wiki/Kaizen
IBM Software Group
Process optimization techniques
§  Path Re-engineering
– Refine the routes through the process to reduce steps, or time
–  Parallel flows, sequence improvements, wait time optimization, simulation, fast paths, task prioritisation
§  Resource Utilisation Re-engineering
– Route the work to the appropriately skilled and/or most available people.
–  Participant grouping, substitution, skills based routing.
– 
§  Human Interaction Re-engineering
– Improve the efficiency of the user interface
–  Guided activity, reduced navigation, improved situational context, reduced sign-on, simplified actions, data-pre-
fetch, asynchronous completion
§  Decision Re-engineering
– Extract logic from the process to simplify tasks, improve routing and enable dynamic
change
–  Complex rule automation, path optimization, participant routing refinement, adaptive optimization, prioritisation
§  Re-engineering typically includes Automation
– Move work between people automatically, and perform tasks without user involvement
–  Process modelling, process implementation, basic user interfaces, integration, aggregation, composition,
orchestration
IBM Software Group
An unmodelled process can’t be optimised
There are benefits to process modelling alone
§  Documents a single end-to-end view of the process
–  Shows the participants, the tasks involved, and the flow between them.
–  Process is still completely manual, but better understood.
–  Re-engineering of the process flow is easier due to the improved visibility.
–  Simulations of current and to-be process can be performed.
§  But
–  Participants have to know who does the next step
–  They also need to know how to reliably transfer the work/ownership
–  Participants require significant knowledge.
–  Process re-engineering will result in significant retraining of staff
Create
Account
Capture
Details
Send
Documents
Sign
Documents
Activate
Account
Customer
Call centre
Back office
Notify
Customer
IBM Software Group
Cloud-based platform for collaboration on processes
IBM Software Group
Lean / Six Sigma
§  LEAN
– Focuses on removing waste, reducing end-to-end lead times, and making
work flow.
– Root causes are typically known.
§  SIX SIGMA
– Focuses on reducing variation and defect rates.
– Root causes are not known.
IBM Software Group
Path Re-engineering
Create and Activate
Account
Request
Account
Customer
Call centre
Back office
Notify
Customer
Create
Account
Capture
Details
Send
Documents
Sign
Documents
Activate
Account
Customer
Call centre
Back office
Notify
Customer
IBM Software Group
Agenda
§ What do we mean by Progressive Process Optimization?
§ What to we mean by Automation?
§  Deep dive: Progressive Task Optimization
§  Managing change over the longer term
IBM Software GroupBusiness Process Management (BPM)
provides a single, executable view of the process
After
BPM
Current State Future State
Executive
Management
Call Centre
Regional Risk
Management
Local
Finan
ce and
Ops
Offshore
Operation
1
2
3
4
5
6
Process
Executive
Management
Call Centre
Regional Risk
Management
Local
Finance
and Ops
Offshore
Operation
Process Definition à Management
Orchestration à Defined Work Segments
à Measurable Results
Hidden work à Process Variation à
Complexity à Missing Information à
Chaos
IBM Software Group
Shared Process Model
Reports / Analytics
Managers / Analysts
Business Modeler
Business Modelers
Graphical Implementation
Process Developers
User Portal / Forms
Users
“… the picture IS
the process …”
IBM Software Group
14
Although “process” is at the core, there is more to BPM
IBM Software Group
What are the types of automation?
Automation
Create
Account
Capture
Details
Send
Documents
Sign
Documents
Activate
Account
Customer
Call centre
Back office
Notify
Customer
Create
Account
Capture
Details
Send
Documents
Sign
Documents
Activate
Account
Customer
Call centre
System
Notify
Customer
Review
Documents
IBM Software Group
Types of Automation: Flow Automation
§  Definition
–  Having the end to end process flow controlled by
a system rather than by humans deciding what to
do next.
–  All the individual tasks/activities in the process
could still be manual, it is only the process flow
that has been automated.
§  Issues
–  Might we now just be giving tasks to people
faster than they can complete them?
§  Benefits
–  More efficient throughput
–  Process is known, and made consistent
–  Process state is visible
–  Process is measurable. Process
transitions are captured and can be
reported on.
–  Work is distributed, prioritised
§  Skills Involved
–  BPMN, Lean Systems Thinking, Six
Sigma, simulation, business activity
monitoring
Create
Account
Capture
Details
Send
Documents
Sign
Documents
Activate
Account
Customer
Call centre
Back office
Notify
Customer
IBM Software Group
Flow automation brings runtime statistics
Create
Account
Capture
Details
Send
Documents
Sign
Documents
Activate
Account
Customer
Call centre
Back office
Notify
Customer
End-to-end
Customer
visible delays
Queuing time
Customer
response time
10 mins
15 mins
20 mins 2 mins
2 mins
Business Goals + Runtime Statistics
= Optimization Recommendations
IBM Software Group
Types of Automation: Task Automation
§  Definition
–  Taking an individual task that is currently
done by a human, and enabling a system
to perform the action instead.
–  This does not necessarily mean it is also
part of an automated process. It could be
called by the user via their user interface,
and the process flow still belong to the
users.
§  Issues
–  Is the task worth automating? How often
does it happen? How much of the current
end to end time does it take?
§  Benefits
–  Faster activity completion
–  Improved data integrity and consistency
–  Higher availability
§  Skills involved
–  User interface design, integration, SOA
Create
Account
Capture
Details
Send
Documents
Sign
Documents
Activate
Account
Customer
Call centre
System
Notify
Customer
Review
Documents
IBM Software Group
Agenda
§ What do we mean by Progressive Process Optimization?
§ What to we mean by Automation?
§  Deep dive: Progressive Task Optimization
§  Managing change over the longer term
Progressive Task Optimization
1. Assisted Swivel Chair Tell me when and how to do the task, and let the next
person in line know when I’m done.
2. Linked external window
with request context
Take me to the place where I can do the task, and fill in
the details for me.
3. Linked external window
with request context and
callback
Take me to the place where I can do the task, fill in the
details. When I complete the work, send the results back
to the process and move the process onwards.
4. Integrated linked external
window
Combine all the places I normally go to together on one
integrated page so it feels like one system.
5. Decision supported sub-
process
Ensure I only do the task when it’s really necessary, and
that I only the part of the task that I’m most suited to.
6. Custom UI calling services Create a screen specifically for my task, that makes me
as effective as possible.
7. External UI calling BPM
API
Bring the tasks seamlessly into my existing system’s
user interface.
8. Fully automated task Do the task for me.
There are many options between a manual task, and an automated task.
ManualAutomated
IBM Software Group
1. Assisted “Swivel Chair”
§  Process model is implemented in the simplest form in a BPMS.
–  Work is transferred between the participants automatically, and prioritised
automatically. Workload distribution is managed automatically including for
example substitutes during vacations, and balancing work across multiple teams.
Managers can focus on assistance rather than distribution of work.
§  Tasks are screens explaining what to do with context specific data.
–  Only the relevant data and guidance for the task is presented to the user.
–  A new participant would need less training.
–  Lower skilled workers could be used.
§  No integration with other systems.
–  This level of automation is very simple to implement since the BPMS is a
completely self contained solution.
§  Issues
–  User must return to the task to say they have completed it.
–  If we require data from the other system in the process, the user must re-key it.
–  We have no idea whether the user really did the work, or whether they did it
correctly.
Capture
Details
Create
Account
Send
Documents
Sign
Documents
Activate
Account
Customer
Call centre
Back office
Notify
Customer
1.  Perform a credit check on the customer using the
standard procedure to ensure that their credit
rating is above the threshold set in the guidelines.
2.  If the credit score is acceptable, initialise an
account using the account setup guidelines.
Instructions
SmithSurname: JohnFirstname:
15/07/1985DOB: 1, High St., LondonAddress:
800Score: AC3957495New Account Num:
CompleteClose
“Tell me when and how to do the task, and let the next person in line know when I’m done”
IBM Software Group
2a. Link with request context – via pop-up
§  Instructions provide links to external systems’
screens
–  User does not have to navigate other system
–  Screen is already written
–  Users may already be familiar with the popup screen
–  Changes to the screen don’t directly affect the process.
§  Request context passed via link
–  Context can be coded into the URL (or via HTTP POST
parameters).
–  May allow navigation to correct screen, and even passing of
data to avoid re-keying of request data.
§  Issues
–  User must understand enough about the other system to
complete the action.
–  No communication is possible between the two windows due
to “same origin policy”* so:
–  If we require data from the external system in the process, the user
must re-key it.
–  User must return to the task window to say they have completed it.
–  Requires that other systems allow URL based navigation and/
or data passed in this way. If it does not, it would require
changes to that system.
–  What is the security model? How will the user be identified and
logged onto the external system?
1.  Perform a credit check on the customer using the
credit check system to ensure that their credit
rating is above the threshold set in the guidelines.
2.  If the credit score is acceptable, create an account
via the CRM system.
Instructions
SmithSurname: JohnFirstname:
15/07/1985DOB: 1, High St., LondonAddress:
800Score: AC3957495New Account Num:
CompleteClose
Surname:
Firstname:
DOB:
Address:
Create New Account
CRM System – Create New Account
15/07/1985
1, High St., London
Smith
John
http://.../crm/createaccount?surname=Smith...
re-key
AC3957495Account Num:
*See later slides for options
“Take me to the place where I can do the task, and fill in the details for me”
IBM Software Group
2b. Link with request context – embedded via iFrame
§  Embedded frame
–  An alternative to the pop-up is to embed the
external system’s screen using an iFrame.
–  Again, if the external system can be navigated,
and it’s page populated using the URL and
HTTP parameters, then the iFrame will
“appear” to be integrated into the page.
§  Issues
–  The iFrame is essentially a still seen by the
browser as a completely separate browser
window. All the same issues as before
therefore still exist.
–  Note that for security reasons it is impossible
to navigate in java script into the iFrame if it
comes from a different domain to the main
page. This is most noticeable in the fact that
the user still has to re-key any data that needs
to be drawn back into the process from the
external system.
1.  Perform a credit check on the customer using the
credit check system to ensure that their credit
rating is above the threshold set in the guidelines.
2.  If the credit score is acceptable, create an account
using the CRM panel below.
Instructions
SmithSurname: JohnFirstname:
15/07/1985DOB: 1, High St., LondonAddress:
800Score: AC3957495New Account Num:
CompleteClose
Create New Account
CRM – Create New Account
re-key
AC3957495Account Num:
Surname:
Firstname:
DOB:
Address:
15/07/1985
1, High St., London
Smith
John
“Take me to the place where I can do the task, and fill in the details for me”
IBM Software Group
Cross-domain communication and the “same origin policy”
Main page
iFrame
Proxy Server
www.proxydomain.com
Web Server
www.domain2.com
Web Server
www.domain1.com
Main page
iFrame Web Server
www.domain2.com
Web Server
www.domain1.com
Javascript cannot navigate between main page and iFrame due to “same origin policy”.
With a proxy, the main page and iFrame both originate from same domain
from the browser’s perspective, so navigation is now possible. Only works
for relatively simple pages. Security complexities soon become apparent.
For more information on postMessage and ways around the “same origin policy”:
https://www.ibm.com/developerworks/web/library/wa-crossdomaincomm
IBM Software Group
3. Link with call back
§  Completion of work in the external system results in a call back
to BPMS triggering an intermediate event. e.g.
–  Web service call to BPMS
–  Queue topic to which BPMS subscribes
–  BPMS polling an external system
§  User does not need to:
–  Wait for the external system to complete its work
–  Re-key any data from the external system into the task
–  Return to the task window and complete the task
§  Issues
–  Reliant on changes to external system, or access to it at low level.
–  The integration for the call back may be point to point – not very re-usable.
–  Note anti-pattern relating to “non-tasks”, and introduction of event
gateway.
Surname:
Firstname:
DOB:
Address:
Create New Account
CRM GUI – Create New Account
15/07/1985
1, High St., London
Smith
John
AC3957495Account Num:
Capture
Details
Create
Account
Send
Documents
Sign
Documents
Activate
Account
Customer
Call centre
Back office
Notify
Customer
CRM
System
“Take me to the place where I can do the task, fill in the details. When I complete the work, send
the results back to the process and move the process onwards.”
http://.../crm/createaccount?surname=Smith...
IBM Software Group
4. Integrated linked external window
§  Integrated frame/window
– Communication enabled
between task and embedded
window
§  Issues
– postMessage required
changes to the external
application to send events to
task.
– postMessage only supported
on HTML 5 enabled browsers
1.  Perform a credit check on the customer using the
credit check system to ensure that their credit
rating is above the threshold set in the guidelines.
2.  If the credit score is acceptable, create an account
using the CRM panel below.
Instructions
SmithSurname: JohnFirstname:
15/07/1985DOB: 1, High St., LondonAddress:
800Score: AC3957495New Account Num:
CompleteClose
Create New Account
CRM System – Create New Account
postMessage
AC3957495Account Num:
Surname:
Firstname:
DOB:
Address:
15/07/1985
1, High St., London
Smith
John
For more information on postMessage and ways around the “same origin policy”:
https://www.ibm.com/developerworks/web/library/wa-crossdomaincomm
“Combine all the places I normally go to together on one integrated page so it feels like one system”
IBM Software Group
Cross-domain communication – new options in HTML 5
§  “postMessage” facility
– Windows can explicitly listen for
messages from other windows
that originate from a different
domain.
– Standardised via HTML 5
§  Issues
– Still relatively immature
– Not supported by older browsers
– Requires new code in source of
both main page and iFrame
page.
Main page
iFrame
parent.window.postMessage(
accountNumber, “http://domain”);
window.addEventListener(
function(event) {
$(“newaccountnumber”).innerHTML
= event.data;
}
);
For more information on postMessage and ways around the “same origin policy”:
https://www.ibm.com/developerworks/web/library/wa-crossdomaincomm
IBM Software Group
Create Account
5. Decision Supported
§  Reduce how often the task is included in the process
–  Average time of the task is reduced.
–  Better distribution of work between junior and senior resource.
–  Really a “flow optimization”, but could be seen as “task optimization” if we consider that the sub-process as still representing the
original task
§  Externalise the decision criteria to a business rule
–  Analysis of process statistics may turn up further opportunities to bypass the task, and these can then be introduced at runtime.
–  Passing more process data to the rule allows for most options at runtime. However, it also couples the rule to the process data
model.
–  Rules can be derived from historical data from the current process. Look for trends in the monitored data.
Check
Credit
Capture
Details
Initialise
Account
Call
centre
Back
Office
(Juniors)
Credit
Check?
Yes (1%)
No (99%)
Business Rule Management System
Credit Check Rules
Rule 1: Customer is staff member
Rule 2: Customer has balance > $1000
Rule 3: …
Back
Office
(Seniors)
“Ensure I only do the task when it’s really necessary, and that I only the part of the task that I’m
most suited to”
IBM Software Group
6. Custom UI calling services
§  Single user interface, with service
calls to underlying systems
–  UI calls services via ESB, or directly via
API
–  Users need not have to be familiar with
user interfaces of underlying systems.
–  No re-keying of data
–  Resulting data easily drawn back into the
process.
–  If errors occur, user is still has visibility of
where the error occurred in order to take
remedial action.
§  Issues
–  Required systems must be available via
an exposed API.
–  Response from services must be real-
time. 1-3 seconds typically.
–  User is still co-ordinating the requests to
the systems. Could be further automated.
–  User interface is coupled to the APIs of
other systems. ESB pattern should be
considered.
1.  Retrieve a credit check on the customer using
button below to ensure that their credit rating is
above the threshold set in the guidelines.
2.  If the credit score is acceptable, create an account
using the button below.
Instructions
SmithSurname: JohnFirstname:
15/07/1985DOB: 1, High St., LondonAddress:
Score:
Account:
CompleteClose
Credit Check
Create Account
CRM
System
Credit
Vetting
Agency
Validate Address
Address
Validation
Service
“Create a screen specifically for my task, that makes me as effective as possible.”
IBM Software Group
Interface Characteristics
Functional Definition
Principal data objects
Operation/function
Read or change
Request/response objects
Technical Interface
Transport
Protocol
Data format
Interaction type
Request-response or fire-forget
Thread-blocking or asynchronous
Batch or individual
Performance
Response times
Throughput
Volumes
Concurrency
Message size
Integrity
Validation
Transactionality
Statefullness
Event Sequence
Idempotence
Security
Identity/Authentication
Authorisation
Data Ownership
Privacy
Reliability
Availability
Delivery assurance
Error Handling
Error Management capabilities
Known exception conditions
“Interface Characteristics: Capturing Integration Complexity for BPM and SOA”
http://www.ibm.com/developerworks/websphere/techjournal/1112_clark/1112_clark.html
IBM Software Group
7. External UI calling task API
§  External system’s UI augmented to
include data from BPM
–  Users remain within the system they are
already familiar with.
–  UI can change largely independently of
the process.
–  UI can be completely custom, so can
really hone the design based on user
centred design, minimising key counts,
etc.
§  Issues
–  Users unaware they are interacting with a
business process
–  CRM system UI programmers need to
familiarise with the BPM API.
–  CRM system is coupled to BPM. May be
better to surface the BPM API as services
on an ESB.
–  What about transactionality between the
calls to “Create Account” and “Update
Task”
Create New Account
CRM System – Create New Account
AC3957495Account Num:
Surname:
Firstname:
DOB:
Address:
15/07/1985
1, High St., London
Smith
John
BPM API is documented:
http://publib.boulder.ibm.com/infocenter/dmndhelp/v7r5mx/index.jsp?topic=%2Fcom.ibm.wbpm.bpc.doc%2Ftopics%2Fcdev_restapis.html
Summary of usage:
http://www.ibm.com/developerworks/websphere/library/techarticles/1108_thaker/1108_thaker.html?ca=drs-
BPM
System
Jane Jones 23/09/1990
Fred Bloggs 13/10/2002
John Smith 15/07/1985
Account creation requests
GetTaskList
Update
Task
CRM
System
Create
Account
“Bring the tasks seamlessly into my existing system’s user interface.”
IBM Software Group
8a. Partially automated task
§  Minimise the user interaction
–  Data for the task is pre-fetched. Interaction need not
be real-time – could be asynchronous enabling better
workload balancing on back end systems.
–  Actions performed as a result of the task are done
asynchronously following the task.
–  Data is presented in a context specific format
–  Human resource is used only for what it is best at –
e.g. complex decision making
–  Good for “mobile” users. Review task is much
simpler, and can be viewed and acted upon on a
smaller device. E.g. “inline tasks completion”
§  Issues
–  User loses awareness of how to interact with back
end systems should they need to revert to manual
processing.
–  Changes to the back end systems’ APIs break the
process. (ESB pattern would help with decoupling
here).
–  User may need results from the follow on actions (e.g.
may need the account number created to pass back
to the customer).
–  Services/APIs need to be appropriately exposed for
use by automated consumers
Check
Credit
Capture
Details
Initialise
Account
Call
centre
Back
office
Credit
Check?
No
Yes
System
CRM
System
Credit
Vetting
Agency
Business
Rules
Review
Create Account
“Do the task for me, and I’ll just review it.”
IBM Software Group
SRP
GUI
LRP
Presentation
Layer
Process and
Composite Service
Layer
Atomic
Service
Layer
How different are UIs and Processes as requesters?
GUI Graphical User Interface HT Human Task SRP Short-running Process LRP Long-running Process
Synchronous call
waiting HT
IBM Software Group
Differences between UI consumer and BPM consumer
Characteristic User Interface
Consumer
Automated
Consumer
Functional Full data typically required
Response may have to be acknowledgement
rather than completion
Opportunity for key data only.
Can wait for completion
Data Integrity Rarely transactional all the way from the UI itself.
Optimistic locking generally required for scalability
Idempotence may be required to avoid duplicate
submissions
Event sequencing less likely to be an issue.
Can participate or even control a global
transaction
Pessimistic locking often preferable for simplified
error handling
Idempotence less of an issue if transactionality
present.
Event sequencing and race conditions become
more common concern
Error Handling User often part of error handling strategy
Data validation ideally handled by user screen
User not online, so most error paths must be
codified.
Late validation errors very challenging. Validation
must be pushed back to capture point.
Security Requestor’s identity can be used for actions.
Adjustments to the data can be handled by the
requestor immediately.
Requestor no longer present when doing actions.
Whose identity should be used and how.
How are asynchronous errors are resolved, who
can see/change the data?
Availability Services must be available when users are
present.
Brief outages can be tolerated.
Performance Response times must be user acceptable, even
at peak usage times. Batch processing generally
unacceptable.
Response times can be longer. Throughput is the
priority. Can process in batch if necessary.
For further detail see “Transitioning from Integration and SOA to BPM” at:
http://www.websphereusergroup.org.uk/wug/agenda/33
IBM Software Group
Create Account
8b. Fully automated task
§  Remove user interaction
–  End to end time vastly reduced
–  Throughput vastly increased (orders of
magnitude)
–  Headcount reduced/released for more
important work
§  Issues
–  Many exception handling now pushed to
the domain of IT operations.
–  Exceptions harder to diagnose.
–  Business less familiar with the process
and the back end systems, so less able
to assist with exceptions.
Check
Credit
Capture
Details
Create
Account
Call
centre
Credit
Check?
No
Yes
System
CRM
System
Credit
Vetting
Agency
Credit
Check
Rules
Review
Review
Rules
“Just do the task for me.”
IBM Software Group
What is STP?
§  STP = “Straight Through Processing”
– The primary goal of STP is to increase throughput, typically by removing
humans from the process.
– This requires both flow and task automation and also significant re-
engineering.
– If the end goal is STP, you must design for this from the start.
§  STP = “Fully automated?” – Rarely
– STPs automate the most commonly traversed paths.
– Most have rarely occurring edge cases that are still handled manually.
Create
Account
Notify
Customer
System Activate
Account
IBM Software Group
Is full automation the goal?
§  “Should we automate a person pushing 2 buttons once a
year?”
§  “It costs $100K to automate the work and $200K to make
the team redundant. We will then save $20K each year as
a result.”
§  “Press 1 for your account balance, 2 for new credit card or
9 to listen to another 100 choices"
§  “What do you mean, I need to land the plane? I normally
just push a button. I haven’t had to actually land a plane in
20 years!”
IBM Software Group
Business Goals for Process Optimization
Reduce headcount Handle the same amount of work with less people in
order to cut costs, or free up resources for alternate
work.
Maximise high value
staff
Free up core knowledge workers from mundane activity,
to focus on higher value activities, in order to gain
greater value from the investment in high cost staff.
Increase volumes Scale up the volume of process instances that can be
handled in a given time in order to increase retain or
increase profit margins.
Meet performance
targets
Focus on performance indicators such as “end to end”
process time, to avoid being penalised for failing to meet
service level agreements (SLAs).
Improve user
experience
Improve user traction with the process, in order to
employee retention, and/or retain customers.
Make better informed
decisions
Expose the aggregate process statistics to enable more
insightful decisions due to the runtime statistics naturally
available from the automation of process flows.
Improve business
agility
Enable the business to react more quickly to changes in
the market due to the adoption of agile methods and
tools
IBM Software Group
Agenda
§ What do we mean by Progressive Process Optimization?
§ What to we mean by Automation?
§  Deep dive: Progressive Task Optimization
§  Managing change over the longer term
IBM Software Group
Design time “green field” optimizations
When does optimization occur?
Project 1 Project 2 Project 3
Production
Production time “brown field” optimizations
Initial Development
Changes via runtime “points of variability”
“green field”
optimizations
IBM Software Group
How is change management different
§  Green field process change (Initial implementation time)
– Changes can be deployed immediately by replacing the process
application.
– Existing test process instances can typically be re-created.
§  Brown field process change (Production time changes)
– Process instances are present, and may be for some time.
– Changes to the following require a new process application
–  Process flow (BPMN/BPEL)
–  Process data model
–  User interfaces (coaches/task clients)
–  Inline rules
–  Interfaces/services
– To take full advantage of the changes, we must migrate process instances
– We need to consider how intermediate events will correlate with process
instances.
– Points of variability need to be designed in, and externalised if changes
are going to be possible without re-deployment.
IBM Software Group
Iteration cycles across the SOA Layers
Shorter
Iteration
Cycle
Longer
IBM Software Group
Iteration cycles within the SOA Layers
§  Complexity of implementation
–  The level of complexity to implement a given service operation becomes higher as it moves down through the layers. An apparently simple
operation for a consumer may result in aggregation, or multiple transactions, or even a trigger a whole business process in the layers
below, and where the service exposure may be a straightforward web service, the actual integration may be complex data formats over
unusual protocols. As such, small changes in the upper layers typically balloon into larger changes lower down.
§  Dependencies between layers
–  Components lower in the stack typically have more things dependant on them for re-use, so are very quickly locked into providing
backward compatibility. This results in more complex versioning mechanisms, and greater re-factoring considerations.
§  Persistence of in flight data
–  Artefacts lower in the stack are more likely to have persistent data associated with them (such as business process instances, and human
tasks) resulting in data migration challenges between iterations.
§  Visibility to the business
–  Presentation layers (graphical user interfaces), by their nature, are the main point of contact between the business and the system. As
such they receive significantly more attention in terms of incoming changes. Fortunately also, sitting at the top of the stack, they can
undergo significant change without enforcing any changes to the lower layers. Therefore the pace of change specifically in a
presentational component can be extremely high compared to the other layers.
Shorter
Iteration
Cycle
Longer
Some form of iterative design can be done for
implementation at all levels within the
reference architecture.
However, it is important to recognise that there
are a number of reasons that iteration cycles
often need to be longer as we move deeper in
the stack.
IBM Software Group
Optimization and Agility – orthogonal concerns
§  Optimization: Implement changes that improve KPIs
– Whether those changes are implemented in an agile way or not, if the
performance increases, it is still optimization.
§  Agility: Implement changes rapidly and iteratively
– Some changes contribute to optimization, but some do not. They may for
example be adding additional functionality to the process to meet new needs.
Adding changes for example for regulatory compliance, might even reduce
performance.
– Agility is about optimising the implementation process.
IBM Software Group
Runtime Optimization:
Enabling points of variability in production
§  Decision logic and values
–  Externalise to database tables (values) or rules (logic).
§  Process flow
–  Publish new versions of flow, and migrate process instances as necessary. (Be aware of process migration
constraints)
§  User interface
–  Make key aspects of the UI dynamically configurable. (Consider testability)
–  Ensure user interface is separately deployable from process application.
§  Participant routing
–  Use externalised groups (e.g. from LDAP)
–  Externalise routing service (e.g. use rules/tables)
§  Reporting
–  Externalise reporting framework
–  Ensure suitably rich data set is available exposed up front (Consider performance implications)
§  Integration points
–  Decouple process from endpoint using persistence layer
–  Expose integration points as re-usable services using the ESB pattern.
§  Data model
–  Reduce touch points on the parts of the data model that may change.
–  Externalise and/or make dynamic the parts of the process that do touch data. (Consider testability)
–  Hold only high level metadata/keys in the process. (Consider UI response times)
Anything could change. Focus on what will change.
The more flexible you make it, the harder it is to test.
A runtime process is very deliberately constrained, or testing it would be impossible.
However, it is recognised that some things are more likely to change over time.
IBM Software Group
Improving dynamicity in very long lived or complex processes
§  Pluggable Sub-processes §  Chained Processes
Very Complex Process
Controlling Long-Lived Process
Short-
lived
process
Short-
lived
process
Long-
lived
process
Short-
lived
process
Very Long Process
Long-
lived
process
Short-
lived
process
Long-
lived
process
Long-
lived
process
New or existing system or data store
IBM Software Group
Facades for service versioning
Logical Component Boundary
Module ModuleModule
Update
Customer
Delete
Customer
v1
Retrieve
Customer
Create
Customer
v1
Module
Delete
Customer
v2
Customer
Object v2
Customer
Object v1
Customer
Object v1
Customer
Object v1
Customer
Object v1
Customer
Object v1
Module
Create
Customer
v2
Customer
Object v1
Customer Service Façade v1
Module
Create Retrieve Update Delete
Module
Customer Service Façade v2
Customer
Object v2
Create Retrieve Update Delete
Maps
Routing
Module
Maps
IBM Software Group
Versioning Strategy for Interfaces – Compatibility
§  Compatible changes
Consumer not affected
– Additional operations
– Additional independent data structures
– New optional structures/attributes on the request
object
– New runtime (unchecked/undeclared)
faults
§  Incompatible changes
Consumer affected unless provided as a
new endpoint
– Changes to operation parameters*
– Changes to existing data structures
–  New mandatory structures/attributes on the
request object
–  New parameters (optional or mandatory) on the
response object**
– Changes to existing operation names
– Changes to namespaces
– New business (checked/declared) faults
* and **
A blanket rule on there being no changes to the structure of response objects can be overly restrictive. It can make it extremely
difficult for service implementations to evolve. An alternative approach where additional data within response objects must
tolerated by consumers can reduce implementation and refactoring costs, but at the loss of some interface contract precision,
added complexity around testing and some introduced runtime risk.
IBM Software Group
Types of response data structure change:
Additional attributes
<response>
<order>
<reference>123<reference>
<quantity>2</quantity>
<productId>KI987</productId>
</order>
</response>
<response>
<order>
<reference>123</reference>
<quantity>2</quantity>
<productId>KI987</productId>
<status>SHIPPED</status>
</order>
</response>
Formally not backward compatible as consumer is passed unexpected data.
However…
– This scenario is very common, due to general incremental evolution of interfaces over
time.
– Treating this as non-backwardly compatible change is very expensive both in terms of
service implementation refactoring and also for existing consumers what may want the
change but would have to move to a new version of the interface to use it.
– Many (but not all) consumers can accommodate it without any refactoring of consumer
code.
– Primarily depends on whether consumers validate the overall data structure (e.g. against
the XML Schema) or simply extract the parts they need (e.g. via XSLT/xpath).
– Decision can be made within a domain of governance to consider this backward
compatible.
IBM Software Group
Cross Domain Model
Domain 2
Specific Model
Domain 3
Specific Model
Domain 1
Specific Model
Domain 2
Specific Model
Domain 3
Specific Model
Domain 1
Specific Model
Handling Cross Domain Dependencies
E
F
A
B
C D
C’
E
F
A
B
C
D
A
Entity Definition
(i.e. a schema for a BO)
Exposed Service
showing the data
definitions it uses
F’
We often find that we can’t create perfect dividing lines between
domains, and there is still some need for services to use some objects
from other domains. This could suggest that we have the domain
boundaries wrong, but it may be a genuine case. How can we handle
this interdependency between domains? We don’t want consumers of
the services of one domain to have to include all the object definitions
from other domains.
There are a number of different mechanisms here depending on the
situation:
Definition E has been moved into a cross components library that it can be
assumed all domains will probably need to import. Objects in this domain
must be in very common use, and must be extremely stable in their
definition as changes to them will cause a significant refactor/retest.
Common examples are often not business data, and more likely to be
technical objects used by frameworks such as a logging object. .
Definition F’ is the same as E, but where it has been found that when the
definition is used in other domains, it typically doesn’t need the full
complexity it needs in its own domain, so the shared copy is simplified to
make it more usable. Again, they must be in common use and extremely
stable. An example would be the small, but very specific amount of
customer data often required contain just title, first name, surname,
customer number etc, but not the full customer object graph with it’s related
child objects.
Definition C’ is a simplified object, like F’, but it is not commonly used
across domains or has a format specific to the use in Domain 1, or is
insufficiently stable to be shared in the cross domain model. An example
would be the customer data required on a quotation form specific to a type
of insurance product. A health insurance might need to capture a small
amount of health relevant information such as whether someone is a
smoker.
IBM Software Group
Data Object A
- Aggregated Attribute 1
- Aggregated Attribute 2
Data encapsulation in process variables
Data Object type “Any”
Type A
Type B
Short-running
component
that
understands
Child B
Short-running
component
that
understands
Child A
Long Running Business Process
invokes invokes
reads aggregates
but not child objects
aggregated data
e.g. sum, count
The long running process need only understand the wrapper object
The more replaceable short running components understand the child objects
“router”
IBM Software Group
Dynamic SOA and BPM
Best Practices for Business Process Management and SOA Agility
Author:
Marc Fiammante
Publication Date:
July 24, 2009
ISBN:
978-0137018918
IBM Software Group
Common pitfalls in optimization
§  Don’t assume you must optimize all tasks to the same level
– Use simulation or historical statistics to optimize the critical path
§  Don’t do it all in one go
– Recognise the benefits of Progressive Task Optimization
§  Optimization must be relevant
– Optimize to a quantifiable, business goal such as a service level agreement
§  Don’t over-optimise
– It might not be advantageous to be able to pay invoices more quickly!
Agenda – Summary
§ What do we mean by Progressive Process Optimization?
§ What to we mean by Automation?
§ Deep dive: Progressive Task Optimization
§ Managing change over the longer term
IBM Software Group
This presentation uses content from the following:
§  Information on postMessage and other ways around the “same origin policy”:
–  https://www.ibm.com/developerworks/web/library/wa-crossdomaincomm
§  Interface Characteristics:
Capturing Integration Complexity for BPM and SOA
–  http://www.ibm.com/developerworks/websphere/techjournal/1112_clark/1112_clark.html
§  SOA maturity in relation to solution design
–  http://www.ibm.com/developerworks/websphere/library/techarticles/0904_clark/0904_clark.html
§  “Transitioning from Integration and SOA to BPM”
–  http://www.websphereusergroup.org.uk/wug/agenda/33
§  Process implementation types:
Patterns based design for process-based solutions
–  http://www.ibm.com/developerworks/websphere/library/techarticles/1004_clark/1004_clark.html
§  “Process-oriented modeling for SOA”
–  http://www.ibm.com/developerworks/architecture/library/ar-procmod1
IBM Software Group
Other useful references
§  Dynamic SOA and BPM: Best Practices for Business Process Management
and SOA Agility
– Marc Fiammante, 2009. ISBN: 978-0137018918
§  BPM API
–  http://publib.boulder.ibm.com/infocenter/dmndhelp/v7r5mx/index.jsp?topic=%2Fcom.ibm.wbpm.bpc.doc%2Ftopics%2Fcdev_restapis.html
–  and a summary of its usage:
–  http://www.ibm.com/developerworks/websphere/library/techarticles/1108_thaker/1108_thaker.html?ca=drs-
§  Scaling BPM Adoption from Project to Program with IBM BPM
–  http://www.redbooks.ibm.com/abstracts/sg247973.html
§  Five Guidelines to Better Process Modeling
–  http://wiki.lombardi.com/display/commwiki/Five+Guidelines+to+Better+Process+Modeling
§  The Enterprise Service Bus, re-examined
Updating concepts and terminology for an evolved technology
–  http://www.ibm.com/developerworks/websphere/techjournal/1105_flurry/1105_flurry.html
§  “Design service interfaces with industry models”
–  http://www.ibm.com/developerworks/industry/library/ind-models/index.html
© 2010 IBM Corporation
57
IBM Software Services Zone for WebSphere
ibm.com/websphere/serviceszone/
§  Emerging technology resources including proven,
prescribed, and repeatable assets & offerings to
accelerate Mobile, Cloud, and BPM adoption.
§  Visibility across worldwide skills, capabilities, and
education that only IBM Software Services for
WebSphere can bring to your project.
§  Access to WebSphere practitioners’ insight on
project trends, best practices and emerging technologies
through personal videos, blogs, articles & more.
§  Discover defined and proven offerings to get your
project started quickly.
What’s New
The destination for WebSphere services-related resources, offerings & technical skills
to help you achieve innovative growth.
Visit us in the Solution Center!
• Ped SE-2: IBM Software Services for WebSphere
• Ped SE-3: IBM WebSphere Education
• Process Innovation Zone
58	
  
We love your Feedback!
§  Don’t forget to submit your Impact session and speaker
feedback! Your feedback is very important to us, we use it to
improve our conference for you next year.
§  Go to impactsmartsite.com from your mobile device
§  From the Impact 2012 Online Conference Guide:
–  Select Agenda
–  Navigate to the session you want to give feedback on
–  Select the session or speaker feedback links
–  Submit your feedback
59	
  
© IBM Corporation 2012. All Rights Reserved.
IBM, the IBM logo, ibm.com are trademarks or registered
trademarks of International Business Machines Corp.,
registered in many jurisdictions worldwide. Other product and
service names might be trademarks of IBM or other companies.
A current list of IBM trademarks is available on the Web at
“Copyright and trademark information” at www.ibm.com/legal/
copytrade.shtml.
Copyright and Trademarks

Más contenido relacionado

La actualidad más candente

IBM BPM off prem options
IBM BPM off prem options IBM BPM off prem options
IBM BPM off prem options
sflynn073
 
A Service Oriented Architecture For Order Processing In The I B M Supp...
A  Service  Oriented  Architecture For  Order  Processing In The  I B M  Supp...A  Service  Oriented  Architecture For  Order  Processing In The  I B M  Supp...
A Service Oriented Architecture For Order Processing In The I B M Supp...
Kirill Osipov
 
Driving business-agility-with-business-process-management-slide
Driving business-agility-with-business-process-management-slideDriving business-agility-with-business-process-management-slide
Driving business-agility-with-business-process-management-slide
Aericon
 
How Nationwide Insurance use IBM Decision Manager and BPM
How Nationwide Insurance use IBM Decision Manager and BPM How Nationwide Insurance use IBM Decision Manager and BPM
How Nationwide Insurance use IBM Decision Manager and BPM
sflynn073
 

La actualidad más candente (19)

Impact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top PracticesImpact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top Practices
 
BPM Benefits
BPM BenefitsBPM Benefits
BPM Benefits
 
InterConnect 2017 HBP-2884-IBM BPM upgrade and migration made easy
InterConnect 2017 HBP-2884-IBM BPM upgrade and migration made easyInterConnect 2017 HBP-2884-IBM BPM upgrade and migration made easy
InterConnect 2017 HBP-2884-IBM BPM upgrade and migration made easy
 
IBM Cloud University 2017-IDPA009-IBM BPM Upgrade and Migration Made Easy
IBM Cloud University 2017-IDPA009-IBM BPM Upgrade and Migration Made EasyIBM Cloud University 2017-IDPA009-IBM BPM Upgrade and Migration Made Easy
IBM Cloud University 2017-IDPA009-IBM BPM Upgrade and Migration Made Easy
 
IBM Smarter Business 2012 - Headless BPM
IBM Smarter Business 2012 - Headless BPMIBM Smarter Business 2012 - Headless BPM
IBM Smarter Business 2012 - Headless BPM
 
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...
 
IBM BPM off prem options
IBM BPM off prem options IBM BPM off prem options
IBM BPM off prem options
 
What’s new in IBM BPM 8.5.7 CF2016.06 - CF2017.03
What’s new in IBM BPM 8.5.7 CF2016.06 - CF2017.03What’s new in IBM BPM 8.5.7 CF2016.06 - CF2017.03
What’s new in IBM BPM 8.5.7 CF2016.06 - CF2017.03
 
A Service Oriented Architecture For Order Processing In The I B M Supp...
A  Service  Oriented  Architecture For  Order  Processing In The  I B M  Supp...A  Service  Oriented  Architecture For  Order  Processing In The  I B M  Supp...
A Service Oriented Architecture For Order Processing In The I B M Supp...
 
Best practices in deploying IBM Operation Decision Manager Standard 8.8.0
Best practices in deploying IBM Operation Decision Manager Standard 8.8.0Best practices in deploying IBM Operation Decision Manager Standard 8.8.0
Best practices in deploying IBM Operation Decision Manager Standard 8.8.0
 
Driving business-agility-with-business-process-management-slide
Driving business-agility-with-business-process-management-slideDriving business-agility-with-business-process-management-slide
Driving business-agility-with-business-process-management-slide
 
Bpms ecu2014
Bpms ecu2014Bpms ecu2014
Bpms ecu2014
 
IBM Business Process Management 8.5
IBM Business Process Management 8.5IBM Business Process Management 8.5
IBM Business Process Management 8.5
 
How Nationwide Insurance use IBM Decision Manager and BPM
How Nationwide Insurance use IBM Decision Manager and BPM How Nationwide Insurance use IBM Decision Manager and BPM
How Nationwide Insurance use IBM Decision Manager and BPM
 
EclipseCon BPM Day Ludwigsburg - Roundtrip Modelling with Eclipse Stardust
EclipseCon BPM Day Ludwigsburg - Roundtrip Modelling with Eclipse StardustEclipseCon BPM Day Ludwigsburg - Roundtrip Modelling with Eclipse Stardust
EclipseCon BPM Day Ludwigsburg - Roundtrip Modelling with Eclipse Stardust
 
Service Testing & Virtualization in an Enterprise Environments
Service Testing & Virtualization in an Enterprise EnvironmentsService Testing & Virtualization in an Enterprise Environments
Service Testing & Virtualization in an Enterprise Environments
 
IBM BPM On Cloud demo Sept 4 2015
IBM BPM On Cloud demo Sept 4 2015IBM BPM On Cloud demo Sept 4 2015
IBM BPM On Cloud demo Sept 4 2015
 
Open MIc - Best Practices SCN Migration
Open MIc - Best Practices SCN MigrationOpen MIc - Best Practices SCN Migration
Open MIc - Best Practices SCN Migration
 
What's new in IBM BPM 8.5.7
What's new in IBM BPM 8.5.7What's new in IBM BPM 8.5.7
What's new in IBM BPM 8.5.7
 

Similar a Impact 2012 1640 - BPM Design considerations when optimizing business processes to automated

Southwest Airlines: How to make the great leap from paper to digital
Southwest Airlines: How to make the great leap from paper to digitalSouthwest Airlines: How to make the great leap from paper to digital
Southwest Airlines: How to make the great leap from paper to digital
BlueFish
 
IBM BPM Case Manager for knowledge workers
IBM BPM Case Manager for knowledge workersIBM BPM Case Manager for knowledge workers
IBM BPM Case Manager for knowledge workers
sflynn073
 
Collaborative Customer Interaction Management

Collaborative Customer Interaction Management
Collaborative Customer Interaction Management

Collaborative Customer Interaction Management

Capgemini
 

Similar a Impact 2012 1640 - BPM Design considerations when optimizing business processes to automated (20)

DCE - IBM Blueworks LIVE
DCE - IBM Blueworks LIVEDCE - IBM Blueworks LIVE
DCE - IBM Blueworks LIVE
 
Business Architecture Patterns (BPM in Practice conference)
Business Architecture Patterns (BPM in Practice conference)Business Architecture Patterns (BPM in Practice conference)
Business Architecture Patterns (BPM in Practice conference)
 
Southwest Airlines: How to make the great leap from paper to digital
Southwest Airlines: How to make the great leap from paper to digitalSouthwest Airlines: How to make the great leap from paper to digital
Southwest Airlines: How to make the great leap from paper to digital
 
Case study: Camunda BPM in PwC project
Case study: Camunda BPM in PwC projectCase study: Camunda BPM in PwC project
Case study: Camunda BPM in PwC project
 
dev@InterConnect workshop - Lean and DevOps
dev@InterConnect workshop - Lean and DevOpsdev@InterConnect workshop - Lean and DevOps
dev@InterConnect workshop - Lean and DevOps
 
IBM BPM Case Manager for knowledge workers
IBM BPM Case Manager for knowledge workersIBM BPM Case Manager for knowledge workers
IBM BPM Case Manager for knowledge workers
 
AU 2014: Autodesk PLM 360 Success Story with Inphi (PPT)
AU 2014: Autodesk PLM 360 Success Story with Inphi (PPT)AU 2014: Autodesk PLM 360 Success Story with Inphi (PPT)
AU 2014: Autodesk PLM 360 Success Story with Inphi (PPT)
 
Collaborative Customer Interaction Management

Collaborative Customer Interaction Management
Collaborative Customer Interaction Management

Collaborative Customer Interaction Management

 
Interstage BPM 2011
Interstage BPM 2011Interstage BPM 2011
Interstage BPM 2011
 
Transforming IT - ITaaS Onboarding
Transforming IT - ITaaS   OnboardingTransforming IT - ITaaS   Onboarding
Transforming IT - ITaaS Onboarding
 
Implementing security and controls in people soft best practices - may 2017
Implementing security and controls in people soft   best practices - may 2017Implementing security and controls in people soft   best practices - may 2017
Implementing security and controls in people soft best practices - may 2017
 
How to Revamp your Legacy Applications For More Agility and Better Service - ...
How to Revamp your Legacy Applications For More Agility and Better Service - ...How to Revamp your Legacy Applications For More Agility and Better Service - ...
How to Revamp your Legacy Applications For More Agility and Better Service - ...
 
7 Ways to Maximize ROI on your Digital Experience Investement
7 Ways to Maximize ROI on your Digital Experience Investement7 Ways to Maximize ROI on your Digital Experience Investement
7 Ways to Maximize ROI on your Digital Experience Investement
 
Introduction to ERP Concept
Introduction to ERP ConceptIntroduction to ERP Concept
Introduction to ERP Concept
 
ElectroNeek Partner - AAPNA Infotech
ElectroNeek Partner - AAPNA InfotechElectroNeek Partner - AAPNA Infotech
ElectroNeek Partner - AAPNA Infotech
 
Flexible Custom Workflows for Banner ERP and the Campus
Flexible Custom Workflows for Banner ERP and the CampusFlexible Custom Workflows for Banner ERP and the Campus
Flexible Custom Workflows for Banner ERP and the Campus
 
Automating HR Workflows
Automating HR WorkflowsAutomating HR Workflows
Automating HR Workflows
 
BP Logix Whitepaper: Adding the Dimension of Time to BPM
BP Logix Whitepaper: Adding the Dimension of Time to BPMBP Logix Whitepaper: Adding the Dimension of Time to BPM
BP Logix Whitepaper: Adding the Dimension of Time to BPM
 
BPM for agile development & minimizing SAP customization
BPM for agile development & minimizing SAP customizationBPM for agile development & minimizing SAP customization
BPM for agile development & minimizing SAP customization
 
Design Thinking, Agile, DevOps - fuel the innovation delivery
Design Thinking, Agile, DevOps  - fuel the innovation deliveryDesign Thinking, Agile, DevOps  - fuel the innovation delivery
Design Thinking, Agile, DevOps - fuel the innovation delivery
 

Último

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 

Último (20)

Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 

Impact 2012 1640 - BPM Design considerations when optimizing business processes to automated

  • 1. 1   Design Considerations When Optimizing Business Processes to Automated Kim Clark, Senior IT Specialist, IBM Brian Petrini, Senior IT Architect, IBM 1640
  • 2. 2   Please Note IBM's statements regarding its plans, directions, and intent are subject to change or withdrawal at IBM's sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
  • 3. IBM Software Group Agenda § What do we mean by Progressive Process Optimization? § What to we mean by Automation? §  Deep dive: Progressive Task Optimization §  Managing change over the longer term
  • 4. IBM Software Group What do we mean by Process Optimization? Create Account Capture Details Send Documents Sign Documents Activate Account Customer Call centre Back office Notify Customer It is critical to drive optimization based on the business goals, not technical optimization capabilities. Why? – Business Goals – Reduce headcount – Maximise high value staff – Increase volumes – Meet performance targets – Improve user experience – Make better informed decisions – Improve business agility How? – Optimization Techniques – Path Re-engineering – Resource Utilisation Re-engineering – Interaction Re-engineering – Decision Re-engineering – Automation
  • 5. IBM Software Group What do we mean by progressive process optimization? “The journey is the goal” §  Change takes time – Cultural, and infrastructural changes can’t be made overnight. §  Phased delivery – Change must be delivered iteratively both within and across projects. §  Design for change – Flexible solutions and agile methods don’t just happen Kaizen (改善?), Japanese for "improvement", or "change for the better" refers to philosophy or practices that focus upon continuous improvement of processes in manufacturing, engineering, game development, and business management. http://en.wikipedia.org/wiki/Kaizen
  • 6. IBM Software Group Process optimization techniques §  Path Re-engineering – Refine the routes through the process to reduce steps, or time –  Parallel flows, sequence improvements, wait time optimization, simulation, fast paths, task prioritisation §  Resource Utilisation Re-engineering – Route the work to the appropriately skilled and/or most available people. –  Participant grouping, substitution, skills based routing. –  §  Human Interaction Re-engineering – Improve the efficiency of the user interface –  Guided activity, reduced navigation, improved situational context, reduced sign-on, simplified actions, data-pre- fetch, asynchronous completion §  Decision Re-engineering – Extract logic from the process to simplify tasks, improve routing and enable dynamic change –  Complex rule automation, path optimization, participant routing refinement, adaptive optimization, prioritisation §  Re-engineering typically includes Automation – Move work between people automatically, and perform tasks without user involvement –  Process modelling, process implementation, basic user interfaces, integration, aggregation, composition, orchestration
  • 7. IBM Software Group An unmodelled process can’t be optimised There are benefits to process modelling alone §  Documents a single end-to-end view of the process –  Shows the participants, the tasks involved, and the flow between them. –  Process is still completely manual, but better understood. –  Re-engineering of the process flow is easier due to the improved visibility. –  Simulations of current and to-be process can be performed. §  But –  Participants have to know who does the next step –  They also need to know how to reliably transfer the work/ownership –  Participants require significant knowledge. –  Process re-engineering will result in significant retraining of staff Create Account Capture Details Send Documents Sign Documents Activate Account Customer Call centre Back office Notify Customer
  • 8. IBM Software Group Cloud-based platform for collaboration on processes
  • 9. IBM Software Group Lean / Six Sigma §  LEAN – Focuses on removing waste, reducing end-to-end lead times, and making work flow. – Root causes are typically known. §  SIX SIGMA – Focuses on reducing variation and defect rates. – Root causes are not known.
  • 10. IBM Software Group Path Re-engineering Create and Activate Account Request Account Customer Call centre Back office Notify Customer Create Account Capture Details Send Documents Sign Documents Activate Account Customer Call centre Back office Notify Customer
  • 11. IBM Software Group Agenda § What do we mean by Progressive Process Optimization? § What to we mean by Automation? §  Deep dive: Progressive Task Optimization §  Managing change over the longer term
  • 12. IBM Software GroupBusiness Process Management (BPM) provides a single, executable view of the process After BPM Current State Future State Executive Management Call Centre Regional Risk Management Local Finan ce and Ops Offshore Operation 1 2 3 4 5 6 Process Executive Management Call Centre Regional Risk Management Local Finance and Ops Offshore Operation Process Definition à Management Orchestration à Defined Work Segments à Measurable Results Hidden work à Process Variation à Complexity à Missing Information à Chaos
  • 13. IBM Software Group Shared Process Model Reports / Analytics Managers / Analysts Business Modeler Business Modelers Graphical Implementation Process Developers User Portal / Forms Users “… the picture IS the process …”
  • 14. IBM Software Group 14 Although “process” is at the core, there is more to BPM
  • 15. IBM Software Group What are the types of automation? Automation Create Account Capture Details Send Documents Sign Documents Activate Account Customer Call centre Back office Notify Customer Create Account Capture Details Send Documents Sign Documents Activate Account Customer Call centre System Notify Customer Review Documents
  • 16. IBM Software Group Types of Automation: Flow Automation §  Definition –  Having the end to end process flow controlled by a system rather than by humans deciding what to do next. –  All the individual tasks/activities in the process could still be manual, it is only the process flow that has been automated. §  Issues –  Might we now just be giving tasks to people faster than they can complete them? §  Benefits –  More efficient throughput –  Process is known, and made consistent –  Process state is visible –  Process is measurable. Process transitions are captured and can be reported on. –  Work is distributed, prioritised §  Skills Involved –  BPMN, Lean Systems Thinking, Six Sigma, simulation, business activity monitoring Create Account Capture Details Send Documents Sign Documents Activate Account Customer Call centre Back office Notify Customer
  • 17. IBM Software Group Flow automation brings runtime statistics Create Account Capture Details Send Documents Sign Documents Activate Account Customer Call centre Back office Notify Customer End-to-end Customer visible delays Queuing time Customer response time 10 mins 15 mins 20 mins 2 mins 2 mins Business Goals + Runtime Statistics = Optimization Recommendations
  • 18. IBM Software Group Types of Automation: Task Automation §  Definition –  Taking an individual task that is currently done by a human, and enabling a system to perform the action instead. –  This does not necessarily mean it is also part of an automated process. It could be called by the user via their user interface, and the process flow still belong to the users. §  Issues –  Is the task worth automating? How often does it happen? How much of the current end to end time does it take? §  Benefits –  Faster activity completion –  Improved data integrity and consistency –  Higher availability §  Skills involved –  User interface design, integration, SOA Create Account Capture Details Send Documents Sign Documents Activate Account Customer Call centre System Notify Customer Review Documents
  • 19. IBM Software Group Agenda § What do we mean by Progressive Process Optimization? § What to we mean by Automation? §  Deep dive: Progressive Task Optimization §  Managing change over the longer term
  • 20. Progressive Task Optimization 1. Assisted Swivel Chair Tell me when and how to do the task, and let the next person in line know when I’m done. 2. Linked external window with request context Take me to the place where I can do the task, and fill in the details for me. 3. Linked external window with request context and callback Take me to the place where I can do the task, fill in the details. When I complete the work, send the results back to the process and move the process onwards. 4. Integrated linked external window Combine all the places I normally go to together on one integrated page so it feels like one system. 5. Decision supported sub- process Ensure I only do the task when it’s really necessary, and that I only the part of the task that I’m most suited to. 6. Custom UI calling services Create a screen specifically for my task, that makes me as effective as possible. 7. External UI calling BPM API Bring the tasks seamlessly into my existing system’s user interface. 8. Fully automated task Do the task for me. There are many options between a manual task, and an automated task. ManualAutomated
  • 21. IBM Software Group 1. Assisted “Swivel Chair” §  Process model is implemented in the simplest form in a BPMS. –  Work is transferred between the participants automatically, and prioritised automatically. Workload distribution is managed automatically including for example substitutes during vacations, and balancing work across multiple teams. Managers can focus on assistance rather than distribution of work. §  Tasks are screens explaining what to do with context specific data. –  Only the relevant data and guidance for the task is presented to the user. –  A new participant would need less training. –  Lower skilled workers could be used. §  No integration with other systems. –  This level of automation is very simple to implement since the BPMS is a completely self contained solution. §  Issues –  User must return to the task to say they have completed it. –  If we require data from the other system in the process, the user must re-key it. –  We have no idea whether the user really did the work, or whether they did it correctly. Capture Details Create Account Send Documents Sign Documents Activate Account Customer Call centre Back office Notify Customer 1.  Perform a credit check on the customer using the standard procedure to ensure that their credit rating is above the threshold set in the guidelines. 2.  If the credit score is acceptable, initialise an account using the account setup guidelines. Instructions SmithSurname: JohnFirstname: 15/07/1985DOB: 1, High St., LondonAddress: 800Score: AC3957495New Account Num: CompleteClose “Tell me when and how to do the task, and let the next person in line know when I’m done”
  • 22. IBM Software Group 2a. Link with request context – via pop-up §  Instructions provide links to external systems’ screens –  User does not have to navigate other system –  Screen is already written –  Users may already be familiar with the popup screen –  Changes to the screen don’t directly affect the process. §  Request context passed via link –  Context can be coded into the URL (or via HTTP POST parameters). –  May allow navigation to correct screen, and even passing of data to avoid re-keying of request data. §  Issues –  User must understand enough about the other system to complete the action. –  No communication is possible between the two windows due to “same origin policy”* so: –  If we require data from the external system in the process, the user must re-key it. –  User must return to the task window to say they have completed it. –  Requires that other systems allow URL based navigation and/ or data passed in this way. If it does not, it would require changes to that system. –  What is the security model? How will the user be identified and logged onto the external system? 1.  Perform a credit check on the customer using the credit check system to ensure that their credit rating is above the threshold set in the guidelines. 2.  If the credit score is acceptable, create an account via the CRM system. Instructions SmithSurname: JohnFirstname: 15/07/1985DOB: 1, High St., LondonAddress: 800Score: AC3957495New Account Num: CompleteClose Surname: Firstname: DOB: Address: Create New Account CRM System – Create New Account 15/07/1985 1, High St., London Smith John http://.../crm/createaccount?surname=Smith... re-key AC3957495Account Num: *See later slides for options “Take me to the place where I can do the task, and fill in the details for me”
  • 23. IBM Software Group 2b. Link with request context – embedded via iFrame §  Embedded frame –  An alternative to the pop-up is to embed the external system’s screen using an iFrame. –  Again, if the external system can be navigated, and it’s page populated using the URL and HTTP parameters, then the iFrame will “appear” to be integrated into the page. §  Issues –  The iFrame is essentially a still seen by the browser as a completely separate browser window. All the same issues as before therefore still exist. –  Note that for security reasons it is impossible to navigate in java script into the iFrame if it comes from a different domain to the main page. This is most noticeable in the fact that the user still has to re-key any data that needs to be drawn back into the process from the external system. 1.  Perform a credit check on the customer using the credit check system to ensure that their credit rating is above the threshold set in the guidelines. 2.  If the credit score is acceptable, create an account using the CRM panel below. Instructions SmithSurname: JohnFirstname: 15/07/1985DOB: 1, High St., LondonAddress: 800Score: AC3957495New Account Num: CompleteClose Create New Account CRM – Create New Account re-key AC3957495Account Num: Surname: Firstname: DOB: Address: 15/07/1985 1, High St., London Smith John “Take me to the place where I can do the task, and fill in the details for me”
  • 24. IBM Software Group Cross-domain communication and the “same origin policy” Main page iFrame Proxy Server www.proxydomain.com Web Server www.domain2.com Web Server www.domain1.com Main page iFrame Web Server www.domain2.com Web Server www.domain1.com Javascript cannot navigate between main page and iFrame due to “same origin policy”. With a proxy, the main page and iFrame both originate from same domain from the browser’s perspective, so navigation is now possible. Only works for relatively simple pages. Security complexities soon become apparent. For more information on postMessage and ways around the “same origin policy”: https://www.ibm.com/developerworks/web/library/wa-crossdomaincomm
  • 25. IBM Software Group 3. Link with call back §  Completion of work in the external system results in a call back to BPMS triggering an intermediate event. e.g. –  Web service call to BPMS –  Queue topic to which BPMS subscribes –  BPMS polling an external system §  User does not need to: –  Wait for the external system to complete its work –  Re-key any data from the external system into the task –  Return to the task window and complete the task §  Issues –  Reliant on changes to external system, or access to it at low level. –  The integration for the call back may be point to point – not very re-usable. –  Note anti-pattern relating to “non-tasks”, and introduction of event gateway. Surname: Firstname: DOB: Address: Create New Account CRM GUI – Create New Account 15/07/1985 1, High St., London Smith John AC3957495Account Num: Capture Details Create Account Send Documents Sign Documents Activate Account Customer Call centre Back office Notify Customer CRM System “Take me to the place where I can do the task, fill in the details. When I complete the work, send the results back to the process and move the process onwards.” http://.../crm/createaccount?surname=Smith...
  • 26. IBM Software Group 4. Integrated linked external window §  Integrated frame/window – Communication enabled between task and embedded window §  Issues – postMessage required changes to the external application to send events to task. – postMessage only supported on HTML 5 enabled browsers 1.  Perform a credit check on the customer using the credit check system to ensure that their credit rating is above the threshold set in the guidelines. 2.  If the credit score is acceptable, create an account using the CRM panel below. Instructions SmithSurname: JohnFirstname: 15/07/1985DOB: 1, High St., LondonAddress: 800Score: AC3957495New Account Num: CompleteClose Create New Account CRM System – Create New Account postMessage AC3957495Account Num: Surname: Firstname: DOB: Address: 15/07/1985 1, High St., London Smith John For more information on postMessage and ways around the “same origin policy”: https://www.ibm.com/developerworks/web/library/wa-crossdomaincomm “Combine all the places I normally go to together on one integrated page so it feels like one system”
  • 27. IBM Software Group Cross-domain communication – new options in HTML 5 §  “postMessage” facility – Windows can explicitly listen for messages from other windows that originate from a different domain. – Standardised via HTML 5 §  Issues – Still relatively immature – Not supported by older browsers – Requires new code in source of both main page and iFrame page. Main page iFrame parent.window.postMessage( accountNumber, “http://domain”); window.addEventListener( function(event) { $(“newaccountnumber”).innerHTML = event.data; } ); For more information on postMessage and ways around the “same origin policy”: https://www.ibm.com/developerworks/web/library/wa-crossdomaincomm
  • 28. IBM Software Group Create Account 5. Decision Supported §  Reduce how often the task is included in the process –  Average time of the task is reduced. –  Better distribution of work between junior and senior resource. –  Really a “flow optimization”, but could be seen as “task optimization” if we consider that the sub-process as still representing the original task §  Externalise the decision criteria to a business rule –  Analysis of process statistics may turn up further opportunities to bypass the task, and these can then be introduced at runtime. –  Passing more process data to the rule allows for most options at runtime. However, it also couples the rule to the process data model. –  Rules can be derived from historical data from the current process. Look for trends in the monitored data. Check Credit Capture Details Initialise Account Call centre Back Office (Juniors) Credit Check? Yes (1%) No (99%) Business Rule Management System Credit Check Rules Rule 1: Customer is staff member Rule 2: Customer has balance > $1000 Rule 3: … Back Office (Seniors) “Ensure I only do the task when it’s really necessary, and that I only the part of the task that I’m most suited to”
  • 29. IBM Software Group 6. Custom UI calling services §  Single user interface, with service calls to underlying systems –  UI calls services via ESB, or directly via API –  Users need not have to be familiar with user interfaces of underlying systems. –  No re-keying of data –  Resulting data easily drawn back into the process. –  If errors occur, user is still has visibility of where the error occurred in order to take remedial action. §  Issues –  Required systems must be available via an exposed API. –  Response from services must be real- time. 1-3 seconds typically. –  User is still co-ordinating the requests to the systems. Could be further automated. –  User interface is coupled to the APIs of other systems. ESB pattern should be considered. 1.  Retrieve a credit check on the customer using button below to ensure that their credit rating is above the threshold set in the guidelines. 2.  If the credit score is acceptable, create an account using the button below. Instructions SmithSurname: JohnFirstname: 15/07/1985DOB: 1, High St., LondonAddress: Score: Account: CompleteClose Credit Check Create Account CRM System Credit Vetting Agency Validate Address Address Validation Service “Create a screen specifically for my task, that makes me as effective as possible.”
  • 30. IBM Software Group Interface Characteristics Functional Definition Principal data objects Operation/function Read or change Request/response objects Technical Interface Transport Protocol Data format Interaction type Request-response or fire-forget Thread-blocking or asynchronous Batch or individual Performance Response times Throughput Volumes Concurrency Message size Integrity Validation Transactionality Statefullness Event Sequence Idempotence Security Identity/Authentication Authorisation Data Ownership Privacy Reliability Availability Delivery assurance Error Handling Error Management capabilities Known exception conditions “Interface Characteristics: Capturing Integration Complexity for BPM and SOA” http://www.ibm.com/developerworks/websphere/techjournal/1112_clark/1112_clark.html
  • 31. IBM Software Group 7. External UI calling task API §  External system’s UI augmented to include data from BPM –  Users remain within the system they are already familiar with. –  UI can change largely independently of the process. –  UI can be completely custom, so can really hone the design based on user centred design, minimising key counts, etc. §  Issues –  Users unaware they are interacting with a business process –  CRM system UI programmers need to familiarise with the BPM API. –  CRM system is coupled to BPM. May be better to surface the BPM API as services on an ESB. –  What about transactionality between the calls to “Create Account” and “Update Task” Create New Account CRM System – Create New Account AC3957495Account Num: Surname: Firstname: DOB: Address: 15/07/1985 1, High St., London Smith John BPM API is documented: http://publib.boulder.ibm.com/infocenter/dmndhelp/v7r5mx/index.jsp?topic=%2Fcom.ibm.wbpm.bpc.doc%2Ftopics%2Fcdev_restapis.html Summary of usage: http://www.ibm.com/developerworks/websphere/library/techarticles/1108_thaker/1108_thaker.html?ca=drs- BPM System Jane Jones 23/09/1990 Fred Bloggs 13/10/2002 John Smith 15/07/1985 Account creation requests GetTaskList Update Task CRM System Create Account “Bring the tasks seamlessly into my existing system’s user interface.”
  • 32. IBM Software Group 8a. Partially automated task §  Minimise the user interaction –  Data for the task is pre-fetched. Interaction need not be real-time – could be asynchronous enabling better workload balancing on back end systems. –  Actions performed as a result of the task are done asynchronously following the task. –  Data is presented in a context specific format –  Human resource is used only for what it is best at – e.g. complex decision making –  Good for “mobile” users. Review task is much simpler, and can be viewed and acted upon on a smaller device. E.g. “inline tasks completion” §  Issues –  User loses awareness of how to interact with back end systems should they need to revert to manual processing. –  Changes to the back end systems’ APIs break the process. (ESB pattern would help with decoupling here). –  User may need results from the follow on actions (e.g. may need the account number created to pass back to the customer). –  Services/APIs need to be appropriately exposed for use by automated consumers Check Credit Capture Details Initialise Account Call centre Back office Credit Check? No Yes System CRM System Credit Vetting Agency Business Rules Review Create Account “Do the task for me, and I’ll just review it.”
  • 33. IBM Software Group SRP GUI LRP Presentation Layer Process and Composite Service Layer Atomic Service Layer How different are UIs and Processes as requesters? GUI Graphical User Interface HT Human Task SRP Short-running Process LRP Long-running Process Synchronous call waiting HT
  • 34. IBM Software Group Differences between UI consumer and BPM consumer Characteristic User Interface Consumer Automated Consumer Functional Full data typically required Response may have to be acknowledgement rather than completion Opportunity for key data only. Can wait for completion Data Integrity Rarely transactional all the way from the UI itself. Optimistic locking generally required for scalability Idempotence may be required to avoid duplicate submissions Event sequencing less likely to be an issue. Can participate or even control a global transaction Pessimistic locking often preferable for simplified error handling Idempotence less of an issue if transactionality present. Event sequencing and race conditions become more common concern Error Handling User often part of error handling strategy Data validation ideally handled by user screen User not online, so most error paths must be codified. Late validation errors very challenging. Validation must be pushed back to capture point. Security Requestor’s identity can be used for actions. Adjustments to the data can be handled by the requestor immediately. Requestor no longer present when doing actions. Whose identity should be used and how. How are asynchronous errors are resolved, who can see/change the data? Availability Services must be available when users are present. Brief outages can be tolerated. Performance Response times must be user acceptable, even at peak usage times. Batch processing generally unacceptable. Response times can be longer. Throughput is the priority. Can process in batch if necessary. For further detail see “Transitioning from Integration and SOA to BPM” at: http://www.websphereusergroup.org.uk/wug/agenda/33
  • 35. IBM Software Group Create Account 8b. Fully automated task §  Remove user interaction –  End to end time vastly reduced –  Throughput vastly increased (orders of magnitude) –  Headcount reduced/released for more important work §  Issues –  Many exception handling now pushed to the domain of IT operations. –  Exceptions harder to diagnose. –  Business less familiar with the process and the back end systems, so less able to assist with exceptions. Check Credit Capture Details Create Account Call centre Credit Check? No Yes System CRM System Credit Vetting Agency Credit Check Rules Review Review Rules “Just do the task for me.”
  • 36. IBM Software Group What is STP? §  STP = “Straight Through Processing” – The primary goal of STP is to increase throughput, typically by removing humans from the process. – This requires both flow and task automation and also significant re- engineering. – If the end goal is STP, you must design for this from the start. §  STP = “Fully automated?” – Rarely – STPs automate the most commonly traversed paths. – Most have rarely occurring edge cases that are still handled manually. Create Account Notify Customer System Activate Account
  • 37. IBM Software Group Is full automation the goal? §  “Should we automate a person pushing 2 buttons once a year?” §  “It costs $100K to automate the work and $200K to make the team redundant. We will then save $20K each year as a result.” §  “Press 1 for your account balance, 2 for new credit card or 9 to listen to another 100 choices" §  “What do you mean, I need to land the plane? I normally just push a button. I haven’t had to actually land a plane in 20 years!”
  • 38. IBM Software Group Business Goals for Process Optimization Reduce headcount Handle the same amount of work with less people in order to cut costs, or free up resources for alternate work. Maximise high value staff Free up core knowledge workers from mundane activity, to focus on higher value activities, in order to gain greater value from the investment in high cost staff. Increase volumes Scale up the volume of process instances that can be handled in a given time in order to increase retain or increase profit margins. Meet performance targets Focus on performance indicators such as “end to end” process time, to avoid being penalised for failing to meet service level agreements (SLAs). Improve user experience Improve user traction with the process, in order to employee retention, and/or retain customers. Make better informed decisions Expose the aggregate process statistics to enable more insightful decisions due to the runtime statistics naturally available from the automation of process flows. Improve business agility Enable the business to react more quickly to changes in the market due to the adoption of agile methods and tools
  • 39. IBM Software Group Agenda § What do we mean by Progressive Process Optimization? § What to we mean by Automation? §  Deep dive: Progressive Task Optimization §  Managing change over the longer term
  • 40. IBM Software Group Design time “green field” optimizations When does optimization occur? Project 1 Project 2 Project 3 Production Production time “brown field” optimizations Initial Development Changes via runtime “points of variability” “green field” optimizations
  • 41. IBM Software Group How is change management different §  Green field process change (Initial implementation time) – Changes can be deployed immediately by replacing the process application. – Existing test process instances can typically be re-created. §  Brown field process change (Production time changes) – Process instances are present, and may be for some time. – Changes to the following require a new process application –  Process flow (BPMN/BPEL) –  Process data model –  User interfaces (coaches/task clients) –  Inline rules –  Interfaces/services – To take full advantage of the changes, we must migrate process instances – We need to consider how intermediate events will correlate with process instances. – Points of variability need to be designed in, and externalised if changes are going to be possible without re-deployment.
  • 42. IBM Software Group Iteration cycles across the SOA Layers Shorter Iteration Cycle Longer
  • 43. IBM Software Group Iteration cycles within the SOA Layers §  Complexity of implementation –  The level of complexity to implement a given service operation becomes higher as it moves down through the layers. An apparently simple operation for a consumer may result in aggregation, or multiple transactions, or even a trigger a whole business process in the layers below, and where the service exposure may be a straightforward web service, the actual integration may be complex data formats over unusual protocols. As such, small changes in the upper layers typically balloon into larger changes lower down. §  Dependencies between layers –  Components lower in the stack typically have more things dependant on them for re-use, so are very quickly locked into providing backward compatibility. This results in more complex versioning mechanisms, and greater re-factoring considerations. §  Persistence of in flight data –  Artefacts lower in the stack are more likely to have persistent data associated with them (such as business process instances, and human tasks) resulting in data migration challenges between iterations. §  Visibility to the business –  Presentation layers (graphical user interfaces), by their nature, are the main point of contact between the business and the system. As such they receive significantly more attention in terms of incoming changes. Fortunately also, sitting at the top of the stack, they can undergo significant change without enforcing any changes to the lower layers. Therefore the pace of change specifically in a presentational component can be extremely high compared to the other layers. Shorter Iteration Cycle Longer Some form of iterative design can be done for implementation at all levels within the reference architecture. However, it is important to recognise that there are a number of reasons that iteration cycles often need to be longer as we move deeper in the stack.
  • 44. IBM Software Group Optimization and Agility – orthogonal concerns §  Optimization: Implement changes that improve KPIs – Whether those changes are implemented in an agile way or not, if the performance increases, it is still optimization. §  Agility: Implement changes rapidly and iteratively – Some changes contribute to optimization, but some do not. They may for example be adding additional functionality to the process to meet new needs. Adding changes for example for regulatory compliance, might even reduce performance. – Agility is about optimising the implementation process.
  • 45. IBM Software Group Runtime Optimization: Enabling points of variability in production §  Decision logic and values –  Externalise to database tables (values) or rules (logic). §  Process flow –  Publish new versions of flow, and migrate process instances as necessary. (Be aware of process migration constraints) §  User interface –  Make key aspects of the UI dynamically configurable. (Consider testability) –  Ensure user interface is separately deployable from process application. §  Participant routing –  Use externalised groups (e.g. from LDAP) –  Externalise routing service (e.g. use rules/tables) §  Reporting –  Externalise reporting framework –  Ensure suitably rich data set is available exposed up front (Consider performance implications) §  Integration points –  Decouple process from endpoint using persistence layer –  Expose integration points as re-usable services using the ESB pattern. §  Data model –  Reduce touch points on the parts of the data model that may change. –  Externalise and/or make dynamic the parts of the process that do touch data. (Consider testability) –  Hold only high level metadata/keys in the process. (Consider UI response times) Anything could change. Focus on what will change. The more flexible you make it, the harder it is to test. A runtime process is very deliberately constrained, or testing it would be impossible. However, it is recognised that some things are more likely to change over time.
  • 46. IBM Software Group Improving dynamicity in very long lived or complex processes §  Pluggable Sub-processes §  Chained Processes Very Complex Process Controlling Long-Lived Process Short- lived process Short- lived process Long- lived process Short- lived process Very Long Process Long- lived process Short- lived process Long- lived process Long- lived process New or existing system or data store
  • 47. IBM Software Group Facades for service versioning Logical Component Boundary Module ModuleModule Update Customer Delete Customer v1 Retrieve Customer Create Customer v1 Module Delete Customer v2 Customer Object v2 Customer Object v1 Customer Object v1 Customer Object v1 Customer Object v1 Customer Object v1 Module Create Customer v2 Customer Object v1 Customer Service Façade v1 Module Create Retrieve Update Delete Module Customer Service Façade v2 Customer Object v2 Create Retrieve Update Delete Maps Routing Module Maps
  • 48. IBM Software Group Versioning Strategy for Interfaces – Compatibility §  Compatible changes Consumer not affected – Additional operations – Additional independent data structures – New optional structures/attributes on the request object – New runtime (unchecked/undeclared) faults §  Incompatible changes Consumer affected unless provided as a new endpoint – Changes to operation parameters* – Changes to existing data structures –  New mandatory structures/attributes on the request object –  New parameters (optional or mandatory) on the response object** – Changes to existing operation names – Changes to namespaces – New business (checked/declared) faults * and ** A blanket rule on there being no changes to the structure of response objects can be overly restrictive. It can make it extremely difficult for service implementations to evolve. An alternative approach where additional data within response objects must tolerated by consumers can reduce implementation and refactoring costs, but at the loss of some interface contract precision, added complexity around testing and some introduced runtime risk.
  • 49. IBM Software Group Types of response data structure change: Additional attributes <response> <order> <reference>123<reference> <quantity>2</quantity> <productId>KI987</productId> </order> </response> <response> <order> <reference>123</reference> <quantity>2</quantity> <productId>KI987</productId> <status>SHIPPED</status> </order> </response> Formally not backward compatible as consumer is passed unexpected data. However… – This scenario is very common, due to general incremental evolution of interfaces over time. – Treating this as non-backwardly compatible change is very expensive both in terms of service implementation refactoring and also for existing consumers what may want the change but would have to move to a new version of the interface to use it. – Many (but not all) consumers can accommodate it without any refactoring of consumer code. – Primarily depends on whether consumers validate the overall data structure (e.g. against the XML Schema) or simply extract the parts they need (e.g. via XSLT/xpath). – Decision can be made within a domain of governance to consider this backward compatible.
  • 50. IBM Software Group Cross Domain Model Domain 2 Specific Model Domain 3 Specific Model Domain 1 Specific Model Domain 2 Specific Model Domain 3 Specific Model Domain 1 Specific Model Handling Cross Domain Dependencies E F A B C D C’ E F A B C D A Entity Definition (i.e. a schema for a BO) Exposed Service showing the data definitions it uses F’ We often find that we can’t create perfect dividing lines between domains, and there is still some need for services to use some objects from other domains. This could suggest that we have the domain boundaries wrong, but it may be a genuine case. How can we handle this interdependency between domains? We don’t want consumers of the services of one domain to have to include all the object definitions from other domains. There are a number of different mechanisms here depending on the situation: Definition E has been moved into a cross components library that it can be assumed all domains will probably need to import. Objects in this domain must be in very common use, and must be extremely stable in their definition as changes to them will cause a significant refactor/retest. Common examples are often not business data, and more likely to be technical objects used by frameworks such as a logging object. . Definition F’ is the same as E, but where it has been found that when the definition is used in other domains, it typically doesn’t need the full complexity it needs in its own domain, so the shared copy is simplified to make it more usable. Again, they must be in common use and extremely stable. An example would be the small, but very specific amount of customer data often required contain just title, first name, surname, customer number etc, but not the full customer object graph with it’s related child objects. Definition C’ is a simplified object, like F’, but it is not commonly used across domains or has a format specific to the use in Domain 1, or is insufficiently stable to be shared in the cross domain model. An example would be the customer data required on a quotation form specific to a type of insurance product. A health insurance might need to capture a small amount of health relevant information such as whether someone is a smoker.
  • 51. IBM Software Group Data Object A - Aggregated Attribute 1 - Aggregated Attribute 2 Data encapsulation in process variables Data Object type “Any” Type A Type B Short-running component that understands Child B Short-running component that understands Child A Long Running Business Process invokes invokes reads aggregates but not child objects aggregated data e.g. sum, count The long running process need only understand the wrapper object The more replaceable short running components understand the child objects “router”
  • 52. IBM Software Group Dynamic SOA and BPM Best Practices for Business Process Management and SOA Agility Author: Marc Fiammante Publication Date: July 24, 2009 ISBN: 978-0137018918
  • 53. IBM Software Group Common pitfalls in optimization §  Don’t assume you must optimize all tasks to the same level – Use simulation or historical statistics to optimize the critical path §  Don’t do it all in one go – Recognise the benefits of Progressive Task Optimization §  Optimization must be relevant – Optimize to a quantifiable, business goal such as a service level agreement §  Don’t over-optimise – It might not be advantageous to be able to pay invoices more quickly!
  • 54. Agenda – Summary § What do we mean by Progressive Process Optimization? § What to we mean by Automation? § Deep dive: Progressive Task Optimization § Managing change over the longer term
  • 55. IBM Software Group This presentation uses content from the following: §  Information on postMessage and other ways around the “same origin policy”: –  https://www.ibm.com/developerworks/web/library/wa-crossdomaincomm §  Interface Characteristics: Capturing Integration Complexity for BPM and SOA –  http://www.ibm.com/developerworks/websphere/techjournal/1112_clark/1112_clark.html §  SOA maturity in relation to solution design –  http://www.ibm.com/developerworks/websphere/library/techarticles/0904_clark/0904_clark.html §  “Transitioning from Integration and SOA to BPM” –  http://www.websphereusergroup.org.uk/wug/agenda/33 §  Process implementation types: Patterns based design for process-based solutions –  http://www.ibm.com/developerworks/websphere/library/techarticles/1004_clark/1004_clark.html §  “Process-oriented modeling for SOA” –  http://www.ibm.com/developerworks/architecture/library/ar-procmod1
  • 56. IBM Software Group Other useful references §  Dynamic SOA and BPM: Best Practices for Business Process Management and SOA Agility – Marc Fiammante, 2009. ISBN: 978-0137018918 §  BPM API –  http://publib.boulder.ibm.com/infocenter/dmndhelp/v7r5mx/index.jsp?topic=%2Fcom.ibm.wbpm.bpc.doc%2Ftopics%2Fcdev_restapis.html –  and a summary of its usage: –  http://www.ibm.com/developerworks/websphere/library/techarticles/1108_thaker/1108_thaker.html?ca=drs- §  Scaling BPM Adoption from Project to Program with IBM BPM –  http://www.redbooks.ibm.com/abstracts/sg247973.html §  Five Guidelines to Better Process Modeling –  http://wiki.lombardi.com/display/commwiki/Five+Guidelines+to+Better+Process+Modeling §  The Enterprise Service Bus, re-examined Updating concepts and terminology for an evolved technology –  http://www.ibm.com/developerworks/websphere/techjournal/1105_flurry/1105_flurry.html §  “Design service interfaces with industry models” –  http://www.ibm.com/developerworks/industry/library/ind-models/index.html
  • 57. © 2010 IBM Corporation 57 IBM Software Services Zone for WebSphere ibm.com/websphere/serviceszone/ §  Emerging technology resources including proven, prescribed, and repeatable assets & offerings to accelerate Mobile, Cloud, and BPM adoption. §  Visibility across worldwide skills, capabilities, and education that only IBM Software Services for WebSphere can bring to your project. §  Access to WebSphere practitioners’ insight on project trends, best practices and emerging technologies through personal videos, blogs, articles & more. §  Discover defined and proven offerings to get your project started quickly. What’s New The destination for WebSphere services-related resources, offerings & technical skills to help you achieve innovative growth. Visit us in the Solution Center! • Ped SE-2: IBM Software Services for WebSphere • Ped SE-3: IBM WebSphere Education • Process Innovation Zone
  • 58. 58   We love your Feedback! §  Don’t forget to submit your Impact session and speaker feedback! Your feedback is very important to us, we use it to improve our conference for you next year. §  Go to impactsmartsite.com from your mobile device §  From the Impact 2012 Online Conference Guide: –  Select Agenda –  Navigate to the session you want to give feedback on –  Select the session or speaker feedback links –  Submit your feedback
  • 59. 59   © IBM Corporation 2012. All Rights Reserved. IBM, the IBM logo, ibm.com are trademarks or registered trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at www.ibm.com/legal/ copytrade.shtml. Copyright and Trademarks