Jeffrey Ricker is an experienced technology development executive with 15 years of leadership in defense and the private sector. He is the principal of Jeffrey Ricker LLC, providing expertise in Eclipse, RCP and OSGi to Fortune 500 and start-up clients. Previously, he was the founder of Distributed Instruments and XML Solutions Corp. Jeffrey has posted 5 posts at DZone. You can read more from them at their website. View Full User Profile

Strategic Objectives and Advantages of Model Driven Development

05.21.2008
| 18111 views |
  • submit to reddit

Markus Voelter  has defined model driven development as “a software development approach that aims at developing software from domain-specific models. Domain analysis, meta modeling, model-driven generation, template languages, domain-driven framework design and the principles of agile software development form the backbone of this approach.”

MDD is quickly moving from a novel concept to a pragmatic business necessity in large corporations. The change is due in no small part to the advent of Eclipse. MDD requires tools. Prior to Eclipse, creating tools was an expensive proposition. One needed either to build the entire tool set from scratch or to commit to a particular vendor’s proprietary solution. Neither choice was particularly appealing. Now, with Eclipse, the best tool platform available on the market is free and open source. More importantly, it is designed with the specific intent of extending and customizing. With Eclipse, creating tools is down right cheap.

I will not go in to detail on the various ways of implementing MDD. Instead, I want to share some of the strategic objectives and advantages that I have seen first hand with implementing MDD.

Strategic Objectives

There are several common strategic objectives for using MDD. The seven most common objectives that I have observed are as follows:

  1. Lower the overall cost of building large internal applications
  2. Speed time to build large applications
  3. Lower the risk of large applications
  4. Simplify development
  5. Lower the required skill level needed to work on large applications
  6. Expand the pool of resources that can work on large applications
  7. Leverage open source

The first three objectives should sound exceedingly familiar. What organization does not claim to want lower costs, faster delivery and lower risk? The other four objectives may sound new, even controversial. Some software professionals take exception to the objective of lowering the skill set necessary by contributors.  Nevertheless, these objectives are inherently interdependent. Figure 1 shows a conceptual graph of the interdependencies of these seven strategic objectives. An organization will not achieve the objective of lower cost through MDD unless it embraces also embraces the objective of lowering the required skill set of contributors.

Figure 1 Seven objectives of MDDFigure 1 Seven objectives of MDD

Published at DZone with permission of its author, Jeffrey Ricker.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

John Chambers replied on Thu, 2008/05/22 - 2:28am

Yes MDD is more popular, and Eclipse is free (not counting all the developer time), but it does not have the best tools for MDD. OaW is good at it's job, but Eclipse modeling/metamodeling tools are not. Commercial tools cost in licensing, but save in time, and ultimately are a better value.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.