Architekturzentrierte Modellgetriebene Softwareentwicklung
Architekturzentrierte Modellgetriebene Softwareentwicklung
Architekturzentrierte Modellgetriebene Softwareentwicklung
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
3 Vergleich mit verwandten Methodiken 27<br />
3.3 MDSD vs. Agile Software Development - Ist<br />
eine Kombination möglich?<br />
Auf Grund der Unzulänglichkeit schwergewichtiger dokumentenlastiger Prozesse<br />
kam es in den letzten Jahren vermehrt zur Entstehung so genannter agiler<br />
<strong>Softwareentwicklung</strong>smethodiken. Diese arbeiten mit sehr kurzen Planungsho-<br />
rizonten und reduzieren die geforderte Dokumentation meist auf ein Minimum.<br />
In kleinen bis mittelgroßen Teams ist diese Vorgangsweise unter Beachtung<br />
diverser Rahmenparameter sehr erfolgreich (siehe [Mar03]). In großen Projekten<br />
mit einer Vielzahl an Mitarbeitern, die stark fluktuieren können, macht sich der<br />
geringe Dokumentationsumfang allerdings negativ bemerkbar. Zudem kann die<br />
Agilität leicht ins Unstrukturierte abgleiten. MDSD kann hier mit dem Anspruch<br />
” das Modell ist zugleich Dokumentation und Code“ mehr Transparenz in die<br />
Entwicklung bringen. Darüber hinaus wird der Vorgang des Refactoring, der<br />
oft einen erheblichen Zeitaufwand bei agilen Projekten in Anspruch nimmt, bei<br />
MDSD stark verkürzt. Änderungen können hier zentral in den Transformati-<br />
onsvorschriften erfolgen und mittels Generator auf den bestehenden Quellcode<br />
übertragen werden.<br />
3.3.1 Das Agile Manifest und MDSD<br />
Im Folgenden wird anhand der Kernaussagen des Agilen Manifests (siehe [agi06])<br />
der Zusammenhang zwischen MDSD und Agile Software Development erläutert.<br />
Für weitere Informationen zu Agile Development wird auf [Mar03] verwiesen.<br />
Der Zusammenhang zwischen MDSD und Agile Development wird in [SV05] Ab-<br />
schnitt 5.4 und [Bet06d] Abschnitt 2.4 beschrieben.<br />
Individuals and interactions over processes and tools<br />
Mit dieser Forderung wird die Wertschätzung und Bedeutung des Menschen in<br />
der <strong>Softwareentwicklung</strong> zum Ausdruck gebracht. Die mitwirkenden Personen<br />
sind der Schlüssel zum Erfolg. Ein guter Prozess kann ein Projekt nicht vor<br />
dem Scheitern bewahren, falls ein Team keine kompetenten ” Spieler“ besitzt<br />
aber ein schlechter Prozess kann selbst stark Mitspieler ineffizient werden lassen.<br />
Neben kompetenten Einzelpersonen ist auch deren Zusammenspiel als Team<br />
Grundvorraussetzung für einen erfolgreichen Projektabschluss.<br />
Letztendlich ist es ratsamer keinen allzu formalen Prozess zu etablieren, der vom<br />
Team nicht mitgetragen wird, sondern das Team sollte vielmehr einen eigenen,