Entwicklung

Agiles V-Modell - ein Widerspruch?

01.09.2011
Von Ingo Kriescher und Josef Markgraf

V-Modell und Agile Dev. - kombiniertes Vorgehen

Ist eine Verbindung von V-Modell und agiler Entwicklung sinnvoll und nützlich? Diese Frage ist mit "Ja, aber…" zu beantworten. Die Ansätze schließen sich nicht aus, und im V-Modell XT ist bereits ein erster verbindender Schritt getan worden. Aber nicht für alle Projekte und in allen Unternehmen können agile Methoden mit dem V-Modell XT auf allen Ebenen sinnvoll kombiniert werden, da das agile Modell ein gewisses Maß an Vertrauen und Mut voraussetzt. Insbesondere bei unternehmenskritischen Systemen, die als Gewerk zum Festpreis ausgeschrieben sind, wird eine nutzbringende Kombination schwerer umsetzbar sein.

Ohne größere Probleme und Zweifel lassen sich dagegen einige konkrete agile Praktiken direkt in das V-Modell XT übernehmen, da es hier keine zwingende Richtlinie gibt. Unter anderem können dies das Konzept der Test Driven Development (TDD) auf Entwicklerebene, der kontinuierlichen Builds des Softwaresystems und der automatisierten Überprüfung der Lösung sein. Auch Pair-Programming wird in jedem Umfeld seinen Wert zeigen und ist nicht nur bei agilen Methoden hilfreich.

Ein besonderer Nutzen aus dem kombinierten Vorgehen ergibt sich bei der Lösung komplexer Probleme, die nicht einfach beschreibbar sind - und zwar sowohl für den Auftragnehmer als auch für den Auftraggeber, der eventuell sogar zur Verwendung des V-Modells XT verpflichtet ist. Bei dieser Symbiose bildet das V-Modell den vertrauten Rahmen für die Projektorganisation des Auftraggebers. Alle Ansprechpartner und Stellen innerhalb der Organisation können weiterhin bedient werden, und die Arbeitsteiligkeit der Organisation bleibt gewährleistet.

Das Gesamtprojekt sollte zudem, je nach Projektgröße, innerhalb des V-Modells in mehreren Projektstufen (Releases) geplant werden. Dabei dient die erste Stufe dazu, die Architektur zu stabilisieren, die größten Risiken zu entschärfen und das adaptierte Vorgehen zu erproben. Bei einem passenden Rahmenvertrag für die Vergabe der weiteren Projektstufen können Aspekte der evolutionären Anforderungsanalyse einfließen und somit das Projektrisiko inklusive der Kosten reduziert werden.

Die detaillierte Verbindung wird über die agile Projektdurchführungsstrategie erstellt. Innerhalb der angepassten Strategie wird entsprechend dem agilen Vorgehen die Lösung umgesetzt. Hierbei kann im V-Modell "Iteration geplant" als Einstiegspunkt dienen. Die Einbindung über die Durchführungsstrategie und eine dokumentierte Abweichung sollte jedoch in enger Abstimmung mit dem Auftraggeber stattfinden. Die Effizienz der Entwicklung lässt sich durch die Verwendung der agilen Prinzipien steigern, und Änderungswünsche lassen sich leichter in das Projekt einsteuern. Allerdings wird mit zwei unterschiedlichen kulturellen und methodischen Ansätzen gearbeitet, und die dadurch auftretenden Reibungsverluste müssen durch die Schnittstellen zwischen den Welten kompensiert werden. Zudem sind eine intensivere und kontinuierlichere Mitarbeit des Auftraggebers, eine empirische Projektsteuerung und ein modifiziertes Änderungs-Management erforderlich.

Für den Auftraggeber bedeutet das eine wesentlich höhere Projekttransparenz, weshalb es sich nur vermeintlich um Mehrarbeit handelt. Zudem kann der Projektstatus nach messbaren Fortschritten der Lösung, ausführbaren Tests sowie dem Maßstab einer früheren und kontinuierlicheren Integration beurteilt werden - und dies zu geringeren Kosten.

Fazit

Bei innovativen Anwendungen, die sich im Vorfeld nur schwer beschreiben lassen, führt ein gemeinsam mit dem Auftraggeber verfolgter Lösungsansatz, bei dem agile Methoden in das etablierte V-Modell eingebettet werden, zu zeitnahen und kostengünstigen Lösungen. Das kann auch dort sinnvoll sein, wo aus Zeitnot eine Unterspezifikation in Kauf genommen werden musste und den Beteiligen bei der Vergabe klar war, dass die Aufgabe nur in enger Zusammenarbeit zu lösen sein würde. Der iterative Entwicklungsansatz lässt die Projektbeteiligten interdisziplinär denken. Auch beim Auftraggeber kommt es zu einem breiten Kompetenzaufbau, der ihn auf lange Sicht entlastet sowie Risiken und damit Kosten senkt.