Q6: Business Rules and Enterprise Architecture
Question: What role should business rules play in enterprise architecture?
Reverse-engineering business rules from legacy systems accurately and fully is virtually impossible. The original business intent is simply lost. Reconstruction of business logic has been tried time and time again, often aided by automated tools, but measured against time and cost, has seldom achieved satisfactory results. What a waste!
The solution is simply to stop hard-coding business rules into procedural languages. Rules will change and they will be needed for new business initiatives and platforms. The opportunity costs of continuing to follow traditional practices - not to mention the 'maintenance' costs - are simply too great. The alternative is applying rule technology that can support rules expressed in more natural (declarative) form.
The Manifesto summarizes the principle as follows ...
6.2. Executing rules directly - for example in a rules engine - is a better implementation strategy than transcribing the rules into some procedural form.
With computing power so vastly improved, there is less and less reason every day to support business rules using procedural languages. Why are we still programming the evaluation of rules ourselves?! Just as a DBMS removes data management as an application concern, so too does a rule technology for the evaluation of rules.
A related issue is compliance - not just regulatory compliance, but compliance with contractual obligations, deals, agreements, licenses, warranties, and so on. If you want to delight customers, keep your commitments.
To demonstrate compliance you must be able to determine how your systems actually got the outcomes they did. That way, if there's a mistake you can correct it. The Manifesto states the principle as follows ...
6.3. A business rule system must always be able to explain the reasoning by which it arrives at conclusions or takes action.
Today, demonstrating compliance is a largely hit-or-miss affair, always after the fact. Does it have to be? No! Just as a DBMS logs all transactions, a state-of-the-art enterprise architecture is one that logs the specific rules used to make evaluations and decisions. Compliance based on rules can and should be built-in.
 The Manifesto is free, only 2 pages long, translated into 15 languages. Have a quick look (or re-look!). No sign up required. Well worth your time.