Temps de lecture : 2 min.

“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.

Étiquettes :