Business Rules: Birth of a Movement
|This column originally appeared in the May/June 1994 issue of the Data Base Newsletter.|
Mark this year as the official date of birth for a new approach to developing information systems: business rules.
For the record, this approach is not the invention of any single person, nor the result of any single event. Rather, it represents the rapid coalescence of many people’s ideas and many individual breakthroughs. The Newsletter is proud of its continuing role as catalyst in this process.
As object orientation is to structured analysis, design, and programming, business rules is to Martin-style information engineering (IE). In other words, it is a successor, commanding higher theoretical ground and correcting practical flaws of its predecessor.
Also, just as Martin-style IE encompassed the best concepts of the structured movement, so too business rules will encompass the best concepts of object orientation (e.g., inheritance and abstract data types, including encapsulated methods). It is much more, however, than object orientation as we now understand it -- and much more fully adapted to the special needs of business information systems (i.e., of databases).
Business rules offers both an innovative ideology for information systems development, as well as a distinctive technological contribution. The ideology is expressed in the pragmatic definition of a business rule offered by Terry Moriarty of The Bank of California: A business rule is an assertion which describes an essential concept, relationship, or constraint about the business.
At the risk of oversimplifying, read this definition as follows. 'Concept' means a definition for a business thing (e.g., a business object). 'Relationship' means interaction between such things. 'Constraint' means rule. Here are the important points:
- First, a business rule is an assertion, which is to say that it does not start
life as a model. (CASE has put the cart before the horse in this regard.)
- Second, a business rule is about the business -- of the business community,
by the business community, and for the business community. (It therefore must
be non-technical and non-procedural.)
- Third (this is implicit), a business rule is something that can change.
This implies that the approach must be so integrated with the business that changing
the business and changing information systems are viewed as identical.
(In a technical sense, this means 'repository' as a 'given. ')
- Fourth, a business rule can be a constraint (a. k. a. rule -- something that does not translate into "data" (or objects or relationships) per se. This is where the real technical whizbang begins.
The special technological contribution of business rules appears for these rules. Dick McKee of The Travelers and I have defined a rule as something that references current state and constrains, enables, or causes as a result. Here are the important points:
- First, 'current state' may refer either to the business itself, or to a surrogate, in the form of an information store (i.e., a database). Which is "correct" depends on the level of discourse.
- Second, the target of the rule’s ‘constraining, enabling, or causing’ purposely is left unspecified. It may or may not be an action (or method), which may or may not be considered part of the rule. In other words, rules are rules, and actions are actions.
- Third, there is no sense of how any of the above is accomplished. Rules are nonprocedural (i.e., purely declarative), in contrast to actions, which are innately procedural (i.e., always describe a step-by-step recipe for how something is accomplished).
This focus on declarative rules, in preference to procedural logic, distinguishes business rules from other approaches to information systems development, including Martin-style IE and most of object orientation. It is where business rules derives its special flavor, as well as unprecedented opportunities for higher-order automatic generation of code. It also positions business rules as the next evolutionary step in database thinking -- a heritage that dates to the mid 1960s.
Much progress is being made about how to specify business rules declaratively. This work seems to be occurring in two major tracks.
- At the business strategy level, a rule may refer either to some heuristic aimed at achieving broad business objectives, or to some significant impediment therein. I believe this will require new business modeling techniques that look nothing like the data models (or object models or business activity models) of today.
- At the business operations level, a rule means establishing criteria for database integrity in declarative fashion. Data models (or object models) can be used directly as a platform for new modeling approaches that address this important requirement. As previously discussed in the Newsletter’s Business Rule Forum, I believe Ross Method (formally published in the first quarter of 1994) is an important landmark in this regard. My article in this issue of the Newsletter describes the basics of that technique.
Just as new methodologies and techniques for business rules now are emerging, software tools surely will follow. This will be exciting. I expect both new business simulation and prototyping tools to address the business strategy level, as well as new rule-based code generation tools and/or new DBMS extensions (or new DBMS) to address the business operations level. Producing and proving these will take time, but accelerating market demand should push it along rapidly.
Now the caveat: Do not allow software vendors to sell you a bill of goods. There are no tools on the market today (of which I am aware) that achieve business rules in the full sense of the definitions above, including the crucial part about rules. Vendors naturally are prone to sell whatever they happen to have. New insights about business rules, however, increasingly indicate that what they have is not altogether what we need.
# # #