The Model Driven Software Network

Raise your level of abstraction

When talking about Model-Driven Software Development with people in the wider software world I'm often faced with common myths. I think it's a good idea for us here to be aware of such myths and how to 'explode' them.

So, can I ask that we share a few of the common myths that we've heard and how we counter-act them?

Some 'myths' I face regularly:

- MDSD isn't 'agile'

- You have to be a 'guru' to use MDSD (last guru cited was Stephen Wolfram)

- MDSD is really difficult

Views: 194

Reply to This

Replies to This Discussion

Mark, a good starting point is Ed Merk's talk "The Unbearable Stupidity of Modeling" he gave at the Eclipse Summit Europe 2008. You will find the slides at

Peter Friese presented his adaption at the EclipseCon 2009. You will find the slides at SlideShare:
Nice one... and a familiar topic as well ;-)

>> - MDSD isn't 'agile'
I'm preparing a half day session on the topic of how MDSD is agile, as part of a masterclass in Agile Architecting (

As for myths, how about this one. The example case hasn't been countered yet, but the person in question has left the company so there's new chances there:

A company creates a large number of similar applications in it's domain [details on request, left out for sensitivity reasons], and has been applying a copy-paste-modify approach for years. This goes as far as copying the code of an application still being developed and create a new application based on that, in parallel. I talked to the architect a couple of times, pointing out that apparently there is a lot of repetition in his applicaitions, and that an MDSD, more specifically, a DSM approach could be very useful. He agreed with the story on each occasion, but after three week research period, he concluded that he 'cannot find any useful repetition and is no longer interested'. I was not awarded a look at the code, so I couldn't get much further, but knowing this person and his interests and fears quite well, I think this can be scheduled under either one of these three myths:

  • MDSD/DSM isn't compatible with 'open source' solutions [the guy is a Linux and Python promotor, and was trying to move the company platform in that direction]
  • MDSD is a thread to the position of software architects as well as programmers
  • You have to know exactly where your repetiting efforts are before even considering MDSD

The first one is easily countered: the Eclipse based efforts are fully Open Source as far as I can tell, and tools like e.g. MetaEdit+ are easily integrated with Open Source development and solution environments.
The second takes more effort to convince people, but from a logical perspective is also easily countered: in order to have a platform for MDSD, architects are still needed, and following the reasoning that "generators only generate what your best programmers create manually" I don't expect programmers to be out of a job either.
The third one fits in nicely with the Agile part: being aware that repetition exists, and that it can be realised more efficiently with MDSD is a good starting point. Finding the first opportunity to do so is a first iteration, and growing insights and an agile, iterative approach will help you take it further from there. I'll elaborate more on that once the masterclass session is more complete.
FWIW Andrew Watson has agreed to lead a panel on 'MDD - Exploding the myths' at Code Generation 2010 - more myths needed :-)
@rwestein suggests: "MDD solves all your problems"

"Some problems can be solved and haven't been yet, and some are fundamental. It depends on context and might be good to address."
Maybe you can also take some 'myths' from this article:

In my opinion most points are valid and need attention when starting with MDD. However, some people disagree and see it as myths.
- 'MDSD will increase your productivity' (MDSD /can/ increase your productivity but it's not a birth right.)

- 'You need to use UML to do MDSD'

- 'Modelling = pictures, Coding = text'
Some more myths:

- New general-purpose languages do / will provide the same productivity as MDSD.

- MDD is only applicable in a small domain (that doesn't correspond to my domain of interest).

- MDD only provides a reduction in coding time - it has no other benefits.
I just blogged about this: "Myths that give model-driven development a bad name"
Nice blog post Rafael. I've tweeted a link to it so hopefully you'll get some additional traffic.




© 2019   Created by Mark Dalgarno.   Powered by

Badges  |  Report an Issue  |  Terms of Service