A recent spate of interest in Case Management is good to see (I always called it Case Handling but the concepts are the same). The OMG is about to vote on an RFP (Request for Proposal for a new standard) on Case Management. As some of my regular readers will realize, I have a special interest in the subject of Case Management.
Some of us have been talking about the problems of dealing with Cases for a number of years (e.g. this post in 2007). My own experience started with the development of what would today be called Case Management systems starting in the mid-80s and culminating in an Oracle-based object oriented repository in the early 90s – way too clever by half for that era so I canned it in 1992 and became an Analyst looking at other peoples products, writing white papers, etc. Since then I put together a number of white papers specifically talking about the issues of Case Management:
- In 1996 a paper called “The Business Case for Case Handling” and although the vendors I referenced at the time have since disappeared (bought out), the issues are just as relevant today.
- Over the last few years, I published a couple of papers that start to explore some of the related issues (these papers are available on BPM Focus with registration). In particular, these two papers address many of core concepts of Case Management.
- “Process Innovation and Corporate Agility – Balancing Efficiency and Adaptability in a Knowledge-Centric World”
- “Business Processes and Customers – Difficult Domains to Integrate”
So with this post, I am having my own stab at defining the issue. I have been invited several times by those in the OMG to take part in this particular enquiry, but hesitate to get involved as these things can act as an enormous time sink. So first let me point you at some other perspectives. In recent months, we have seen several bloggers discussing some of these ideas (touching on the need for adaptability and agility):
- Jim Sinur of Gartner talks of “… Agile processes that are tapped into emerging events and contexts driven by organizational and community goals … the need for creating and managing unstructured processes. This kind of environment requires organizations and vendors to master goal driven processes.” In another post he said “Today most processes are Flow directed, but the future will likely require goal direction for at least a portion of the process. This is what we call unstructured processes that are composed of process snippets that are flow directed and portions that are completely dynamic. A combo looks to be the way forward.” See here, here and here.
- Neeli Basanth Kumar (of Cordys) talks of Process Patterns in Adopting Case Based Solutions (he even uses one of my diagrams from a 97 paper – The Workware Evaluation Framework … where I tried to highlight the role of Case Management).
- A discussion paper put out by Dennis Byron at ebizQ provides a sort of summary of some of the thinking of the vendors that replied to his request for information (originally it contained references to my thoughts and some of my graphics but that content was pulled after I pointed out the provenance).
- Bruce Silver commented on the RFP discussion going on at the OMG and postulated what he sees as the difference between “traditional BPM” and “Case Management”.
For me, it all comes back to the continuum of Process. On the one hand, we have the image of the organization as machine, with mechanistic “Procedures” used to control the work of the resources available. Most BPM initiatives are still stuck at this level, seeking to automate things and remove (human) resources from the equation. If Productivity = Value / Resources, this reductionist approach is all about reducing the resources involved in the deliver of a given value.
At the other end of the spectrum, we could consider processes as more like evolving “Practices.” Think of what you do personally and see if this concept makes sense – some parts of what you do are defined in Standard Operating Procedures, other parts you interpret and apply your judgment. The more leeway you have to make decisions (in your job), the more knowledge you exercise in carrying out your job. Most knowledge workers are goal oriented, regarding procedures as a means to an end, rather than an end in themselves. Managers tend to be goal oriented.
We could think of high level processes as being about a “Purpose” – and how that Purpose is interpreted will inevitably be somewhere on that spectrum Procedure and Practice. Indeed, one finds that most business problems need a combination of both – hence the approach that has become know as Case Management. Now we’ve got this concept established, from a process perspective you could think of Case Management as applying to the Practices end of the spectrum. Workers here are goal oriented, and typically apply processes to achieve those goals.
Case Management is a very important “Design Pattern” for supporting flexible work Practices instead of more rigorous Procedures (where no adaptability or run time flexibility is needed). Different products take vastly different approaches to Case Management, all with the aim of providing flexibility and adaptability to the user, yet still providing support for the organizational objectives (processing more work, more efficiently and providing traceability).
Case Management proffers a way of mixing overarching support for that Purpose – normally through a high-level, outline procedure, which is then supported by a library of process fragments that can be bound into the parent as determined by the user. In some cases, the user has complete control of what should happen next; in others, the ability to progress from one phase of that high-level outline to the next is constrained in some way. Some products leave it very loosey goosey, others are all about constraining the user. Depending on how strong the need for adaptability is (in the target domain) the user may even have the ability to develop new process fragments to support a given need (imagine a Software Engineering project … it’s not always possible to predict every possible permutation). In others (say a Bank for example), it might be good enough to have the user select from a library of available sub-processes to bind to the parent. Indeed, in a Bank or Insurance company, it is unlikely that the run time adaptability would be allowed (the last thing you need is a clerk getting creative with a bank draft).
With careful architectural design, it is possible to create a Case Management environment out of many different BPMS products. But that implies that the end-user organization already have a clear idea of how such environments are constructed. In a sense, they create an application layer above the BPM Suite.
My concern with the OMG RFP is that it is trying to standardize something that is poorly understood (as evidenced by the varying perspectives given in the OMG BMI mailing list).
While the rest of this document goes on to outline my own views on Case Management, I believe that developing a standard in this area at this point would only result in hampering innovation. Having said that – there is a definite need for much more discussion and exploration of the domain of Case Management.
I believe that the approach proffered by Cordys represents just one way of approaching Case Management. There are others, and I do not believe that tying everyone down to one interpretation of Case Management at this point will be a good thing in the industry. Other vendors with Case Management approaches include:
- Global 360
- Sword (was Graham Technology)
- EMC Documentum
- IBM (FileNet)
- Pallas Athena
All these vendors have some sort of capability that could be described as Case Management (and I am sure there are plenty of others that would put themselves on the list).
Finally those in the Process technology world are starting to see that a pure “one sized fits all approach” to the standardization of process definitions is entirely inappropriate when it comes to the needs of humans and knowledge workers. Moreover, Case Management approaches provide all sorts of benefits to companies in that they enable a far more flexible response to the needs of customers.
As different vendors struggle to work out the best approach, the last thing they need is to be tied down to a “standard” approach. In the end, it will be the Darwinian process of selection that will see the best products win out; not some imagined need for standardization and interoperation between wholly different approaches to the problem.
Most BPM efforts could be characterized by their incessant focus on process standardization. They are predicated on the assumption that overall business effectiveness improves through better control. And while this is true for procedural, back-office problems, the reality is that customer facing and knowledge work processes are extremely difficult to standardize (if not impossible).
This is a real problem for long term BPM adoption. Ask yourself how many organizations you know in the BPM arena that have more than 5 or 10 processes “under management” (i.e. using a BPM Suite to ensure that things don’t fall through the cracks). And then think about how many spreadsheet are used in those same organizations to coordinate work.
In the paper “Customers and Business Processes – Difficult Domains to Integrate” I suggested that there were several different types of Case Management (Case Handling). These range from the traditional BPM Suite (which struggles to support the necessary adaptability), through what I called “Design Time Case Handling” on to “Run Time Case Handling”.
Case Management and BPM
The vast majority of BPM Suites and Workflow tools assume that all activities/tasks/steps (and the potential paths through them), are modeled a priori (beforehand). Putting that another way, they focus on driving work between employees based on a model that maintains the status of a work item. The process model must exist up front, which presents the first hurdle of process discovery—i.e. ensuring those models are “correct.”
Further, in most products, all work of a given type share a common process description (rather than copying the model to support each work item). In such situations, the engine will normally allow the end-user little or no choice but to follow the pre-defined procedure.
Of course, the challenge is then for process modelers to predict all possible permutations in advance—something that is virtually impossible to achieve in customer facing situations. To get around show stopping scenarios, a few products incorporate features that provide the ability to bypass, redo, and rollback steps, while most rely on re-assignment of work to the supervisor (who must then step outside the system to resolve the problem). It does not take long before the supervisor becomes the bottleneck as cases mount up (those that do not follow the “happy path”).
Change is only possible through re-development of the common process model. New items of work then follow the modified process description (most products incorporate some form of version control). Change to an individual work item normally requires the deletion of all threads of work and the work item is then recreated under the new model (compromising any future audit). Alternatively, mechanisms must are needed to move an existing case to the new model.
These adaptability issues are not constrained to customer facing scenarios. For example, as government regulations change, the firm needs to revamp its process models to handle that change. There might be thousands of cases in the system, the vast majority of which will complete before the new regulations come into force. But imagine that there are still 100 cases outstanding at the point the new regulation comes into effect. For most products, it would simply be impossible for them to handle this problem in any sort of constructive fashion. Each of those work items would have to be manually stopped, and then restarted (somehow) under the new process definition that met the new government regulations. The only viable way of approaching the problem is to incorporate mechanisms to migrate individual instances to the new model.
For Case Handling support, the key differentiating factor (of the BPM Suite) is the ability to link multiple processes to a given case of work—the primacy is with the case of work, rather than the processes that are used to support it. Each case is usually “managed” by a relatively loose (high-level) parent procedure, but the worker can then add new procedural fragments to handle each different requirement of the work in hand. Effectively, the user is binding new procedural fragments to the case at run time; either by selecting them from a library, or by developing new ones.
Of course, this sort of approach is reliant on a BPMS that can facilitate such modifications to work in flight. For most products, it will also require great care in the design of the process architecture itself, and may involve the development of an external application.
(Some of these thoughts have been culled from my past White Papers on the subject of Case Handling)