BPM: Facilitating Agility
BPM technology is focused on managing the lifecycle of a business process through software. This involves creating a process model, implementing that model as a process application where work flows between people and systems, managing the running application, and optimizing the application while it's being usedeither to make core process improvements or to adjust to changing business conditions. Most BPM solutions support involvement by business users at various phases of the lifecyclethe most common being to enable business users to develop the initial process model that is then passed to IT for implementation.
Some BPM systems provide the ability to push much more of the process lifecycle activities out from the development organization and make the business user more agile. A great example of this is rules. In business processes, rules are most commonly used to manage the sequence of step execution and task assignments.
Rules can be designed for known business processes. For example, a company has these known situations for its business process:
- Platinum-level customers receive the fastest review of distributor return merchandise requests (RMRs), regardless of whether items are under warranty or not.
- If the merchandise is still under warranty, the RMR will be processed through a standard review. Otherwise, it will be processed through an "exception" review.
- RMRs received from customers in regional office areas will be processed by the company's local offices.
- If the RMR is rejected, the ERP system will be updated to reflect to the distributor that the RMR was denied.
Codifying these processes as rules ensures consistency and efficiency of company policies. Today there are WYSIWYG applications that greatly simplify the creation and modification of such rules. This also allows for processes to be adapted in real-time by addressing changing business conditions quickly and easily. The following is an example of how to create and adjust rules within the Ultimus BPM suite.
|Editor's Note: The author is an employee of Ultimus, a vendor of business process management products. Information about Ultimus BPM is provided herein as an example of BPM benefits. We have selected this article for publication because we believe it to have objective technical merit.
This rule will ensure that "Platinum" customers receive an expedited review, regardless of the warranty status of the products they are returning. To create the rule:
- Create an alias to represent the "customer care level." Call this alias Customer Status Level.
- Create a new rule by right-clicking on the Completed event node in the Get Cust and Item step, then select Add Rule. The new rule will automatically display in the Rule Editor pane.
- Drag the new alias Customer Status Level into the Rule Editor pane and place it on the rule.
- On the other side of the comparative operator, double-click, and then type Platinum. This creates an expression that states, "If Customer Status Level is equal to Platinum."
- Drag the action Activate Step to the termination point on the rule, then release the mouse button. Upon release, the Activate Step dialog box appears (see Figure 1).
- From the Step combo box, select the Expedited Review step. This creates a rule that states, "If Customer Status Level is equal to Platinum, then activate the step Expedited Review" (see Figure 2).
Figure 1. The Active Step dialog appears.
Figure 2. The Expedited Review is enabled.
Some of the rules will be used all of the time, some may only be considered in unique circumstances. But invariably they change frequently. Often, the change may be as simple as "skip this review step for a special customer." Invariably, special business conditions drive the need to change the rules, so empowering business to take more responsibility in managing the change can be good for both IT and business.
For example, imagine that the company in question has a customer (Worldwide Cable) that will be purchasing a high volume of merchandise for a large contract that will be fulfilled within 30 days. They would like all RMRs submitted by Worldwide Cable during the contract period to be processed rapidly to minimize delays for the contract. Therefore, Worldwide Cable, which normally has "Gold" customer care status will be receiving "Platinum" customer care status for a period of one month.
|Figure 3. Change the properties of the rule so that it expires in one month.|
To create this rule exception:
- Create an alias to represent the customer name of the RMR submitter. Call this alias Customer Name.
- In the Completed event node of the Get Cust and Item step, create a new rule. To do so, right-click on the Completed event node in the Get Cust and Item step, then select Add Rule. The new rule will automatically display in the Rule Editor pane.
- Drag the new alias Customer Name into the Rule Editor pane and place it on the rule.
- On the other side of the comparative operator, double-click, then type Worldwide Cable. This created an expression that states, "If Customer Name is equal to Worldwide Cable."
- Drag the action Set Alias Value to the termination point on the rule, then specify to set the alias Customer Status Level to "Platinum." This created a rule that states, "If Customer Name is equal to Worldwide Cable, then set the alias Customer Status Level to 'Platinum'." This rule will be named Worldwide Cable Customer.
- To allow Worldwide Cable to have "Platinum" customer care status for one month, right-click on the rule in the Rules pane and select Properties. In the Enable Properties section (see Figure 3), specify a period of one month. This ensures that the rule exception will automatically expire within 30 days without requiring human intervention.
|Author's Note: For this example, the ERP system will not be changed to make Worldwide Cable a "Platinum" customer for 30 days; this is being handled entirely within the process for a few reasons:
- This is the only Ultimus process for which the customer care level is relevant.
- The ERP system is complex, and making this change in the ERP system would require a large amount of time, effort, and financial resources.
- Typically, ERP systems are set up to only handle changes to customer status level for a period of 12 months or greater. Adjusting the ERP system to handle more granular status level time period changes would require extensive customization.
Reducing the Burden on IT
BPM systems that support distributing responsibility for managing running processes provide an opportunity for IT to reshape its relationship with business, accelerate deployments, and eliminate from their request backlog a number of items that are neither exciting nor challenging for developers. To capture that opportunity, it is critical to understand the key components of a business process, identify the most logical resource to manage that component, and assemble a team that involves business users and IT personnel to execute the activities. Ideally, the BPM environment should be intuitive enough for business users to create and modify rules.
On the other hand, Web Services development and SOA can lead to an agile business, but not if the IT developer has to constantly make code changes on his own to process items like rules, roles, and basic step definitions. If that's the case, then a business is only as agile as the developer's list of "to do items"the shorter the list, the more agile the business. By giving business users control of the right parts of processes, a business can achieve agility (and a more innovative and interesting "to do" list for the IT developer all at the same time). These tasks are not exciting for the developer, but if pushed to the business user, they can make the business more agile.
In summary, IT is under tremendous pressure to provide technology that supports continuous business change. BPM technologies can enhance the ability of IT to deliver on that goal while also improving alignment with business. When looking at BPM technologies, it is critical to assess the ability of the systems to support distributing responsibilities across a BPM team with skills that range from developers to business analysts to business sponsors. Once in place, the identification of who will be responsible for what aspect of process implementation and change becomes a pure business decision, driven by resources and goals, without technology constraints (e.g. "Business should manage the rules, but they are too complex and embedded in the process code, so we'll have to have the development team manage them.")
Organizations that have operated under this shared model have seen tremendous benefits including delivery of high business value, reduced backlog, faster, lower risk deployments, and improved stature of IT within the organization.