![]() |
|
| Home > BPM Tools / Techniques > Process Mapping | Search: | for |
| Highlights: | | | | | | | | | | | | | | |
|
Practical BPM: Smart Ways of Routing Work, Part 2
The second part of this two-part "Practical BPM" column explains what you need to understand about routing work with business process management (BPM). For Part 1 of the article, see "Useful Links." Dynamic RoutingIn many business process automation applications it's not possible to determine the recipients of process steps when the business process is being designed. Instead, it's only possible to determine the recipients of steps at runtime after a process incident is activated, and based upon information gathered by the business process. The following two cases illustrate the need for dynamic routing:
The dynamic recipient feature of some BPM systems allows a process variable to be assigned as the recipient of a step, and the variable specifies the name of a user, job function or group that will be the recipient. The variable can be populated at runtime by other workflow participants selecting names in electronic forms, by database lookup based on specific criteria, or by any other means (such as input from external scripts of applications). This latter feature enables external scripts or applications to specify recipients dynamically and is a very powerful method of extending the logic of BPM engines to handle any unique or customized routing method. An example of the use of dynamic recipient using the second example listed above is illustrated in Figure 11.
The recipient of the second Review step is the variable "Reviewer." At the first step of this workflow process, the user completes a purchase requisition form and selects an account number from a list of account numbers in a database. Behind the scenes, the workflow logic extracts the name of the account owner from a database table that corresponds to the selected account. This account number is assigned to the variable called "Reviewer." Therefore, as soon as the Review step is invoked, it's automatically assigned to the owner of the account selected in the first step. Since this can be done for all steps in a workflow process, the recipients of all steps can be determined at runtime by the information present in the data handled by the process. Furthermore, by invoking scripts and third-party applications that can return names of recipients to variables, a process can activate external applications or logic to determine the rules for routing the business process. If the variable used for dynamic recipients is an array (a group of variables), then this feature enables the implementation of dynamic groups. This powerful feature allows a group of recipients to be determined dynamically at runtime instead of at design time as shown in Figure 12.
Skills-Based RoutingSkills-based routing enables a process step to be routed to a different individual based upon the complexity or importance of the task to be performed. The complexity or importance is determined at runtime based upon an evaluation of the process data for a particular incident. The following examples illustrate the need for skills-based routing:
Without skills-based routing, the business process would be complicated as shown in Figure 13, since the process map and conditions will be used to route the task to different recipients depending on their skills. If there were a large number of skills or gradations of various skill levels, the process map would become proportionally complex. Skills-based routing is easily implemented by providing "conditional recipient" capabilities. The recipient of a step changes based on one or more conditions that the process designer specifies. The process diagram in Figure 14 illustrates how this can be used to provide skills-based routing, while at the same time simplifying the design of the business process. In this example, the recipient of the Approval step is based on the following conditions: Recipient = Credit Appraiser A if credit limit < $5,000 Note that in this solution only one step is required. However, the task is assigned to different users depending on the complexity or skills required. Furthermore, while the example involves a simple condition, it's very easy to expand the approach for situations where a complex set of conditions can be used to determine the skill levels and the recipient who has the required skills. Routing for Workload BalancingAt times it's 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 with the resulting change in the distribution of the tasks. If the weights of all the group members are equal, the tasks are distributed in a round-robin fashion.
The example in Figure 15 illustrates how this works.
A group called "Claim Processors" is assigned to the Review step. There are three members of the group (named A, B and C) and their assigned weights are 2, 2 and 4 respectively. Assuming that the business process is starting from day one, new claims as they come in will be assigned to A, B and C, as shown in Table 6.1.
While this is a simple method of distributing tasks based on workload, it may not be suitable for all situations. There are many other sophisticated algorithms that can be used for load balancing of tasks assigned to users. Two examples follow.
Every organization has its own concept of load balancing and what is equitable in terms of assigning tasks and measuring the performance of individuals. It's therefore not a good practice for BPM software to dictate one algorithm for workload balancing. BPM software must provide the flexibility of defining organization-specific algorithms that cater to the unique requirements of each organization (and, indeed, each individual). The dynamic recipient concept provides an excellent mechanism for implementing organization or application-specific workload balancing as depicted in Figure 16.
A process variable is assigned as the recipient of the step that has to be performed by a group of individuals using a customized workload-balancing algorithm. Before the step is invoked, an external script is executed that implements the custom algorithm. The script can be used to perform any algorithm or calculation for workload balancing suitable for the unique needs of the organization. It can use a number of criteria to determine the recipient for the step such as:
The algorithm returns the name of a worker in the process variable. This name then becomes the recipient of the step. Presence-aware RoutingInstant messaging (IM) started as a consumer phenomenon rooted in the success of AOL Instant Messenger, MSN Messenger, ICQ and other similar services. In addition to allowing consumers to easily and inexpensively chat with their colleagues, friends or buddies, instant messaging has another significant benefit that it provides presence awareness. IM users know when their buddies are online so that they can chat with them. Internet messaging is fast becoming an enterprise-class product that can facilitate real-time collaboration between members of an organization, their customers and partners. It has the same appeal in the enterprise as in the consumer market: namely ease-of-use, low cost and presence awareness. Business process automation can benefit from presence awareness in several ways.
These and other reasons will give momentum to the use of instant messaging in conjunction with BPM software in the future. The industry has to overcome the hurdle that instant messaging is still considered a consumer phenomenon and companies are only beginning to deploy IM infrastructure. Furthermore, there are still a number of competing instant messaging standards and issues regarding authentication and security. Routing and EAIIn addition to routing as it applies to people-centric workflow, routing is also an issue in enterprise application integration (EAI) where information is moved from one application to another as a part of a business process. However, the routing challenges are simpler and easier to handle in an EAI solution for a number of reasons:
The Need for Dynamic RoutingTask 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 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. Useful Links
For Part 1 of "Smart Ways of Routing Work," go here: Ultimus About the Author: Rashid N. Khan is the founder and Chief Technical and Strategy Officer of Ultimus Inc., a pioneer in business process management and workflow automation. Prior to establishing Ultimus, founded Sintech Inc., a leader in advanced software for mechanical testing. Rashid sold Sintech to MTS Systems in 1989, where he worked for a five years as a vice president and general manager. During this period he took the company through ISO 9000 certification. This experience made him aware of the need for business process management and workflow automation. Rashid obtained two undergraduate degrees from MIT in computer science and political science. Khan is the author of Business Process Management: A Practical Guide, has published numerous articles and spoken at a number of events. Contact Rashid N. Khan at info (at) ultimus.com or visit http://www.ultimus.com.Reproduction Without Permission Is Strictly Prohibited Request Permission Publish an Article: Do you have a process management tip, learning or case study? Share it with the largest community of Business Process Management professionals, and be recognized by your peers. It's a great way to promote your expertise and/or build your resume. Read more about submitting an article. |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Home | Discussion Forum | Event Calendar | Job Shop | |
| Link To BPMEnterprise.com | Report A Problem | Submit Article For Publishing | |
| Terms of Service. ©2003-2008 BPMEnterprise.com, CTQ Media LLC. All rights reserved. v1.0, 0.0 |
About BPMEnterprise.com · Contact Us · Privacy Policy · Site Map. |