TheServerSide.com - MDA: Nice idea, shame about the ... "Let me recap on the objectives of MDA as I see them. The primary objective is to separate business requirements and analysis from technology. A secondary objectives is to provide rapid development; a third is to put a focus back on modelling.
If your business doesn't care about models, and/or you adopt a Java or .Net platform using open source technologies, and/or your business changes as rapidly as the technologies, then that first objective would seem to be moot.
Let's look at the second point: rapid development. Clearly code generation can produce benefits and productivity gains. However, the initial cost of creating the model transformers/code generators will always outweigh the cost of just writing an application. The transformers provided out of the box by the vendor mitigates this cost, but if the business wants a highly custom application (and they probably do, otherwise they would have bought a 3rd party COTS product), then those transformers provided will act only as a starter for ten.
The third objective I listed for MDA was its emphasis on modelling. However, that emphasis is at best superficial at least for the elaborationists, mostly because of the problem I identified of expressing behaviour of objects, and hence their responsibilities. If a designer cannot easily experiment with assigning different responsibilities to objects; that is, it's hard for them to create a decent design. Putting all the above together, I really can't see MDA working as the OMG defined it."
Very timely essay -- read the whole post if you care about MDA