For improving productivity to the max as well as improving communication through graphical representation.
My experience of Model Driven Software Development:
I was taught UML and Requirement Analysis in the University. At that time, it was a bit useful in certain aspects. However, the biggest problem is the synchronization between artifacts (from high level requirement to low level implementation to deployment). It was 3 years ago. At that time, we did not know about CASE tools which can help managing those artifacts and keep it in sync together (such as one change to requirement, the implementation can be traced down to perform automated/manual changes, round-trip engineering...). Since we had to maintain everything manually (such as changes in the source code must reflect back into class diagram), we had to leave the whole theory behind. However, I still see the value in it for helping refine from high level aspects to low level aspects.
In the quest for searching a decent UML tool for Linux, I found many very good commercial tools (I only used StarUML in university before). First I found EMF, which I in the search for a UML plugin which can generate C++ code (unfortunately, it is only for Java. But that's a good thing, because it enabled me to look at commercial alternatives). Tool like Enterprise Architect, how amazing it is. The old and persistence problem goes away (or at least reduced to the point where the whole modelling thing can be applicable for productivity gain).
I am still actively studying MDD currently.
You need to be a member of The Model Driven Software Network to add comments!