#15/ 2019
10/10

warum scrum und v-modell wie äpfel und birnen sind

Ich habe inzwischen einige Versuche gesehen, Entwicklungsprozesse (z. B. das V-Modell) in irgendeiner Weise in die Welt agiler Methoden bzw. Scrum zu übersetzen. Meist in der gutgemeinten Absicht, zu beweisen, dass sich Scrum zur Umsetzung solcher Prozesse eignet.

Ich bin der Ansicht, dass ein solcher Versuch nicht sinnvoll ist und zu invaliden Schlüssen führt. Der Grund dafür ist, dass Scrum bzw. Agilität und Entwicklungsprozesse (z. B. das V-Modell) Aspekte fokussieren, die völlig unabhängig voneinander sind.

Der Fokus von Entwicklungsprozessen bzw. V-Modell

Meiner Erfahrung nach beschreiben Entwicklungsprozesse im Wesentlichen die Arbeitsprodukte, die im Rahmen einer Entwicklung entstehen und ggf. Techniken bzw. Methoden, die zu deren Erstellung, Verifikation und Validation geeignet sind.

So steht z. B. eine Ebene von Anforderungs-Spezifikationen einer Ebene von Tests gegenüber, die deren Umsetzung verifizieren. Auf der Implementierungsebene kann sich das analog in Form einer Codierung und Unit-Tests verhalten. Zusätzlich können diese Artefakte über Reviews, Walkthroughs oder andere Maßnahmen geprüft werden.

Außerdem wird beschrieben, welche Arbeitsprodukte die Eingangsinformationen für die Erstellung anderer Arbeitsprodukte liefern. Z. B. kann ein SW-Design als Eingangsinformation zur Erstellung einer Codierung dienen.

Zu den einzelnen Arbeitsprodukten kann definiert sein, welchen Qualitätsmerkmalen diese genügen sollen.

Zwar gibt es gewisse logische Abhängigkeiten, was die Reihenfolge der Erstellung der einzelnen Arbeitsprodukte angeht, allerdings wäre es falsch, eine solche als spezifische Forderung des Entwicklungsprozesses bzw. V-Modells zu verstehen. Wäre dies der Fall, würde die schon lange übliche iterative Vorgehensweise der Idee des V-Modells widersprechen.

Der Fokus von Agilität

Zusammenfassend könnte man sagen: Agilität widmet sich der Frage, wie Menschen zusammenarbeiten, um die größtmögliche Wirksamkeit zu entfalten. Dabei berücksichtigt sie insbesondere, dass Menschen in Organisationen komplexe Systeme bilden, die grundsätzlich selbstorganisiert agieren.

Damit wird offensichtlich, dass sich Entwicklungsprozesse und Agilität mit völlig unterschiedlichen Aspekten befassen. Während erstere beschreiben, WAS getan werden muss, befasst sich Agilität damit, WIE Menschen zusammenarbeiten bzw. sich (selbst)organisieren.

In diesem Sinne besteht zunächst kein Zweifel, dass man damit alle Arbeitsprodukte, die z. B. ein V-Modell fordert, unter Verwendung agiler Methoden wie Scrum genau in der geforderten Form und Qualität erzeugen kann. Es ist sogar vielmehr so, dass Agilität die bestmögliche Form der Zusammenarbeit ermöglicht und damit positiv auf die Ergebnisse (das WAS) rückwirkt.

Scrum ist das am weitesten verbreitete agile Framework und hat eine große Praxisbewährung. Greifen wir hier einmal exemplarisch das agile Prinzip „Inspect & Adapt“ heraus, um deutlich zu machen, wie dieses im Zusammenspiel mit dem V-Modell verstanden werden kann.

In Sprints werden Inkremente erzeugt, die einen zuvor definierten Nutzen generieren sollen.

Damit das Prinzip „Inspect & Adapt“ funktionieren kann, muss Folgendes gewährleistet sein:

  1. Das erzeugte Inkrement muss soweit vollständig abgeschlossen werden, dass ein qualifiziertes Feedback in Bezug auf dessen Nützlichkeit und Qualität möglich ist (Inspect des WAS im Sprint-Review).
  2. Um auch die Zusammenarbeit beurteilen und adaptieren zu können, muss diese reflektiert werden (Inspect des WIE in der Retrospektive).
  3. Dass in der Sprint-Planung der Umfang des Inkrements und ein übergeordnetes Ziel definiert worden sind, ist eine der Grundlagen für die Reflexion des Sprints.
  4. Der Sprint-Zeitraum muss kurz genug sein, um Änderungen sowohl im weiteren inhaltlichen Vorgehen (WAS) als auch der Zusammenarbeit (WIE) sinnvoll einfließen lassen zu können (Adapt).
  5. Ferner sollten alle Arbeitsprodukte in Bezug auf den generierten Nutzen vollständig vorliegen, damit einerseits die Ergebnisse des Inkrements sinnvoll bewertbar sind und andererseits ein echter Nutzen entstanden ist (Done ist Done und nicht almost Done).

Das V-Modell beeinflusst hier WAS zur Erstellung des Inkrements getan werden muss, Scrum WIE die Beteiligten zusammenarbeiten.

Inwiefern beeinflusst Agilität den Entwicklungsprozess bzw. das V-Modell?

Einerseits fördert Agilität die kontinuierliche Prozessverbesserung durch das systematische Inspect & Adapt. Schwächen und Verbesserungspotenziale werden fortlaufend identifiziert und die Beteiligten sind angehalten, diese zu beheben bzw. Potentiale zu nutzen.

Andererseits fordert Agilität dazu heraus, alle Vorgänge im Entwicklungsprozess so zu optimieren – insbesondere automatisieren – dass ein möglichst schnelles, kontinuierliches Durchlaufen des Prozesses möglich wird. Dabei ist es Ziel, alle Schritte, die notwendig sind, in einer hohen Qualität, aber eben auch mit maximaler Effizienz zu gestalten. Das fördert ein Vorgehen mit Methoden, Techniken und Werkzeugen, die dem neusten Stand der Technik entsprechen.

Fazit

Agilität steht in keinem Widerspruch zu Entwicklungsprozessen bzw. dem V-Modell, weil sie jeweils andere Aspekte adressieren.

Dadurch, dass Agilität die Interaktion und Zusammenarbeit der beteiligten Menschen bestmöglich gewährleistet, hat sie einen positiven Einfluss auf Validität und Qualität der entstehenden Lösung.

Agilität akzeptiert die Komplexität menschlichen Zusammenwirkens und unterstützt dieses durch geeignete Prinzipien und Methoden. Diese zu verstehen und beherrschen ist naturgemäß gleichermaßen komplex.

Ein erster Schritt zum Verständnis ist zwingend die Erkenntnis, dass es sich bei Agilität und Entwicklungsprozessen um völlig unabhängige Konzepte handelt, die zu vergleichen ähnlich zielführend ist wie der Vergleich zwischen Äpfeln und Birnen.

Stefan Müller hat 20 Jahre Erfahrung im Bereich der embedded Softwareentwicklung und sich in dieser Zeit intensiv mit Methoden der Softwareentwicklung und der Gestaltung von Entwicklungsprozessen beschäftigt. Einen Großteil dieser Zeit hat er sich im streng regulierten Umfeld der funktionalen Sicherheit bewegt. Über die Leitung von Projektteams und die disziplinarische Führung als Teamleiter hat er sich dem Faktor Mensch und den Themen Agilität, New Work, Servant-Leadership und Transformation von Organisationen genähert. Heute setzt er sich für Sinnorientierung, Nachhaltigkeit und Wertschätzung im unternehmerischen Handeln ein.