Diego Lo Giudice of Forrester published The State of Model-Driven Development recently. This is a well-written paper and does a nice job covering Model Driven Development of which it says "Forrester expects model-driven development (MDD) to play a key role in the future of software development; it is a promising technique for helping application development managers address growing business complexity and demand.". Reading it i was struck, though, with the lack of attention paid to business rules in this context.
If one of the key drivers for MDD is the need to build systems that can cope with faster business change and to do so by improving business/IT alignment then business rules would seem to be ideal. Not only are they a great way to approach
"change-time" they can also really help with the kind of alignment described in Forrester's Concurrent Business Engineering. This made me wonder what is a model, exactly? Should it include non-graphical elements? Certainly Diego felt it could include "a declarative language for assertions". I would go further and say it could include a declarative language for rules in general for, while improved business/IT cooperation requires a shared language, I don't believe that UML is it. Business rules allow for IT departments and business users to truly work together.
The paper also talked about the reuse of models in MDD, which seems like a real advantage, and about tracability improvement - better linkage of requirements to code. While this sounds great, I fear that we are often talking about requirements that are really rules - rules are not requirements and better traceability or better requirements documentation will not help.
Lastly there was some talk of Domain Specific Languages. Instead of using Domain Specific Languages as part of MDD, why not use business rules? There's been some good discussion about this (particular this post) so I won't add anything.
I believe that business rules are a valid component of MDD and that MDD without business rules is flawed. You can check out a previous post with some of my thoughts on MDD and business rules.