If I am trying to use CPM to improve my SOA-enabled BPM systems, how do
I go about it? Does EDM offer a way to link the insight of CPM to the action of BPM? What, in fact, does this alphabet soup mean? Perhaps we should start with some definitions.
CPM - Corporate Performance Management - defined by Wikipedia as a systematic, integrated management approach that links enterprise strategy to core processes and activities. By providing planning, budgeting, analysis and reporting capabilities, CPM allows the business to be "run by the numbers" and measurement to drive management decisions.
BPM - Business Process Management - a set of activities which organizations can perform to either optimize their business processes or adapt them to new organizational needs (Wikipedia)
SOA - Service-oriented architecture - a software architectural concept that defines the use of independent services to support the requirements of software users in a standardized way (Wikipedia).
EDM - Enterprise Decision Management - the application of rule-based systems -- in conjunction with analytic models – to automate, improve, and distribute decision-making capabilities across an organization (Cutter Consortium)
The challenge many organizations face as they adopt CPM approaches is that these are insight-oriented. That is they are designed to provide managers with insight so that they can make decisions in a better informed way. This typically takes the form of dashboards and other kinds of visualization of past results, and perhaps trends and predictions, designed for consumption by a fairly analytically minded person. But decisions taken by management are not the only decisions that ought to be "run by the numbers". Those embedded in my processes should also be run, managed and improved systematically.
Many companies have adopted BPM systems to try and address this. When their dashboards and other CPM systems tell them things are going poorly they can use their BPM environment to adapt and change processes to respond. When things are going well, they can use them to standardize best practices. The problem comes when we start thinking not about process change, but about decision change.
Take an example. My CPM environment tells me that the bad debt in a segment of my customer base is rising. I can drill down and find out why. This is unlikely to be a process reason - after all I have standardized the process across my segments - so it is probably something to do with how I decide who to put in the segment or how to treat them once they are in it. These decisions are what is causing my problem. If these decisions are manual, controlling and managing them quickly will be hard as I must find all those responsible for the decision and retrain them. If I have automated them in my BPM environment then I am unlikely to have as much control over the decision itself as I would like - BPM environments are, after-all, process-centric and not decision-centric. So how could I architect my systems to make sure that I could change my decision making quickly and effectively to respond to my CPM environment?