The Object Management Group (OMG)'s Model-Driven Architecture (MDA) has gained significant mindshare within the IT industry this past year. To recap, the basic theory is that developers will use complex modeling tools to capture platform-independent models (PIMs) that describe the domain requirements and processes. These PIMs will be transformed, via a tool, into platform-specific models (PSMs) that reflect the realities of your environment. These PSMs will in turn be evolved by the modelers and eventually translated, once again with a tool, into your working system. All models are created using the OMG's Unified Modeling Language (UML).
But does this approach really work?
(derived from a text by Scott Ambler in the Software Development Magazine newsletter)
As you would imagine, I believe that Agile Model-Driven Development (AMDD) is a much more realistic alternative for model-based development. It doesn't rely on complex modeling tools (although they should be used when it's appropriate), and it doesn't suffer from the MDA's vast array of problems.
Unfortunately, few modeling tool vendors, not to mention so-called standards organizations beholden to those vendors, will tell you much about AMDD -- because they can't make much money selling you whiteboard markers or sticky notes.
It's hard enough to motivate developers to create whiteboard sketches to think their work through before they code, asking them to take an MDA approach is completely naive in all but a very few situations. While the OMG is focuses on the 1 or 2 percent of the marketplace capable of actually adopting MDA, the other 98 percent should investigate AMDD for a viable modeling strategy in their software development processes.