I am attending the 10th annual Business Rules Forum this week and blogging from sessions as I go. The show really starts tomorrow but John Rymer of Forrester presented a tutorial today – A framework for selecting business rules platforms.
John presented the criteria for the wave report – Forrester’s way of evaluating vendors – rather than the “scores” the vendors get for the criteria (he plans to produce the report itself in Q1 2008). One of the nice features of this approach is that the weights for criteria can be changed to assess products for different scenarios or customer needs. John talks about these criteria as a way for evaluating what he calls a business rules platform. A platform has everything you need to build rules-based applications or what I would call decision services. John is focused on those products that are primarily about business rules and using business rules to build applications and services. Many other companies use rules in their BPM products or to build applications but those are not his focus. In particular he talked about the rules platform being able to be application independent – not tied to a specific business problem. He also noted that many people start by using BPM tools to manage processes and discovering that they need to manage decisions and so look at business rules platforms. John made the point that he has moved from cynicism to enthusiasm.
John differentiates between systems developers who want access at the lowest level, application developers who know more about the business and want to operate at a business level while still developing software and business users who are going to be part of the ongoing rule development and maintenance. To enable the wave to help all three audiences the wave has a long list of features to consider. The product features include 7 categories.
Quality of architecture
- OS and DBMS support – my view is that easy deployment to many platforms is desirable
- Algorithms supported – forward chaining, backward chaining, sequential etc given that different circumstances require different approaches. Like John I think the support for a range of approaches is important but there are many ways to skin a cat. This is proxy for support within a platform for a certain kind of outcome.
- Object model and database access – unlike expert systems, business rules platforms execute rules directly against production application objects and databases
Support for batch, online and user interaction applications as rules can be used in all three.
Support for web services/object-oriented development approaches – decision services are used in processes, in legacy modernization, in event-driven architecture and so support for a wide variety of architectural platforms is critical.
- Pretty standard stuff
- John considers three main models – programmer-centric, business user-driven and collaborative. Personally I think the collaborative model is by far the most effective but I can see why he wants to consider all three
- Knowledge capture and management are important although most rules platforms are focused on production rules. It is an interesting question as to whether rules platforms should have these features or rely on third parties.
- John is not thinking, initially, about extracting rules from code or data (code or data mining). He thinks this may come and just could not get to it in this scope. I think it is important and it is a pity that he cannot get to it. Perhaps this is something I will have to coverâ€¦
- The integration of business and execution object models, to reduce the impedance between rules development and execution, is important and I agree with John that the support of the development tools for metaphors like decision flow, decision tables, decision trees is important. I think that the fundamental readability of the syntax is important also.
- Rule testing tools are more important than ever with ambiguities, redundancies, gaps all being important. Unless you can test and clean your rules then you will struggle to get the right rules into the development tool.
Business user rules development
- Tools for non-programmers that allow them to build and manage rules
- Are the various metaphors available outside the IDE so that business users can use them without having to use the main development tools
- John thinks that the increasing use of Excel and Word-like tools is inevitable and part of how products support business user rule maintenance. I remain unconvinced here as the ability to make mistakes is too serious. I think that word and excel are poor metaphors for rules and that the critical thing is how well business users are supported overall.
- What testing, cross-reference and validation tools can a business user use for themselves?
- John wants to understand what non-IDE tools (like Excel, Word) a business user can use. Personally I am not convinced that this is a useful thing as it is so hard to control what is done in these kinds of tools.
Rules lifecycle management
- Simulation of new rules to see what the impact would be
- Documentation generated for the rules as they are managed and created
- Change management facilities around version management, change control, audit etc.
- The overall support for repository features like query, re-running cases, extensibility, storage options etc.
Deployment and management
- Simple deployment to a wide range of deployment options is the core capability here.
- Multi-platform support – can multiple platforms be deployed from the same set of rule definitions
- Deployment support for all the major platforms and deployment modes (.NET services, Java beans, J2EE etc).
- Effective date and auditing, performance tuning and reporting, remote and local management tools all matter also.
Standards and interoperability
- Web Services standards support
- Import and export of rules and metaphors
- Support for middleware, application server asnd BPM integrations
- Nothing on support for PRR or PMML which is a serious ommission given they are now in alpha or better
He also considers
- Market presence – installed base, SI support, services offered and employees
- Strategy – product strategy, corporate strategy, financial strength, product cost
John noted that the criteria included no specific support for event processing characteristics. John also says that he sees vendors expanding into solutions based on platforms. Clearly solutions are expected to generate more value, and should be expected to relative to platforms, but the combination seems interesting to him.