Co-authored by BPM.com's Nathaniel Palmer, and with a forward by Dr. Bruce Silver, the BPMN 2.0 Handbook offers both the business and technical perspectives written by the standard's authors, leading implementors, and most respected experts; The 47-page excerpt contains the complete Forward, Introduction, BPMN Glossary, and Making a BPMN 2.0 Model Executable; authored by Nathaniel Palmer and Lloyd Dugan. Free to registered BPM.com members.
Click Here to Download
Articles
Smart Ways of Routing Work
Excerpted from Business Process Management: A Practical Guide By Rashid Khan.
The essence of business process automation is the ability to route the right information to the right individuals or computer applications at the right time so that the right decision or action can occur in a timely fashion. Human beings work together in complex ways. Even when there are rules that prescribe the proper way of conducting business, many actions and decisions are made on an ad hoc basis for the purpose of expediting or handling new or special conditions that arise frequently.
Business processes reflect the complex nature of these interactions. The complexity of business processes increases in proportion to the size of the organization. Changing business processes is even more difficult because it often involves politics, economics, prestige and egos. However, there is enormous internal and external pressure on the modern organization to be able to accommodate change in order to be competitive. BPM software must provide powerful and flexible means of routing work to accommodate the complexity and the ever-changing variety of these interactions.
A number of methods for routing work are necessary for the flexibility required to automate complex processes. The constructs and mechanisms offered by modern BPM software can be adopted for different methods of routing work, and BPM software is evolving to offer even more sophisticated and intelligent options. When a business process is designed, a recipient is specified for each step. Because the specified recipient determines the routing of a business process, it is important to understand the various types of recipients and the flexibility that each offers.
Name-Based Routing
Name-based routing is the simplest method of assigning and routing work. Each task in a business process is assigned to a specific, named individual. For example, a company has a rule that Jane Doe must review all change orders. When an incident of the process occurs, the Review step is simply routed to Jane Doe.
Although simple, this approach is practical for only the smallest organizations and relatively small processes. If Jane Doe is promoted, leaves the company, or otherwise changes job responsibilities, the process will no longer work since the task will no longer be Jane Doe’s responsibility. The business process therefore has to be redesigned, and Jane Doe’s successor has to be named as the recipient of the Review step. A solution that requires changing a business process simply because of changes in job responsibilities is not viable.
Role-Based Routing
Role-based routing addresses the limitations of name-based routing. Instead of assigning a task to a specific, named individual, assign it to a job function or role that is responsible for performing the task. This requires the definition and maintenance of roles that can be accomplished through a roles table.
Role-based routing makes business processes independent of individuals by assigning tasks to job functions. While the job functions and the structure of a company’s organization chart are not static, the rate and magnitude of change is generally less than the change in employees. Role-based routing, therefore, makes it easier to implement and manage business processes in an organization.
Advanced BPM software provides comprehensive organization chart capabilities that are closely tied to the network or human resource directories maintained by companies. An organization chart enables a company to identify all the roles and the people who perform the roles, making it easier to implement role-based routing.
Relationship-Based Routing
Numerous business processes require routing of tasks based upon reporting relationships. For example, the employee’s supervisor must approve an expense report submitted by an employee. The employee’s department manager must approve a purchase requisition initiated by the employee. Role-based routing is not able to handle this requirement because there are many employees with different supervisors and managers.
Relationship-based routing allows a task to be assigned to a job function that has a specific relationship with another job function. Since relationships between job functions are dictated by the company’s organization chart, relationship-based routing necessitates the definition of an organization chart. Furthermore, it requires the specification of two pieces of information: (1) what is the relationship, and (2) with respect to whom, or the seed. There are four typical types of relationship-based recipients:
1. Supervisor of Initiator: The recipient is the supervisor of the person who initiated the incident.
2. Supervisor of Previous Step: The recipient is the supervisor of the person who completed the previous step in the business process.
3. Manager of Initiator: The recipient is the manager of the person who initiated the workflow incident.
4. Manager of Previous Step: The recipient is the manager (the relationship) of the person who completed the previous step in the business process (the seed).
Groups
In many business processes a task must be performed by a group of individuals instead of an individual. This generally happens when the collective opinion or input of more than one individual is required. For example, a sales forecasting process may require all regional managers to provide their forecasts; or a manufacturing control process may require the input of all quality managers. In both cases the recipient is a group.
A business analyst can design a process that uses multiple steps in parallel to obtain feedback from a group of individuals. For example, the analyst could design a sales forecast process that has five steps in parallel that are labeled “Forecast 1” to “Forecast 5.” Each step is assigned to one regional sales manager. This approach will work, but has significant draw-backs:
1. The process is unnecessarily complex. An identical activity performed by five different individuals is represented by five different steps.
2. If the number of regional sales managers increases or decreases, the business process will have to be redesigned.
Group-based routing provides an excellent method of addressing these drawbacks. If a group is named as the recipients of a step, all the members of the group are assigned the task in parallel. If the number of the regional sales managers increases or decreases, the business process does not have to be redefined. Only the members of the “Regional Sales Managers” group have to be changed. Moreover, the process map is clean and uncluttered without redundant steps. Even if the number of regional sales managers increases to 50 as the company grows, the process map will contain only one step for the activity of entering the sales forecast. Furthermore, since the members of the group are determined at run time, any changes to the list of members in reflected in new incidents as soon as they are made.
For some business processes it is desirable to assign a step to a group, but then proceed with the process as soon as a subset of the group members have completed their tasks. For example, a process may require any 3 out of the 6 quality managers of the company to provided their input before it can continue. Adding a “Minimum Response” feature can enhance the Group-based routing. The step is assigned to all members of the group. However, if Minimum Response is stipulated as 3, the process will proceed to the next step as soon as the first 3 members of the group have completed their task.
Sequential Groups
Many business processes require that a document be reviewed, signed or approved by any one member of a group that has a specific authority level in the organization. For example, a company may have a rule that any one director must approve every new job requisition greater than $50,000. Therefore, the requirement is to find one of the directors who is available and has the time to review the job requisition. If the director is not avail-able, then the search must begin to find another director who can perform the task.
If this business process is automated, it is necessary to automate the task of looking around, or hunting. One convenient technique is to declare the recipient of the step to be a sequential group, then assign a group to that step. A time limit is specified for the step and the members of the group can be ordered in an appropriate sequence. The BPM system will send the task to the first member of the group. It will then wait for the specified time limit. If the first recipient performs the task in the specified time limit, the process moves on to the next step. If, however, the first recipient does not perform the task in the specified time limit because he or she is busy (or perhaps not even at his or her desk), the task is removed from the first recipient and assigned to the second. Using this technique the BPM server essentially hunts to find the person who can do the task.
Queues
In many business processes a task has to be performed by any one member of a group. However, at any given time, it is not known which member is available and with what other tasks the member is preoccupied. If a task is assigned to one of the members, he or she may not be able to perform it in the required time while another member may be free and available.
Therefore, the common practice is to assign the task to a shared in-basket or shared inbox. BPM software makes this type of routing possible via queue-based routing. The recipient of a step can be a queue, which is a shared electronic inbox. Each queue is associated with a group. Any member of the group can pick the next task from the queue.
Relative Role-Based Routing
Role-based routing enables tasks to be assigned based upon roles instead of individuals. Role-based routing, however, is not sufficient for effectively handling many real-life business process routing requirements of larger organizations.
Relative Role-based Routing offers an excellent solution for large organizations with multiple departments with similar roles. The “Relative” Job Function consists only the base job function without and departmental or divisional qualifiers. When a process executes, the system will first determine the role to be examined and then route the work to the related job function within the user’s specific department. Relative Role-based Routing therefore enables the design of sophisticated business processes that can be applied to many departments within organizations, without having to change the basic design or making it unnecessarily complex.
Dynamic Routing
In many business process automation applications it is not possible to determine the recipients of process steps when the business process is being designed. Instead, it is only possible to determine the recipients of steps at run-time after a process incident is activated, and based upon information gathered by the business process. Dynamic routing addresses this challenge by allowing the routing to be driven by data collected during the process.
Skills-Based Routing
Skills-based routing enables a process step to be routed to a different individual based upon the complexity or importance of the task to be per-formed. The complexity or importance is determined at run-time based upon an evaluation of the process data for a particular incident. The following example illustrates the need for skills-based routing:
1. A Software Problem Resolution process is designed to route a problem report to different developers based upon the complexity of the problem. Simple cosmetic problems may be routed to junior programmers, whereas highly complex issues that cause product instability or loss of user data have to be routed to senior programmers.
Skills-based routing is easily implemented by providing “conditional recipient” capabilities. The process diagram illustrates how this can be used to provide skills-based routing, while at the same time simplifying the de-sign of the business process. Here, the recipient of the Approval step is based on the following conditions:
Recipient =
Credit Appraiser A if credit limit < $5,000
Credit Appraiser B if credit limit = $5,000 and < $25,000
Credit Appraiser C if credit limit = $25,000
Routing for Workload Balancing
At times it is useful to distribute tasks to various members in a group based upon their workload, how much work they have already completed, or some other quota. For example, in a claims processing workflow it may be useful to distribute new claims to claims processors who have the least number of tasks to do. This requires BPM software to provide a means of assigning recipients based upon some workload-balancing algorithm.
A weighted group is an example of a simple load-balancing technique. In this technique a group is assigned as the recipient of a process step. Each member of the group is assigned a weight that dictates the distribution of tasks among members of the group. When a new task is generated, the BPM server will calculate the ratio of tasks already performed or assigned to the members of the group, compare this with the ratio of the weights assigned to each member, and then assign the new task such that the ratio of tasks assigned is the closest to the ratio of weights. A supervisor or manager can change the weights at any time.
Routing and EAI
In addition to routing as it applies to people-centric workflow, routing is an issue in EAI where information is moved from one application to an-other as a part of a business process. However, routing challenges are simpler and easier to handle in an EAI solution because:
1. A business process dealing with enterprise applications has only a limited number of applications that can be recipients of a task or information. Companies having hundreds or even thousands of employees do not have a large number of enterprise applications. Typically there may be a dozen or so enterprise applications.
2. Applications play well-defined roles that are fixed. There is no need for role-based, relative or skill-based routings.
3. Workload balancing is not a major issue with applications. Most applications support some form of message queue that enables messages or tasks to be queued for processing when the needed application be-comes available.
Conclusion
Task routing is a major goal and challenge for BPM systems, especially those dealing with people-centric business processes. Since organizations are complex and dynamic, BPM systems must provide a means of handling change without redefining business processes or relying on hard-wired code that define the routing of work. As the use of BPM systems grows in a company, one of the most significant capabilities will be how well the systems cope with dynamically routing work in response to the constant flux in the organization and its ecosystem.
|
BPMN 2.0 Handbook
Most Downloaded
2009 BPM State of the Market Report (3403)
BPMN 2.0 Handbook (2903)
Process Mapping 101 A Guide to Getting Started (1298)
What is the difference between Workflow Engines and BPM Suites? (1273)
Getting Started with Business Process Management (1235)
WHITE PAPER: 180 Day Transfomation Plan (1154)
Getting Started With BPM (1110)