Thursday 16 May 2013

Business Process Management Strategy


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. 

1 comment: