Like the “enterprise portal” of the late 90’s, Business Process Management (BPM) is the new IT industry buzz word. More and more organizations are jumping on the BPM bandwagon hoping to lower operational cost and increase agility. In this article we will explore the definition of BPM, look at the components that make up a comprehensive BPM platform, and explain how BPM fits in with Service Orientated Architecture (SOA). Finally, we will discuss some considerations in selecting a product to support a BPM initiative.
Simply stated, Business Process Management is a framework for managing business processes throughout each of the four major phases of the business process lifecycle: Design and Development, Execution, Monitoring/Management, and Analysis/Optimization. It is a continuous process, striving for continuous process improvement (CPI), with the ultimate goal of automating, executing, and improving business processes.
In the past, organizations had to use multiple tools from different vendors to manage business processes through different phases of their lifecycle, resulting in limited tool integration, and increased management costs. To address this issue, vendors created Business Process Management Suites (BPMS), platforms that included business process management tools, application integration capabilities, and a data repository.
There is no standard that defines the necessary components of a BPMS, but the major players in the BPMS market offer most of the core components listed below:
Process Modeling Environment
This is a design and development environment that provides graphical tools for modeling “As is” and “To be” process models. Along with modeling processes that support common modeling notations like BPMN and UML, the process modeling environment is used to integrate any dependant applications. Finally, this environment also includes simulation capabilities allowing for potential “To be” models to be validated against performance metrics for various loads.
The process repository facilitates the storage of process models created in the process modeling environment. The repository provides version control functionality along with the ability to capture attributes related to each process such as author and dependency information.
An execution engine manages the execution of business processes at run time and maintains the state of each invoked process. The engine can run multiple instances of a single process simultaneously, and different versions of each process. As a process executes, the engine orchestrates any calls to dependant people, applications, or data stores, including dependencies internal and external to the organization.
Business Rules Engine
Business Rules Engine (BRE) is a central repository that allows an organization to capture, documents, and automate the application of business rules. The Business Rules Engine works closely with the execution engine to apply business rules and aid in the resolution of complex business decisions.
Monitoring and Administration
Business Activity Monitoring (BAM) provides a graphical interface to monitor the execution of business processes to ensure processes are in line with performance, cost, and quality metrics. Users can view the current state, status, and productivity of any process, resulting in the ability to rapidly respond to any issues encountered during the execution of a process.
Analytics, Optimization and Analysis
Using the execution history repository, these components provide the ability to analyze historical process performance data in order to identify opportunities for process improvement. Process Managers can modify existing processes to determine if the proposed changes will optimize the existing process. This component permits the construction and testing of alternative processes and “what-if” scenarios.
SOA and BPM
Whereas SOA is a service orientation approach to defining the enterprise, BPM is a process oriented approach. Although the viewpoint into the architecture differs, both BPM and SOA share the same goal of establishing a componentized enterprise where reuse, lower development costs, and adaptability are the principal benefits. It all comes together when we decompose a process into its core elements. A business process is a collection of tasks/activities where each task/activity can be mapped to one or many services; SOA provides the infrastructure that facilitates the consumption of services by a business process.
Preparing for BPM
Let’s now consider how to prepare for implementing BPM. Before embarking on a BPM initiative, it is critical to understand the types of processes that exist with the organization. One method for classifying business processes is by the type of dependencies that exist within the process. Using this method, processes can be grouped into two categories: system dependent and human dependent. System dependent processes rely heavily on interactions between applications and systems located both inside and outside of the enterprise. Human dependent processes require human interaction in order to achieve the objective of the business process. An example of a human dependent process is when a customer service representative records a customer compliant and routes it to the proper manager. The process cannot be completed without human intervention. When it comes time to evaluate and select a BPMS product, understanding the category into which the majority of the business processes falls is instrumental in identifying the products that are best aligned with the needs of the organization.
Another factor to consider when evaluating BPMS products is the inclusion of templates and frameworks. Newer product offerings include templates for processes that are associated with the different vertical industries. Although the templates do not model the entire process, they do provide between 70-80% percent of the process, allowing organizations to quickly model processes and be flexible enough to customize the process. While evaluating vendors, look for vendors that provide support for vertical associated with your organization.
Finally, it is important to understand the growing number of standards that exist in the different phases of the business process lifecycle. A significant factor when evaluating a product is its support for key standards. With the merger of OMG and BPMI, Business Process Modeling Notation (BPMN) is emerging as the de facto standard for modeling business processes. Modeling tools that support BPMN lay the ground work for establishing a common method for modeling processes in a consistent format that is supported throughout the industry. Another important standard within the design phase is OMG’s