This morning I spent some time in Steven Kelly's tutorial on Planning for Success in MDD at the CodeGeneration conference. Steven provided us with his views and input on how to plan for introducing Model Driven Development - using numbers to convince management and engineers, but also looking at the soft and organisational side of things.
Yesterday, we heard about the importance of the latter also from John Slaby, when he explained how he had moved from using MDD and DSLs to Fluent APIs. Apparently, he had a very hard time convincing these exact same managers and engineers that Steven referenced of the benefits of doing MDD.
Now what is the problem here? It can't be the numbers, we've seen many examples of success stories over the past 7 editions of Code Generation, and most of the regulars at the conference are convinced that they are correct, within certain margins. It also can't be the tools, each has their own following, and as far as I can tell even the biggest fan boys among us agree that other than their personal favourite has its own strengths and benefits.
What is really the issue here, from my point of view, is that a lot of MDD adepts are software engineers who got involved because they were trying to make their own life easier and their work less repetitive. That's a good thing, because it makes them feel good and it increases the quality of their work. What they're not so good at, is translating that into a proper 'sales plan' for MDD. Where some people feel good about making their own work easier through MDD, others will perceive that as a threat to their own job (the code generator takes over the work of the programmer), or as a waste of money (the investment of scaling up to the whole department or company is too high, with no guarantee of success), or not the core business of the company (we build applications, not development tools).
So how do you sell it? Well, that depends on a number of factors, which were addressed nicely by Steven, ranging from financial figures to applying soft skills - in a combination that fits the needs of your organisation or customer. Rather than repeating Steven's tutorial here, I'd prefer to raise a different question here: Isn't it time, after 7 years, to start seeing a few more presentations on the topic of getting MDD adopted in a successful way, rather than the technical side of things at conferences like Code Generation and Software Development Automation? If the tools don't sell themselves and the paradigm, what do YOU need to sell MDD?
NOTE: comments on my blog are currently disabled, due to a bug in my Wordpress theme. I'll try to fix that before the weekend. Meanwhile, feel free to reply on your own blogs, by tweeting or by dropping me a personal e-mail.