on 7 September 2007
Up until recently, operational systems have been separated from decision support systems. The former manipulate data to control and support business functions while the latter transform and enhance data for the benefit of knowledge workers. These workers must then analyze the results and submit change requests to IT to get any requisite changes actioned. It is a slow and unpredictable process. As a result, process improvement only takes place at a coarse (or strategic) granularity; and the millions of customer-facing micro-decisions embedded in operational systems cannot be upgraded.
This book considers the appropriate response of modem companies to the convergence of several technologies around the issue of operational decision automation: BPM, data mining and analytics, SOA, Business Intelligence (BI) and performance monitoring, BAM (Business Activity Monitoring), data warehousing and business rules. Having said this, the book's clear emphasis is on the benefits of using business rules (separated from procedural code) enhanced with feedback from predictive analytic and monitoring software. Predictive analytic software comes in a variety of styles: statistical regression and clustering algorithms, neural nets and even good old linear programming (optimization) routines.
Although the authors clearly understand the technology side of things, they do not present it to the reader in sufficient depth for this understanding to be transferred. The technically inclined reader will therefore have to bone up on business rules management and analytic techniques in other volumes. Thus, the main beneficiaries from this work will be project managers and the like. The authors give very detailed listings of the criteria that project managers and change consultants will have to consider when adopting the recommended approach and managing its introduction.
The business rules philosophy is recast as `enterprise decision management' but, essentially, the arguments for EDM are much the same as might be found in any work on business rules. However, the change in emphasis is significant and valuable. How much business is lost, the authors ask, not because you don't know the rules but because your staff can't activate and apply them quickly, effectively, consistently and adaptively? What is needed is the encapsulation of such knowledge inside components that act as decision services (often in the SOA sense of the term).
The authors steer clear of the social implications of their arguments; e.g. whether it is `right' to automate certain decisions, especially when these are informed by cluster analysis and so on. I note, for example, that my local police force have determined that people who live in culs-de-sac are more likely to be criminals (I jest not). One wonders whether automatic body search of people arriving home to their dead-ends is really the right response. To be fair, the authors do imply that some caution is needed in sensitive cases.
My only other quibble was the book's extension of its argument to the real-time adaptive control of businesses. Clearly there are cases where this will work but, as any control engineer will attest, adaptive control often results in unstable and even chaotic behaviour, hunting, flip-flop, jerky response and so on. A common solution is to smooth the output by using fuzzy rulesets, but all the technology solutions considered herein do not support fuzzy rules. Therefore, some caution and further thought is required in this area.
This is a significant and timely book, spot on for almost anyone concerned with software development. Its core ideas are of critical importance to the modernization of IT and migration away from the dire state of current practice.
Reviewed by Ian Graham, trireme.com