As I read Stefan’s “Responding to Dave Orchard’s Take on MDA” I thought to myself, well maybe the truth is somewhere in between Dave’s and Stefan’s opinion.
As far as I am concerned I have very often experienced a great benefit of applying a model-driven development approach in mission critical business applications. Despite of the concrete architecture and technology - whether J2EE, CORBA, or WebServices - these applications had something in common: the need for use case specific design and optimization is mainly an exception. Of course there are runtime bottlenecks that have to be implemented very performant. But I found the Pareto principle - the famous 80/20 rule - to be true in all projects I have seen. About 80% of the system ought to be conformant to a set of architectural guidelines. In my view this is only feasible by using a model-driven generative approach. Only a small portion - about 20% - cannot be covered with the standard architectural guidelines and need a special treatment (which commonly takes more than 20% of the effort).
If that’s not so, probably you’ve chosen the wrong architecture for your system.
Although I’d like to comment on every aspect of the postings I have to keep short. That’s why I take only one aspect from Dave’s and Stefan’s postings:
Dave wrote:
Stefan replied:
Well, you both are right. While code generators can be very fast (e.g. see iQgen’s performance sheet) the roundtrip time with “modern” architectures and runtime systems is very high. The deployment of an enterprise archive into an application server can take several minutes. The build also could take several minutes. The model export from a CASE tool could also take several minutes if you’re using the wrong tool of if you’re tailoring your model badly. The compilation could take several minutes. So, in the end you could end up a long time waiting for your changes to be testable.
Although I could subscribe to both points I think there I no black or white in this case. Maybe you did something wrong, Dave? Maybe you were very lucky in your past, Stefan?
References: