Betrachtet man die Art und Weise, wie Anwendungen heutzutage entwickelt werden, wird man feststellen, dass in den meisten Fällen die Software manuell programmiert wird, d. h. ein oder mehrere Entwickler schreiben Programmcode in Programmiersprachen, wie z.B. Java, C++ oder C#, der die geforderten Funktionalitäten der Software realisiert. Dieses Vorgehen hat jedoch einige Schwächen und Risiken, die durch den Einsatz der MDA reduziert bzw. ausgeschlossen werden können. Neben der Reduzierung der Risiken und Schwächen der traditionellen Softwareentwicklung ist der Einsatz der MDA durch die folgenden Punkte motiviert:
Der interessante Punkt ist, dass sich die eigentlichen Konzepte der Software (Was soll realisiert werden?) wenig ändern und oftmals über Jahre oder sogar Jahrzehnte hinweg konstant bleiben (z. B. Sortieralgorithmen, Transaktionskonzepte). Lediglich die Realisierung (Wie soll etwas realisiert werden?) wechselt kontinuerlich. Gestern war es z. B. COBOL, VB, oder C++, heute sind es beispielsweise WebServices, XML und EJBs und morgen ist es dann eine weitere neue Technologie.
Die MDA versucht diese Probleme durch das Konzept der plattformunabhängigen Modelle zu lösen, die dann - bereits in vielen Fällen vollständig automatisch - an bestimmte
Plattformen gebunden werden können. Dadurch können die heutzutage noch existierenden Konsistenzprobleme zwischen Modell und Quellcode gelöst werden. In vielen Unternehmen werden bereits Modelle (vorwiegend in UML notiert) in der Anforderungsdefinition und der Konzeption von Projekten eingesetzt. Jedoch werden die initialen Modelle i. d. R. nicht bei Änderungen angepasst und somit im weiteren Projektverlauf unbrauchbar.
Des Weiteren nutzen Entwickler diese Modelle in den späten Projektphasen aufgrund fehlender Konsistenz kaum und der Programmierer fängt wieder von Vorne an. Dieses Vorgehen ist jedoch äußerst ineffizient, fehleranfällig und zeitaufwendig.
Weiterhin integriert die MDA einige der bereits etablierten Standards der OMG, wie UML, XMI, MOF oder CWM. Diese Standards schaffen die notwendige Integrationsbasis um auch kleineren Unternehmen die Möglichkeit zu geben ihre (oftmals spezielleren) Werkzeuge im Entwicklungsprozess zu platzieren und somit konkurrenzfähig neben den Großen der Branche zu stehen.
Bereits heute haben viele Werkzeughersteller die MDA als eine zukünftige Art der Soft- und Hardwareentwicklung erkannt und entsprechende Werkzeuge für die Entwicklung mit MDA in ihr Produktportfolio aufgenommen.