Business Process Management
The internet provided a colossal
amount of information on Business Process Management. However in this article,
I would like to present a developer’s perspective towards it.
What
is a Business Process Management?
A business process is a series of
tasks or activities that combine to cater to a specific requirement for and
individual or a company. Let’s take a basic example for explaining a Business
process: A government organization outsources a lot of its work to small
private organizations. For the same, multiple private organizations will give a
proposal. The approval process follows a series of steps where multiple levels
of government officials will judge different parameters of a proposal. A single
proposal will have its own file and a lifetime that would include a series of
approvals and rejections. Ultimately after many steps, one proposal will be
selected.
The above mentioned example gives a
basic idea of a business process. This will further help us analyze why and how
can information technology help a process followed by a particular
organization.
Business
Process Management – The IT view
The business process mentioned above
includes a series of human intervention steps. IT implementation for the
process would require input from human entities as the steps would require
their sound judgment and decisions. Thus,
a business process management (IT view) is a technology implementation of a
series of steps and tasks in a business process involving intervention and
judgment by human entities.
On the other hand, a business process
that does not require human intervention may not require a BPM implementation.
However, the use of BPM is left to the sole discretion of the entities involved
in a project.
Business processes that are constantly
evolving should use BPM as changing and maintaining processes becomes relatively
easy. On the other hand business processes having no clear definition should
avoid using BPM as a solution.
Why
use BPM Tools/Framework?
A BPM tool/framework helps create a
“WORKFLOW” that will implement a given business process. A tool/framework would
create a flow-chart like structure that would define and logically separate
different tasks of a process. The human entity that will provide input to a
particular task can also be defined in a workflow. Further these workflows can
be integrated with a windows/web application developed on ASP.NET/JAVA/Share
Point to provide a front end.
The first question that comes to a
developers mind is: “It’s a series of approvals from individuals. As I know the
process, I don’t need to make a workflow using a BPM tool. I can make the
application using a database and front end application framework.”
This is a very valid question and the
answer to this is: A BPM tool does not do anything that a basic application
without a BPM tool cannot do. The difference is how a BPM tool implements the
same.
A big difference lies in the fact that
a BPM tool makes development and testing of these complex applications very
easy. A BPM tool reduces the effort of maintaining a database for the
application. The BPM tool will create its own database and maintain it for your
application. The tools will also provide an Application Programming Interface
(API) for the front end application to interact with it and retrieve or update
user specific data.
Another major reason why a BPM tool
can be of help is that a workflow designed on a BPM tool can be easily evolved
and modified. Imagine the amount of coding that would go into increasing an
approval step for the above mentioned business process if a BPM tool is not
used. Database changes, application changes etc. On the other hand a simple
node would be added to the workflow and the modified process could be used.
Conclusion
From
a developer’s perspective, one should be cautious about whether or not to use
Business Process Management (BPM) for a particular application. A developer
might find numerous instances where implementation of BPM may complicate a
fairly simple application. On the other hand application involving complex
business processes can be simplified to a great extent using BPM.
Quite informative content.. Thanks for the share!
ReplyDelete