Wednesday, May 31, 2006

What rules belong in the BRE and what rules should be hard-coded? (FAQ #2)

Here's a great way to decide which rules belong in the rule engine and which rules could be hard-coded. The idea is that rules that you have no control over, such as compliance rules, must be rule-based so you can react quickly and implement them as soon these rules are changed. When a regulating authority tells you when the new rules become effective, you have no control whatsoever, and a rule engine enables you to change fast.

Rules that you control, where you can take your time and decide when the rules shall become effective, can be hard-coded if so desired. There still may be benefits to rule-basing these rules, but at least you can hard-code them if necessary.


Rules that should be in the BRE:

  • Business Rules
  • External rules
  • Governing rules (Regulatory rules / Legislative rules / Compliance rules / etc.)
  • Rules that you do not control
  • Rules that change often (Promotion rules / etc.)
  • Industry rules
  • Market rules (Competitor rules / Pricing rules / etc.)
  • Environmental rules (Seasonality rules / Weather rules / etc. )

Rules that could be hard-coded

  • System Rules
  • Internal rules
  • Rules that you control
  • Rules that never or rarely change

Idea credit to Paul Ulshafer. See PowerPoint slide of this idea.

FAQ

Labels: ,