MDA wird sich zunächst überall dort gut einsetzen lassen, wo kleine bis mittelgroße IT-Projekte neu aufgesetzt werden. Das ist überall dort, wo UML-Know-How vorhanden ist und Prinzipien der agilen Software-Entwicklung verfolgt werden. Hier geht es im Wesentlichen darum, Cross-Plattform-Anwendungen und Geschäftsprozess-Komponenten zu entwickeln, die sowohl wiederverwendbar als auch schnell veränderbar sein müssen (time to market). Andererseits wird MDA wenig Verbreitung dort finden, wo „OO-Altanwendungen” (sofern man hier von „alt” sprechen kann) gepflegt werden müssen und wo bestehende EAI-Architekturen, die auf J2EE, .NET oder CORBA beruhen, einer Anpassung bedürfen. MDA eignet sich nur selten für eine Softwareentwicklung, die Themen wie Reverse-Engineering” oder „Roundtrip-Engineering” nahe legen. Das heißt, dass MDA sich wahrscheinlich eher sperrig gegenüber älteren Software-Komponenten verhält, die ohne einen plattform-unabhängigen Modellansatz entwickelt wurden. Die nachträgliche, sinnvolle Modellierung von Quellcode sowie die Synchronisation von Quellcode und UMLModell sollte daher den bereits etablierten Methoden sowie hochintegrierten Entwicklungsumgebungen überlassen werden.
Abbildung 1: Modellgetriebene Architektur
Viele Dinge, die mit MDA anklingen, können bereits heute mit einem konsequenten, praxiserprobten Ansatz der modellgetriebenen Softwareentwicklung umgesetzt und sogar in spätere Standard-MDAVorhaben integriert werden. Der Vorteil eines solchen „Model Driven Development” besteht darin, modellzentriert zu arbeiten und insb. die Anforderungsphasen mit den UML-Modellen automatisiert zu verzahnen. Geeignete Werkzeuge vorausgesetzt, wird die Softwareentwicklung hierdurch befähigt, Kostentransparenz herzustellen sowie eine Steigerung der Qualität und Sicherheit im Deployment zu erzielen. MDA kann hierbei in Zukunft eine wichtig Rolle spielen.