Business Rules, Requirements, and Business Analysis: Basic Principles — Celebrating the 10th Anniversary of the Business Rules Manifesto
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. Visit www.BusinessRulesGroup.org/brmanifesto.htm
Rules are all around us in the real world — in the games we play, in the laws and regulations of society, in the limits we set for our children — everywhere. Yet for whatever reason, rules are seldom featured in requirements and IT methodologies. That's very strange if you think about it.
So the very first point of the Manifesto aims to correct that omission and, by doing so, to bring better balance to requirements …
1.1 Rules are a first-class citizen of the requirements world.
This first point does not suggest that business rules are more important than other requirements — for example, process models — but rather, co-equal. How can you organize or model any kind of activity without knowing the rules?! That understanding leads to the second point of the Manifesto …
1.2 Rules are essential for, and a discrete part of, business models and technology models.
The "discrete part of" in this statement is crucial. It means that rules should not be embedded in other deliverables — for example, use cases — so that the rules can be written once and then applied everywhere (single-sourcing). It also means the rules can be validated directly with business people and subject matter experts. The result is better requirements — and better communication.
Another result is rule independence. The rules can now evolve independently of other architectural components, often much faster. By not hard-coding rules into application programs, much more agile business solutions can be achieved. The Manifesto makes the point this way …
6.1 A business rules application is intentionally built to accommodate continuous change in business rules. The platform on which the application runs should support such continuous change.
Business rules are what you need to run the business. You would need them even if you had no systems. So it makes sense that business rules should be captured and expressed in a form that business people and subject matter experts can understand. That way they can ensure that the business rules are correct. If you are designing systems — and that usually is the case — there's simply no point implementing rules that aren't correct. So the Manifesto says …
5.1 Business rules should be expressed in such a way that they can be validated for correctness by business people.
Validation and correctness, however, are not the only focus for business analysis with business rules. Another is whether each rule can be justified as being truly productive for the business. Businesses often accrue so many rules over time (include 'exceptions' in that!) that their spiraling complexity results in rapidly diminishing returns.
So the cost-effectiveness of every business rule should be assessed, at least informally. To do so, first you must recognize there is cost associated with each rule. The Manifesto makes that point explicit …
8.2 Rules always cost the business something.
A rule's true cost, however, might not be exactly what you think — the platform costs may be relatively insignificant. Instead, the principal cost of most rules is organizational. Rules must be documented. They must be taught to new hires. They must be explained to external parties. All these things take time — and time is money. Also note carefully: This overhead doesn't decrease with each additional rule — it increases. The more rules, the more complexity.
The Manifesto in no way suggests that 'more rules' is better. Just the opposite; it emphasizes that a smaller number of good rules is always better. Better to start with a smaller number, then add more as you go. The Manifesto puts it this way …
8.5 An effective system can be based on a small number of rules. Additional, more discriminating rules can be subsequently added, so that over time the system becomes smarter.
It's simply a myth that you have to know all the rules before designing and building productive business systems. Just the opposite is true. You can deploy a simpler solution initially, then add rules later on as time and insight permit. Fortunately, rule-based systems are extremely good at incremental design — the goal of many an agile project.
# # #