This article appeared first in ITWeb late 2011
Our research shows that currently, most business owners are frustrated at the speed IT can deliver solutions. Surveys show that IT/development departments are typically late and over budget to deliver systems that do not quite meet the need. Currently typical implementations are measured in months and still follow an inherently water fall approach (mixed in with Agile and iterative “speak” rather than action). We change that to bring implementation down to days and weeks and fully implement a truly agile pipeline through implementing the Scrum methodology as part of MDD.
I strongly believe that MDD will be the wave of the future and progressive systems will be developed this way between two to five years from now. With “progressive systems” we imply systems suited to the approach, which is varied and many but excludes embedded systems and complex modeling engines as these domains still have to be packaged in models with DSL’s. Systems that fit are those that tie a number of systems together to provide the interfaces, work flow, process flow, security and delivery via the web. Model driven development provides a number of Domain Specific Languages to rapidly deliver solutions at a speed of two to fifty times quicker than the current mainstream methodology. Other notable advantages of MDD are:
1) Fast skilling up of competent staff to take over maintenance of systems developed
2) Reduce key man dependency and decreases dependence on highly technical resources that know everything about AJAX, HTML, CSS, XML, SOAP, data base connection pooling, transaction management, security etc. and changes this to a dependence on people that understand the business.
3) MDD provides documentation implicitly i.e. modeling is the basis of the solution and we do not have to update a set of documents at large costs that tend to be outdated as soon as they are printed.
4) Deliver solutions at the speed of business.
5) Provide skills transfer to client’s team to allow them to maintain their systems
As with any approach, benefits will only realize if the whole philosophy is implemented with the tools. A MDD development environment is the enabler but the success lies in the way it is implemented holistically and will not yield the benefits if the same rules and methodology of the status quo are applied. MDD provides an organization with the opportunity to reform, regroup and create winning teams with business ownership and understanding and delivery at its heart.