Unsere derzeitige Codebasis ist nicht strukturiert nicht sehr gut strukturiert und wir suchen sowohl nach wie wir sie sofort verbessern können [...] und den Wechsel zu einem modellbasierten Architektur-Ansatz, bei dem wir modellieren und entwerfen alles zuerst mit uml, und dann Code aus diesem Modell generieren.
Zunächst einmal ist es großartig, dass Sie und Ihr Unternehmen erkennen, dass Ihr Softwareentwicklungsprozess einige Mängel aufweist und dass es eine Bereitschaft zur Verbesserung .
Es scheint jedoch, dass noch viel Arbeit vor Ihnen liegt und viele Dinge in verschiedenen Richtungen zu verbessern sind. Mein erster Rat wäre, nicht zu versuchen, etwas zu ändern. alles sofort. Die Menschen sind im Allgemeinen zurückhaltend gegenüber Veränderungen, und jeder braucht eine gewisse Zeit, um neue Veränderungen zu verdauen. Es ist auch sehr wichtig, ein gemeinsames Verständnis darüber zu schaffen, was eingerichtet werden muss. Dieses gemeinsame Verständnis lässt sich nicht an einem Tag herstellen. Solche Veränderungen erfordern eine mittel- oder langfristiges Engagement .
In Bezug auf die MDA ist es wichtig zu wissen, dass sie einige Disziplin . Abhängig von Ihrem Team könnte es gut sein, dass Sie zuerst daran arbeiten, um den nächsten Schritt vorzubereiten, nämlich die Einführung von MDA. Ich sage das, weil Sie sagen, dass Sie einen "Cowboy"-Prozess haben, was bedeutet, dass die Leute wahrscheinlich gewohnt sind, zu tun, was sie wollen - das ist ein No-Go für MDA.
Dann kommt die Einführung der MDA selbst. Es gibt verschiedene Möglichkeiten, MDA durchzuführen (und ich werde hier nicht näher darauf eingehen), aber die immer noch vorherrschende Methode ist die sogenannte Round-Trip-Technik . Das größte Problem besteht dann darin, das Modell und die Quelle synchron zu halten.
(Meiner Meinung nach führt MDA nur dann zu einer positiven Investitionsrendite, wenn das Modell für mehrere Projekte wiederverwendet werden kann. Das bedeutet, dass Sie die Dinge, die Sie immer wieder tun, identifiziert haben müssen und eine ausreichend klare Sicht auf das Problem haben müssen, um ein ausreichend vollständiges Modell und Transformationen erstellen zu können, die Sie projektübergreifend wiederverwenden können. Ich glaube nicht, dass MDA funktioniert, wenn jedes Projekt völlig anders ist; der Zeitaufwand für die Erstellung des richtigen Modells und der Transformationen usw. wird größer sein, als wenn man nur mit Code und Dokumentation arbeitet. )
Ein anderer Ansatz ist, MDA nicht vollständig umzusetzen - man generiert keinen Code aus dem Modell - sondern das Bewusstsein der Leute für Modellierung und Design zu erhöhen, z.B. mit UML. Auf diese Weise werden Sie nicht mit Round-Trip-Problemen konfrontiert, verbessern aber dennoch die Reife Ihres Softwareentwicklungsprozesses.