I have been delivering projects successfully since the early 80s. Back then, we didn't have business rules, we had formal logical data models, entity life histories, data constraints, and data flow diagrams. In general, all the necessary business constraints got captured properly and implemented. Some of these deliveries actually passed acceptance testing with no defects.
Since then I have joined a company which does use-case driven development, and in the use cases there is a section for 'Business Rules'. Logical data modelling is rarely done, and life-history modelling is almost never done. Business constraints are now frequently missed and contradictions are not detected or poorly understood. Having read many hundreds of such rules by now, I conclude that they mostly consist of data constraints which ought to be in a data model, event processing constraints which ought to be in an entity life history, or security and audit constraints which might actually legitimately belong in a rules catalogue (the latter are the rarest category).
From this I conclude that the concept of a business rule is too vague, and business rules are often an excuse to avoid doing thorough modelling. As Ivar Jacobsen once said 'if you have not modelled it, you have not understood the problem".
» What is the Community Blog and what are the Benefits of Contributing?
» Review our Blog Posting Guidelines.
» I am looking for the original Modern Analyst blog posts.
brought to you by enabling practitioners & organizations to achieve their goals using: