Software Development with Linux

MDA versus Agile

SUN, 01 MAR 2009

In software development, there are two main categories of methodologies : "heavyweight" and "agile". Standard methodologies like Rational Unified Process (RUP), 2 Track Unified Process (2TUP>), Business Component Approach, etc. would be in the "heavyweight" category. In the "agile" clan you'll find Scrum, Extreme Programming (XP), etc. In general, we can say that those software development methodologies are at the exact opposite. But, like everything in life, the best approach is often going for the middle ground, taking the best part of each side. Agile Modeling (AM) is in that direction. And more recently, Agile Model Driven Development (AMDD) is its direct successor, the application of the agile principles to Model Driven Architecture (MDA).

MDA is really interesting. In short, you do the modeling, and the software is completely generated from your models. The AMDD approach is the agile version of this software development methodology.

All this is relatively new and not widely used in the industry. And like you've realized, the problem here is to have tools that generate the software artifacts from your models.

But it's interesting to now see that agile approaches actively follow the "standard" approaches. You can be for or against agile software development, but having their proponent scrutinize and check the standard bodies approaches can only result in good things.