James Taylor’s blog today on rules being core to BPM and SOA in which he discussed reuse had a particularly strong impact on me following a trip yesterday. During a meeting with the insurance and retail banking practice leaders at a large consulting firm, we looked for synnergies between applications related to investment and applications related to risk. Of course, during that conversation, we discussed whether operational rules could be usefully shared across these currently siloed areas, but we landed up discussing what they had in common in terms of business concepts, definitions, and fundamental truths or enterprise wide governance. It was clear to us that this was the most fruitful area to develop core, reusable knowledge assets.
In his post, James agrees with the Butler Group’s statement:
Possibly the most important aspect of a rules repository, certainly in respect of the stated promise of BPM, Service Oriented Architecture (SOA), and BRMS, is the ability for the developer to re-use rules within multiple process deployments.
I have several problems with this statement:
- I don’t think it’s the most important aspect.
- I don’t think the possibility of re-use is being realized.
- I think current tools’ facilitation of re-use is limited.
The most important aspect of a repository is the reuse of knowledge, not just rules. The types of knowledge that are most easily reused are:
- the vocabulary (e.g., nouns, verbs and adjectives) and what they mean in the domain
- the taxonomy of concepts and how they are refered to using (primarily) nouns and adjectives
- the ontology of concepts, which is the taxonomy plus relationships between concepts, and how they are referenced using nouns, verbs and adjectives
- the definitions of derived concepts in terms of formulas or equations or constraints that define the truth without respect to process, state, or event
- the rules that specify behavior, regulation, governance, or policy
And their re-use decreases in the same order. Industry specific standards, like ACORD or MISMO of FIX or XBRL, for example, stop at 2 or 3. Logical formalism address 4 but are used more rarely than business rules. The SBVR standard, although it stands for the semantics of business vocabulary and rules, actually stops at 4. It’s rules are logical definitions and constraints, not business rules that take action, resulting in state transitions, data modifications, or other side-effects.
The use of SBVR or simply ontology is quite limited in today’s BRMS/BPM markets. There is simply too little emphasis on separating semantic models and business vocabularies using logic and ontology. Most BRMS/BPM platforms are fixated on behavior and process, rather than truth and knowledge.
Sure, clever enterprise architects and systems analyts can engineer rules so that they are useful in more than one application, but this is not the typical result of a business rules application. I do agree that encapsulating decisions within services is a more viable way of realizing re-use, but that is an architectural result (i.e., an SOA benefit), not a benefit of a rules repository.
I have blogged repeatedly (see the requirements category, for example) about the limitations of current tools with regard to vocabulary, separating ontology from implementation, and managing definitions and functional requirements in the natural form. Current BRMS tools are generally limited to an if-then mentality that makes them inadequate for managing knowledge. If-then metaphors force knowledge to be expressed and organized relative to how it is used. This fundamentally and inherently limits its reusability.
Just to drive this home, if you are technically inclined, take a look at the standard developed by the vendors, PRR. It will become immediately apparent that their focus is on rules at the operational rather than the knowledge level. RIF, on the other hand, evolved from the logic community to address the requirements of the semantic web. In this regard it is much more like SBVR. It makes up for its vocabularly weaknesses with much more ontological and logical strength. Nonetheless, RIF, like SBVR, is more at level 4 than level 5.
Another way of looking at this is that the models more than the rules are interchangeable. This misses that logical rules are very reusable, but it is in accordance with the 80/20 rule. In BPM, for example, the model is shared across processes. With decision management, the model should also be shared across decisions. The easiest rules to share across decisions are those that are true, not those that determine what to do.
Practically speaking, put rules that determine what to do in a services that share what is true.