A business process is a set of activities, tasks and events performed by systems and people to achieve a business goal. Commissioning a process involves several steps ranging from the ideation of the process through the building, and continuous improvement of the process – this is typically referred to as the business process life-cycle of a process. Business Process Management refers to the concept of managing a business process through its life-cycle.
A typical Business Process Life-cycle contains the following phases –
Business Process Discovery
This involves identifying an new or existing business capability and its functionality at a high-level. The process is then graphically documented with associated information. The key information that is captured at this stage is the sequence of events, their dependencies, broad ownership of the events (organizational groups, external partners, etc) and an overview of information that flows between events. This is a first step in modeling the process, and is best done using a Business Process Modeling tool.
Using a tool that supports BPMN (Business Process Modeling Notation) will ensure that the process documentation follows a standard, and thus can be understood and interpreted correctly by other tools that are support this standard. Picking a tool that also supports BPEL (Business Process Execution Language) is essential, since the process can then later be evolved into an “executable” model, without having to build it all over again.
Business Process Analysis & Modeling
Once the process is documented and modeled, the model can then be analyzed further and enriched. The analysis and modeling are closely inter-related steps that iteratively enhances the model. Some of the information added during this stage could be additional detail about the information flowing between the events, including data formats, fields, etc. Groups and roles that perform tasks might be added here.
Key Performance Indicators (KPIs) can be set up for measurement or calculated at key points in the process flow, or for the entire process itself. Most BPM tools offer several standard built-in process-level KPIs. Custom KPIs that are more meaningful to the process could be defined as well, for gathering more useful information about how the process is performing in relation to its business goals. KPI values are available after or during the execution of a process.
During this stage, the Business Rules can also be added to the model. Business rules represent the policies, procedures and constraints which apply to the process. Anything that defines a calculation or an operating principle of the organization or the service is a good candidate for a business rule. What is the value in identifying and modeling rules? Rules tend to change far more often than the rest of the process. Modeling business rules as rule-steps in a model, as opposed to a combination of other process steps (for e.g. to model an if-then-else kind of scenario) helps to extract the management of these frequently changing elements without having to change the process model each time. A business rules management system (BRMS), which is software system used to manage and support rules in an organization, is ideally suited for such a purpose and is warranted where the number of rules exceed a manageable handful. Most BPM tools come with a built-in Business Rules Engine (BRE), which can interpret rules and execute them and aid the process.
Business Process Simulation
Simulating a process provides a quantitative estimate of the impact the design of a process can have on its performance. This can be done at any stage in the process , but evidently, the results are as rich as the detail in the process. Simulation usually involves setting expected time taken at each step, and probabilities of each path, and then running the process over a number of transactions to view results.
Simulating a process with data details on each step, KPI calculations and rules, can give valuable information about bottlenecks and process performance when the data is protracted over a large number of transactions. This data can be used in determining if the process needs to be re-designed to avoid a bottleneck, or to improve a KPI, or if a manual step needs to be automated.
Simulation can also yield valuable results further down the life-cycle after development, to analyze the performance of developed steps, or while performing a what-if analysis at any stage of the process. Read more about Business Process Simulation.
Business Process Development
This is a crucial part of the business process life-cycle – where each step of the business process is mapped to a technical service or implementation of the process. Business Process models written in the BPEL format are meant to be executable, and assigning them an executable service is what makes them executable.
Some BPM tools offer basic application hooks (such as adapters, listeners, etc), or codable components (where small pieces of code can be written to implement some steps, connect to databases, etc). However, these can soon become unmanageable, as they are not part of a formal code-base that can be tracked, versioned, compliance-checked, or even viewed/edited easily. Moreover, these are often not re-usable and can end up in a messy spaghetti, rendering the BPM implementation devoid of the agility that it sought to achieve in the first place.
Having a Services Enabled Infrastructure built on SOA principles, where business and technical services are organized, catalogued, and available for use by processes is critical in laying a good foundation for a scalable and agile BPM implementation.
Business Process Execution
After the business process is designed and developed, it is now time to deploy it in a live environment where it can be executed. This refers to the actual use of the process by users. Deploying a process can require coordination, integration and change on some fronts – a lot of it could be to do with the human beings involved in using this process. This is typical cutover procedure, where users move over from an existing way of doing things to a new way.
On the systems front, since the BPEL model is executable, it can be deployed on an implementation platform that is capable of executing such a model (most BPM tools have a Business Process Execution Engine – BPEE). While parsing the BPEL model, the BPEE, will connect to and execute the underlying services or the human interaction tasks that implement each step of the process. This necessitates that the implementation services should have an interface that can be understood by the BPEE. This can be achieved through having a standards-based interface (such as web-services) to the implementing services that can be understood by any BPEE, or by having the implementation services as part of the proprietary platform as the BPEE, in which case they can communicate using a custom protocol. The first approach, being standards-based, offers the flexibility to choose the best-of-breed BPM tool and a best-of-breed implementation platform, but requires some managed coordination between the different pieces. The second approach, unless standards-based, could potentially limit us to a single proprietary platform, without the flexibility to change either the Business Process Execution Engine or the implementation platform. There are plenty of successful implementations using both kinds of platforms – so it is just a matter of choosing the best-suited for an organization, and making it work in the right way.
Business Process Monitoring and Optimization
A live process has a wealth of information about itself, such as its efficiency, errors, any bottlenecks that might be reducing its throughput or the total time taken, the opportunities for improving the efficiency of a step, a series of steps, and the whole process itself. Monitoring the process to collect such measured/calculated KPIs of a process (defined in the analysis & modeling stage), provide this information.
Most BPM tools have the capability for such monitoring of a business process to collect KPIs and other process information, and also to analyze this information to determine the above stated bottlenecks, etc, and also suggest potential areas that need attention or optimization.
The optimization or improvement of the business process can be achieved in several ways by taking such process analytics and reports into consideration. It could be re-designing the process or modifying the business rules or conditions that cause bottlenecks, or it could point towards changing the way in which the process is used – basically, this is where the cycle repeats itself, and the process evolves. This is where the human intelligence uses the business intelligence reports to create intelligent processes for the organization.
In my next post, I will talk about a BPM implementation from a project implementation point of view, and how the phases of such an implementation relate to the phases of a Business Process Life-cycle.