0

“When should we, or not, use BRMS?” is the Question that arises almost every time Business Rules Management Systems are under discussion. Well, that’s a decision making, which may be handled by rules, in the form of a Decision Table…

The proposed rules to answer that question are not only based on technical aspects of BRMS, but also on organizational ones. In fact, those organizational aspects are often more important than the technical ones in the adoption of BRMS. Of course, those rules are not well formalized and their “Right Hand Side” (“then” part) may vary depending on the case. However, we hope that the following table could help in choosing or not a BRMS to develop an application.

The pluses and minuses of using BRMS:

When

And

Short Term Benefits

Long Term Benefits

Classical Programming

Comments

Specifications in the form of

Data Sheet

+++

+++

– –

Most BRMS are mainly based on Decision Tables

If / Then (/ Else)

++

++

+

“If” may become “when” (“else” is a rules anti-pattern)

Natural Language (DSL)

+

+

–

Some BRMS allow rules in the form of Natural Language

BRMS already in place

& supporting team

+++

+++

Let’s go!

& future supporting team

++

+++

Use what you already have, before improving the expertise

& no future supporting team

++

+

Well, long term maintenance is compromised, specially since initial bad choices may be taken

No BRMS already in place

& supporting team

++

+++

The supporting team will first put in place the BRMS.

& future supporting team

– – – –

++

Well, you will have to wait till expertise is available…

& no future supporting team

– – – –

– – – –

No Infrastructure, Nobody, No Go!!!

Needs for

Hot Deployment

++

+++

– –

Deployment of rules is usually easier than of standard code

Explanation / Traceability

+++

++

– – –

“because of such (intelligible) rules… “

Fast Code Changes

++

++

–

Rules are self sufficient pieces of code

(Unit) Testing

++

++

–

Sets of Rules defined in a Rule Flow can be unit tested

Evolution of Non BRMS Existing Application

+++

Number / Complexity of Rules

High

++

+++

– – –

Long term benefits regarding maintenance

Medium

++

++

–

Low

–

–

++

Data Matching

Small size

++

++

– –

RETE is an efficient pattern matching algorithm.

Large Scale

–

– –

– – –

See Record Linkage

Cases available instead of Rules

– – –

– –

– –

Instead use Case-Based Reasoning

Organisation

Rigid

– –

– – –

+++

BRMS may dramatically change the balance between BA, developers and production

BA involved

++

++

–

Management

Supporting

++

++

Opposed

– –

–

Sense of Security / Confidence

– –

++

++

Of course, that table is not complete nor rigid and your comments to improve it are welcomed.