Practical Business Process Management Articles, Research and Advice for BPM
  Home > BPM Tools / Techniques  > Process Mapping Search:
 
 for    
 Highlights: Buy BooksBuy eBooks|Business Process Management Blog | Quality Events and Training Calendar | Quality Dictionary | Business Process Management Discussion Forum | Business Process Management Jobs | Business Process Management News and Press Releases | Free Business Process Management Newsletter
 Free Newsletter!  
Improve your
business process management skills and knowledge


Sign up today!
  Manage Subscription
  BPM Basics
  BPM Selection
  Glossary of Terms
 BPM Directory 
  BPM by Function
  Human Change
  Methodology
  Metrics
  Project Management
  Risk Mitigation
  Technology
  Tools / Techniques
  Vendors Consultants
 Channels 
  Innovation
  Outsourcing/Sourcing
  Six Sigma
 Quick Access 
  Help
  Search
  Advertise Here
  Article Archives
  Newsletter Archives
  RSS/XML Feeds
 User Feedback 
  Please suggest site
  improvements.
 
  [ larger form ]

Practical BPM: Smart Ways of Routing Work, Part 2

Bookmark This Page Bookmark This Page
Email This Page Email This Page
Format for Printing Format for Printing
Submit an Article Submit an Article
Business Process Management Article Archive Read More Articles
Related Tools & Articles
  • Discussion Forum
    "Sometimes relationship routing is something we use to prevent hardcoding people into the map..."

    Contribute to this Discussion

    By Rashid N. Khan

    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 Routing

    In 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:

    • A general-purpose document-routing business process is used to route documents to various individuals in an organization for their review and feedback. A document can be routed in series or in parallel. For this workflow application, the recipients of the workflow steps are known only when a user initiates a new incident of the process and decides and selects the other individuals who will participate in the review. In this example the recipients of the review steps are selected by the initiator of a workflow incident and not by the person who designed the business process.
    • A purchase requisition process is designed to enforce a rule that a requisition must be charged to a particular account, and that the account owner for the selected account must also approve the requisition. A company may have many accounts with different owners. In this case a person wishing to buy something will charge it to a specific account. A database table consisting of account numbers and their owners is used as a directory to determine who the owner of the account is. The approval step is then routed to the account owner. In this case, the recipient of the approval step isn't known when the process is designed; it's determined dynamically when an incident of the process is executed.

    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.

    Figure 11. Dynamic Routing.
    Figure 11. Dynamic Routing.

    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.

    Figure 12. Dynamic Groups.
    Figure 12. Dynamic Groups.

    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 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:

    • A Credit Approval process may stipulate that the Approval step be performed by different appraisers based upon the amount of credit sought.
    • 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.

    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
    = Credit Appraiser B if credit limit >= $5,000 and =< $25,000
    = Credit Appraiser C if credit limit > $25,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 Balancing

    At 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.

    Figure 13. Process Map for Implementing Routing based on Skills.
    Figure 13. Process Map for Implementing Routing based on Skills.

    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.

    Figure 14. Skills-based Routing Simplifies Process Designing.
    Figure 14. Skills-based Routing Simplifies Process Designing.

    The example in Figure 15 illustrates how this works.

    Figure 15. Workload Balancing.
    Figure 15. Workload Balancing.

    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.

    Table 1. Task Assignment Using Weighted Groups.
    Table 1. Task Assignment Using Weighted Groups.

    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.

    • BPM software can measure the average task time for all tasks and keep a database of average times. These statistics can be updated periodically using metrics from real processes. When a new task is to be assigned, it can determine the number and type of tasks in a user's inbox, apply the average time to each, and determine how long it will take the user before he or she can work on the new task. By calculating this for all users, the software can assign the task to the user who is most likely to get to it the earliest.
    • BPM software can determine the number of tasks performed by all users and compare it against a weekly quota established for the users. It can then assign the task to the user who is available and also is the furthest from achieving his or her quota.

    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.

    Figure 16. Custom Workload Balancing.
    Figure 16. Custom Workload Balancing.

    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:

    • Availability of workers
    • Past distribution of work among the workers
    • Current backlog of work for the workers
    • Performance goals or quota of the workers
    • A combination of the above

    The algorithm returns the name of a worker in the process variable. This name then becomes the recipient of the step.

    Presence-aware Routing

    Instant 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.

    • A BPM system can provide a "presence-aware recipient" type for steps in a business process. A group of users capable of performing the task can also be associated with a step. The software can use IM functionality to determine which members of the group are available at any given time. Instead of assigning a task to a user who may not be available, it can use the presence awareness feature of the IM platform to assign the task only to the user who is available. As instant messaging becomes more sophisticated, a BPM system will be able to determine not only who is available, but also what type of task the user is currently interested in performing.
    • The sequential group recipient type is designed to hunt for a person within a group who is available to perform a task. This hunting mechanism is slow since it happens sequentially. With instant messaging, a BPM system can send a message to all the members of the group and inquire who is available to perform the task. It can then assign the task to the first person who replies in the affirmative. This approach is proactive and much more efficient.

    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 EAI

    In 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:

    • 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 don't have a large number of enterprise applications. Typically there may be a dozen or two enterprise applications and those that are involved in a specific business process may only be a handful.
    • Applications play well-defined roles that are fixed. There is no need for role-based, relative or skill-based routings.
    • Workload balancing isn't 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 becomes available. Generally, the processing time for application tasks is very fast. With proper process modeling, a business process can be designed to ensure that there is no unacceptable backlog.

    The Need for Dynamic Routing

    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 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

    This article is an excerpt from Rashid Khan's Business Process Management: A Practical Guide. Order your copy here:
    http://www.bpmenterprise.com/yDQ

    For Part 1 of "Smart Ways of Routing Work," go here:
    http://www.bpmenterprise.com/content/c070611a.asp

    Ultimus
    http://www.ultimus.com

    About the Author:

    Rashid Khan of UltimusRashid 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.

     
    Rate This Article:  Current Rating: 4.50
      Poor    Excellent     
              1    2    3     4    5
    Copyright © 2003-2008 – BPMEnterprise.com, CTQ Media LLC. All Rights Reserved
    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.

    BPM AdLinks
    Process Management Training Slides
    AdLinks Information
     
    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