Dynamic BPM is the ability to support process change at any time,
with very low latency. Dynamic BPM implies that your business processes
are more agile and flexible so it can easily adapt dynamically based on
business needs.

So how is Dynamic BPM different from earlier BPM solutions.?In
my view, the initial SOA BPM solutions focused on streamlining business
processes, aligning Business and IT content, process automation and
standardizing IT interfaces. These processes weren’t designed with
agility and dynamicity in mind. Now, based on dynamicity associated
with today’s business environment, business needs to sense
environmental changes and adapt quickly and respond appropriately to
these changes. That’s where Dynamic BPM comes into play.

We
need to have the right platform that provides an end to end capability
to model, assemble, deploy and manage these dynamic business processes.

IBM WebSphere Dynamic Process Edition offering from
IBM is a key IBM BPM Suite element, which provides this built-in
support for adapting, responding dynamically to change and provides the
BPM enabled by SOA foundational capabilities for modeling, simulating,
deploying and monitoring end-to-end dynamic business processes. Join
the WebSphere Dynamic Process Edition Group to stay tuned with the
latest development.

In this blog, I plan to provide capabilities that needs to be
provided by the Dynamic BPM platform on how to model and design BPM
applications with agility in mind, which is a key requirement to
achieve Dynamic BPMIn the next part, I would talk about how to design BPM applications with agility in mind

Usually business processes follow a
structured path, getting a set of activities done in a sequence or parallel
paths in a process flow. However, for some of the processes instances you
might require an ability to make dynamically changes, including the ability to
skip certain steps or re-do certain steps or create a new task on the
fly.

To realize this
requirement, you would use Dynamic Human workflows. Dynamic Human workflows
lets you addresses various dynamic workflow requirements and case handling
scenarios. From WPS 6.2
release, a new construct called collaboration scope was introduced to handle
dynamic work flow and case handling scenarios.A collaboration scope in a
business process defines the scope in which business users should be allowed to
use the new dynamic capabilities i.e steps contained within that scope can only
be skipped by business users, or redone.

The best resource to know
more about Dynamic Human workflows and how to model dynamic workflows is the
following white paper

In order to realize Dynamic BPM solutions, you need to be aware of the
various agility enablers that are part of BPM suite and how it can be applied
during BPM lifecycle. Some of the agility needs to be part of the business
process design so as new process variations can be easily added to the existing
process without changing the business process, while some agility can be
introduced during process execution which changes the in-flight process.

For instance, let’s
take an example of Loan application written in some language, say Java. Now
while designing Loan types, you would typically create an abstract class for
Loan and later add implementation for specific types – like Auto Loan, Home
Loan and so on. So what have you ensured as part of your design, is that
the new Loan implementations can be added easily by extending the Loan
class.

Similarly while
designing BPM applications; you need to design your process tasks with
extensibility in mind. You need to design these for tasks where you expect this
could be extended easily to add new variations. You need to have the right set
of tools and technology to assit IT as well as Business Users to adapt business
processes based on changing business requirements.

As I mentioned
earlier, some agility needs to be part of the process, while some agility can
be introduced at runtime.You should be aware of what tools
exist in BPM suite and how I can leverage this.For instance,
let’s take an example of Loan approval process where you might have defined a
human task for approving the interest rate. During the process execution , the
rate of interest changes and the user who is carrying out the task requires an
exception approval to disburse the loan based on the earlier negotiated rate,
in that case the user can create a dynamic/adhoc task in business space
(business user tooling) and assign it to the required approver and wait on it
till task gets completed. This can be considered an example of agility being
introduced during runtime without changing your existing process.

In my next update,I will go through the various capabilities provided as part of the BPM
suite.