Cardinality Is Not a Business Rule — Here's Why
Many BAs, including myself, have a former IT background and it can be challenging to prevent IT requirements from straying into the business rules. I often see a 'business' rule such as "one customer may have zero, one, or more addresses" documenting cardinality. In my practice, I see this as incorrect. However, I find many BAs disagree with my view that cardinality is not a business rule.
Here are my reasons for this opinion.
Cardinality is defined by BABOK 3 as "… the minimum and maximum number of occurrences to which an entity is related. Typical cardinality values are zero, one, and many." Cardinality represents the associations between two entities and is used by database designers to "normalize" the database to minimize redundant data. Notice the reference to "entity." The problem is, the BA mistakes entity relationship with business relationship, and the two are not the same.
The Business Rules Manifesto published by the Business Rules Group explains what a business rule is and is not. There are three Manifesto Articles that, although they do not explicitly discuss cardinality, do provide guidance on why cardinality is not a business rule:
- Article 4. Declarative, not procedural.
- Article 8. For the sake of the business, not the technology.
- Article 9. Of, by, and for business people, not IT people.
Article 4. Declarative, not procedural. Procedural rules define the order of execution. Business rules do not contain IF, THEN, ELSE statements and should not be identifying if there is a zero, one, or many relationship either.
Article 8. For the sake of the business, not the technology. I found the business rule test by Mark Myers to be the best method for determining a business rule from an IT rule. Paraphrasing Mr. Myers' test, if the business is operating without any IT support, and the rule is still necessary, it is a business rule. Otherwise, it is a system rule and should not be included. The business can still perform their functions if the data is not in 3rd normal form, so cardinality is not a business rule.
Article 9. Of, by, and for business people, not IT people. Systems are "black box" to the business. The stakeholder focus is on policy, process, and strategy, not on database design.Do you agree or disagree? I am looking forward to hearing from other BAs.
The Business Rules Manifesto may be found at:
Mark Myers' test can be found at:
# # #