In this blog series, we examine BPM from multiple perspectives and you can find my last post Part 2 – BPM as a Solution here. Part 3 of our series analyzes Perficient’s approach to BPM.
The Perficient Approach
The Perficient approach to BPM is predicated on the idea that large production BPM solutions will always require design and customization to fully exploit the promise of the tools. In each organization, there will be some unique and custom features that, based on their repeated usage, will provide tangible benefits. This typically includes integration with existing systems, specialized forms and calculators, and other special capabilities that automate frequently performed processes.
At the same time, through 30 years of experience implementing BPM, Perficient staff have developed scores of specialized features that are used consistently in most high volume, production systems but are not included in typical out of the box vendor BPM tools. This has led us to see the need for a base user application layer that can provide these additional standard tools but is also designed to be highly configurable and extensible to meet the custom needs of large clients.
Trex Templates to bridge the gap to industry solutions
Trex is an application that sits on top of BPM and ECM software to provide a highly configurable and extensible user interface layer designed specifically for high volume, production BPM solutions. It includes many features specifically designed for high volume environments that are never found in typical out of the box BPM tools. Furthermore, it is designed to be configured and extended to make high volume, production systems as efficient as they can be.
As any software discipline matures over time, there is a steady movement from highly customized software to product software. Over time certain applications are built repeatedly, and someone invests in building a product version. If the market continues to expand, these product versions become more sophisticated and more varied and custom development is left for requirements that are truly unique to each organization. Implementation becomes more efficient because fewer parts of a system need to be built from scratch.
Perficient sees Trex as the first step in this process for high volume, production BPM applications. We have developed a set of Application Templates for several common production applications including:
- Investor Services
- Loan Operations
- Life Insurance and Annuity
- Property and Casualty Insurance
These templates are preconfigured base systems that include routing maps, data definitions, user interface definitions, and certain custom features that are specific to an application area. They incorporate best practices learned from multiple implementations but they are meant to be extended and customized based on the unique requirements of a client. They provide a further head start in the process of designing the BPM environment and avoid the implementation team having to redesign basic functions that have been developed many times before.
Trex methodology to complete the picture
Because building a good BPM solution requires full participation by both IT and the business, it requires a methodology that encourages collaboration. In addition, because a good BPM solution often makes radical changes in the way the business performs and manages work, it requires strong facilitation to help the business understand the possible options. Some middle to lower level business users will tend to resist major changes in how they do their work and how they are organized and will want the new solution to conform to the way they are used to doing things. This resistance negates the value that BPM technology can bring to the process redesign.
Perficient has developed a BPM design methodology around Trex and the solution templates. While Trex itself and the appropriate template provide a base to help both business and IT understand the core capabilities of BPM tools, the methodology is built around a series of interactive, facilitated design sessions that are used to jointly design the work classes, workflows, and major screens that comprise the reengineered processes. This allows the kind of give and take needed to efficiently consider many options while also fully understanding the business and technical constraints that may not be apparent at first glance.
Based on the goals and objectives of the business processes, the design sessions and follow up work create a system concept for the BPM solution that describes in functional terms how the solution works and how users will interact with it.
Many BPR methodologies start with an “as-is” phase, in which the design team carefully documents all of the current processes. We do not include it in our standard methodology because this approach tends to focus analysis on the details of current procedures instead of the purpose of the business processes being analyzed. Often, lower level staff are so immersed in the details of the process that they do not fully understand the ultimate business objectives.
Once a new concept for the BPM solution is created and approved by stakeholders, we can proceed with a more traditional system implementation approach which can be tailored to the clients’ standard development processes. Perficient’s approach has been used to successfully implement many high volume, production BPM solutions across many industries.
Trex as a foundation
The following sections describe a small sampling of some of the unique features that Trex contains which make it so well suited as the basis for a high volume, production, human-centric BPM solution.
Hierarchical Queue Tree
Most production systems have a large number of queues representing various discrete functions and separate organizational splits of work waiting for that function. A typical system can have more than 100 separate queues to organize the work. Trex allows you to configure these queues as a standard hierarchical tree in which specific branches can be expanded and collapsed. While each user will only see the queues to which they have access, this can still be a large number for management and supervisory users. Most systems just list the queues, making it difficult to find a specific queue or requiring a separate queue search capability. With the queue tree, each user can expand or collapse the tree to expose the queues they use frequently while still having quick access to all the queues. Trex remembers the state of the queue tree for each user for further efficiency.
Get Next Processing
High volume, production BPM by definition includes many transactions that are repetitive and somewhat mechanical. Users processing these transactions do not need the ability to browse through a list of potential transactions. This just wastes time, and in most cases, the business would rather set up standard rules defining any priority ordering scheme for the transactions.
If a user is processing this type of queue, the system should just present them with the next work item based on configured rules. As soon as they complete the work item, it should give them another until all work items are completed or until they leave the queue. This ensures the highest level of worker efficiency and that work is done based on business priorities.
Trex allows each queue to be configured for Get Next or Browse access for each role. If a queue is Get Next only, the sort configured for the queue will determine the order in which work items are assigned to users who are ready for work. An additional capability allows the definition of filters so that certain roles will only be assigned work items for which they are trained. Each queue can also be set to push work items that are specifically assigned to an individual first before they get other unassigned work. Together these features allow for great flexibility in automatically pushing work out to users.
In some cases, it is appropriate to give some or all users the ability to browse the work items in a queue and manually select which ones they will access. This makes sense for a queue where processing order is determined by external events. For example, work items might be selected based on incoming phone calls. It also makes sense for supervisory users who have responsibility for managing the queue.
But in a high volume, production system, queues could have thousands or tens of thousands of work items. How can you effectively browse through such a large number of items? Trex uses the concept of browse trees to summarize the contents of the queue based on the possible values of specific preconfigured fields. Each level in the tree is defined by a configured work items field that has a reasonably limited number of potential values.
When the queue is selected, Trex first builds and displays the browse tree based on the current values of work items in the queue. The tree only includes branches for work item field values that are currently represented in the work items in the queue. Each queue can have a different set of work item fields configured.
Each branch of the tree lists the number of work items at that branch. The user can select a branch at any level of the tree, and Trex then displays the list of work items corresponding to that branch. So the user can decide based on knowing the number of work items that will be displayed. Trex displays the work item list in pages since in a large system it could still be hundreds of work items or more.
Integrated Content and Work Items
While BPM and workflow processes do not require unstructured content, most high volume, production systems have a need to associate some content with work items. These could be individual forms filled out by customers, backup documentation on which decisions are based, or copies of the exact correspondence sent to the customer. Efficient handling of this associated content is critical to making a high volume, production system efficient and flexible. Trex leverages ECM technology to provide a unified user application that efficiently handles both the work items and any associated content.
The screen above displays a single work item including various work item data. The work item also includes a list of document attachments. The user can see properties of the documents and has access to a number of features including viewing one or more of the documents, checking revisable documents in and out, re-indexing individual documents, or viewing the version history of a document. Each queue can also be set to automatically load documents when the work item is opened for those work steps that usually require viewing the documents. This can be very efficient for high volume steps. For longer lists of documents, the user can toggle the attachments pane to a tree structure that organizes the documents by common property values.
Beyond simply integrating with ECM, a well-designed system ensures that all content necessary for a business process is contained in the workflow. Trex retrieves a list of required documents based on work item or external information. The Document Checklist can be configured to force the correct set of documents to be present before a work item can proceed to the next step in processing and is integrated with a rules engine to associate specific document sets with different types of work items.
A standard function of virtually every high volume, production system is the ability to put work aside while waiting for a response from an external party. This requires the work to be available in case the response comes in as well as to automatically be presented to the user if no response is received in a set amount of time. Trex calls this capability Pend and includes it in the base system functionality.
Split and Link
In complex systems, separate work items may be created that relate to the same item of work, or, conversely, one work item may include elements that are really two separate items of work. Any large system needs to provide users with tools to combine individual work items into one work item or split one or more work items from an existing work item. This can happen because a trailing document comes in and triggers creation of a new work item rather than being rendezvoused properly, or a document is mis-indexed and included in a work item with other documents.
Few BPM tools include this type of functionality, and it usually takes developers who are new to BPM workflow some time to realize the need. Then they need to custom build something. Trex, built with a full understanding of complex high volume systems, comes with functionality to both split and link work items that can be configured to be available from any screen.
The ability to search for work items is critical to any high volume system. In a production system containing thousands of work items, finding a single work item by simply browsing queues is impossible and users should not have to contact the IT department to perform work item searches. Trex allows users to perform searches for current and archived work items using pre-configured search templates that make searches more efficient. Search results can be sorted and filtered by users in order to fine-tune results.
External Data Lookup
Large scale, production workflow systems always work in concert with other systems. Typically the system of record will be a preexisting data system. While some data may be duplicated in the BPM system for efficiency, it does not make sense to duplicate any data that is volatile. Thus, there is a need to configure data lookups to support functions such as drop-down lists populated by external reference data, automated lookup of related data based on a single account number or SSN, and field verification against a list of known valid data values.
Trex includes all of these capabilities through configuration as long as data sources are available. If not, code can be built to expose the data to Trex, which can then be configured to use it.
Extensible Button Architecture
Customers who need to implement high volume, production systems always need some level of customization to make a system meet their needs. While efficiency dictates that you want to minimize this customization, large organizations have specialized needs. To provide the benefits of a product, but provide the flexibility needed for real world applications, Trex is designed to be extensible. This means that custom code can be written and configured to run based on a button on any of the Trex user interface screens. This custom code can be added without touching any of the existing code so that errors are not introduced.
For complex functions, Trex classes can be called directly by the custom code to perform various server side functions. Complete custom subsystems can be integrated into Trex while maintaining the core code. This makes rolling out new releases much easier than if the base code were modified.
Streamlining the work process by small amounts in enterprise systems can save organizations large amounts of time and money due to the high volume of work items being processed. In order to save small amounts of time during each processing step, Trex can be configured to display only the required information for that step which reduces the time processors spend on each individual step. Through the use of modifiers, fields and buttons can be displayed, hidden, enabled, disabled, required, or not required, based on information input on the work item processing interface. Date fields can also be configured to automatically populate with the current date and time.
User Controlled Management of Permissions
Most BPM and workflow systems provide a role-based mechanism to control user authorization and privileges. But typically these functions are meant to be controlled by security or IT staff. An efficient high volume, production system must provide first line supervisors and other managers with tools to manage their workforce, that is, the users processing their queues. They cannot wait hours or days for someone else to change a permission or provide access to a certain queue.
While being designed to use LDAP for authentication and to default membership in certain configured roles to LDAP groups, Trex provides a far more detailed and fine-tuned system of roles and user permissions that provide managers and front line supervisors the tools they need to manage their staff and their queues in a real time environment. They can adjust priorities, redirect users to different queues, and even create sub roles to manage their work effectively.
Work Item Field Security
In large enterprise implementations, some processors are not trained to handle all aspects of the work associated with a work item. To prevent errors in processing, Trex provides security based on work item field values when filtering by queues alone is not sufficient for the desired work distribution model. This allows for the most flexibility in an organization’s security model and ensures that only people with appropriate credentials can modify the fields of a work item.
Integrated Queue Management Console
To make adequate use of their access to role-based permissions for users, managers and supervisors must have access to sufficient data to understand not only the current state of the workload but the trends and projections for the work. Trex includes a built-in console to give users access to detailed queue counts, work trends, user assignments, and projected time to complete work. This information is critical for supervisors and other managers to determine how to deploy the people they have available to meet their priorities.
These and other specialized features make Trex ideally suited as a key component in high volume, production BPM solutions. Projects that start only with out of the box vendor tools will either be faced with significant customization or more likely, fail to provide the capabilities needed to develop a highly efficient solution. Many of these features will only be understood after trial and error with successive versions of the solution.
This blog post is an excerpt from Peter Gretz’s white paper, “Effectively Applying BPM to High Volume, Human-Centric, Production Operations”.