Summary
The conflict between the modelers and agile programmers [4] is perceived to be fundamental and large, partly because of differing technical focus"extreme" is an explicit reaction to deliberate processesand partly because of hype. Yet in reality the gap is quite small. Many ideas of the Agile Alliance and XP (such as Sustainable Development, Customer on Site, or Estimate to Improve) hold if we simply replace the word "code" with "executable model"enough so that your author became a signatory to the Agile Manifesto in good conscience.
To build a system using Agile MDA, we follow an agile process. We build test cases, write executable models, compile the models using a model compiler, run the test cases, and deliver fragments of the system to the customer incrementally. This is just the same as "We build test cases, write code, compile the code using a language compiler, run the test cases, and deliver fragments of the system to the customer incrementally" except that we have replaced one language (code), with another at a higher level of abstraction: an executable and translatable model.
Agile MDA requires the construction of various PIMs using the UML profile called executable UML, and the compilation of those models using a model compiler that executes the mapping functions to produce the most interesting and useful PSM of them all: the code.