Man ist nicht „agile” wenn … Hybridmodelle

Foto von Sohrab Salimi
Sohrab Salimi
4 Min. Lesezeit

Die Gespräche, die ich mit Kollegen, Lesern meines Blogs und einem Professor der Pennsylvania State University über solche Hindernisse geführt habe, haben leidenschaftliche Diskussionen zum relativen Wert und zur Nützlichkeit von Hybridmodellen hervorgerufen.

Wasserfall

Klassische Methoden für die Softwareentwicklung sind wie ein Wasserfall, der mit der Definition der Anforderungen anfängt und mit der Implementierung aufhört. Die Arbeit wird in einzelnen Schritten entlang der Stufen dieses Wasserfalls ausgeführt – ähnlich wie bei der Fließbandarbeit in der Automobilproduktion. Das Produkt ist erst funktionstüchtig, wenn es am Ende vom Band läuft. In diesem Modell werden bestimmte Arbeiten immer wieder von denselben spezialisierten Fachkräften durchgeführt. Henry Ford hat den Automobilmarkt mit dieser Methode revolutioniert.

Diese Art der Softwareentwicklung kann jedoch auch alle möglichen negativen Verhaltensweisen fördern. Der Grund dafür ist im Allgemeinen die Inkompatibilität von Fließbandarbeiten (z. B. in der Produktion) und dynamischeren Arbeiten, die mehr forschungs- und entwicklungsorientiert sind. Ein Beispiel für ein solches negatives Verhalten ist der fälschliche Gebrauch von sogenannten „Stage Gates” (Meilensteine zwischen den einzelnen Abschnitten). Oft arbeiten die Teams einfach weiter, auch wenn die Methode eigentlich vorgibt, dass man auf eine Entscheidung für ein Stage Gate warten müsste. Das Problem dabei ist allerdings, dass sie niemals rechtzeitig fertig würden, wenn sie auf eine Entscheidung warten würden. Manager wissen IMMER, was vor sich geht, ziehen es aber vor, keine Fragen zu stellen. Der Grund dafür ist normalerweise nicht, dass irgendjemand im Prozess schlecht arbeitet, sondern eher dass der Prozess an sich schlecht ist.

Agile ist anders

Agile unterbricht diesen Wasserfall und teilt die Arbeit in kleinere Einzelteile auf. Diese kleineren Teile werden dann mit Hilfe von kurzen Sprints designed, entwickelt, getestet und geliefert, um direktes Feedback zu erhalten. Durch den „neuen” Prozess gibt es keinen Grund mehr, die Stoppschilder der Stage Gates zu ignorieren.

Hybridmodelle sollen das Beste aus den klassischen und agilen Frameworks nutzen und so optimal zur aktuellen Kultur und Struktur der Organisation passen. Agile Methoden an eine Organisation anpassen zu wollen, die eigentlich auf klassische Methoden ausgelegt ist, ist der Punkt, an dem sich häufig Probleme einschleichen. Die erforderlichen Kompromisse stehen oft im Gegensatz zu den Annahmen der agilen Werte und Prinzipien.

Beispiele für solche Annahmen in Agile sind stabile Teams, Eigenverantwortlichkeit und das Liefern funktionierender Software am Ende jedes Sprints. Es ist einfacher, sich von diesen Werten und Prinzipien zu entfernen, als die Kultur und Struktur der Organisation zu ändern. Einer der häufigsten (und schädlichsten) Kompromisse kann in Organisationen beobachtet werden, die weiterhin mit dynamisch besetzten Teams arbeiten (oft Matrixorganisationen genannt). Stabile Teams erfordern häufig die Neugestaltung von Organisationsgrenzen und eine genauere Überprüfung der Fähigkeiten.

Dies sind die typischen Probleme, die – wenn sie nicht in Angriff genommen werden – eine Organisation dazu verleiten können, Mischformen aus klassischen und agilen Methoden zu nutzen:

Silos: Wenn einzelne Gruppen voneinander abgegrenzt sind, benötigt man mehr Planung und Koordination, um sicherzustellen, dass die richtigen Leute zur richtigen Zeit verfügbar sind – auch bei Verzögerungen. Große Entwicklungsorganisationen haben die Rolle eines Schedulers (dt. Arbeitsplaners) bzw. eines Expediters (dt. Terminüberwachers) in ihr Organigramm eingefügt, um mit dieser Art von Problemen fertig zu werden.

Zu schlank: Viele Entwicklungsorganisationen leiden unter jahrelangen Sparmaßnahmen und haben weitaus weniger Leute zur Verfügung als nötig, um die Arbeit fertigzustellen, zu der sie sich verpflichtet haben. Die Mitarbeiter arbeiten aktiv an mehreren unterschiedlichen Projekten, um den Anschein zu erwecken, Fortschritte in einer ganzen Reihe von Unternehmen zu machen. Zwischen verschiedenen Aufgaben zu wechseln, ist höchst ineffizient und mindert den gelieferten Wert, was oft zu einem noch höheren Druck führt, die Kosten zu senken.

Fehlender Fokus: Führungskräfte in Entwicklungsorganisationen haben oft das Bedürfnis, alle Projekte, die vorgestellt wurden, zu akzeptieren und durchzuführen. Das wird auch das „Ja-Sager-Syndrom” genannt. Es kommt meistens bei Organisationen vor, die über kein starkes Portfoliomanagement verfügen. Letztendendes bedeutet das, dass Teams und Mitarbeiter zum Multitasking gezwungen sind, was wiederum zu Ineffizienz führt.

Zu wenig Automatisierung: Ich habe noch nie eine Entwicklungsmethode kennengelernt, die man nicht in einem kleinen Rahmen mit Stift und Papier hätte durchführen können. Ein größerer Rahmen wird allerdings durch Automatisierung möglich. Nehmen Sie zum Beispiel an, Sie müssten einige tausend Regressionstests per Hand schreiben. Um die Tests ausführen zu können, bräuchten Sie entweder sehr viel Zeit oder sehr viele Leute. Viele Leute bedeutet normalerweise auch mehr Teams, mehr Teamgrenzen, mehr Hierarchie und mehr Aufwand – das kann möglicherweise dazu führen, dass weniger Tests durchgeführt werden, weil man sich an eine Deadline oder ein gewisses Budget halten muss.

Die Werte und Prinzipien, auf denen Agile beruht, sind wirklich wichtig. Sie beeinflussen die Verhaltensweisen, so dass man sich mehr auf das schnellere Liefern von Werten konzentriert. Die vier Werte im Agilen Manifest werden als Paare dargestellt. Beispielsweise heißt es in dem ersten der vier Werte: „Menschen und Interaktionen stehen über Prozessen und Werkzeugen”. Die Dinge auf der linken Seite haben einen höheren Wert als die auf der rechten Seite (auch wenn diese natürlich auch noch einen Wert besitzen). Durch Hybridmodelle werden häufig Kompromisse erzeugt, die den Schwerpunkt von den Punkten auf der linken Seite mehr in Richtung Mitte oder sogar wieder zurück zu den Punkten auf der rechten Seite verlagern.

Hybridmodelle sind nicht grundsätzlich böse oder schlecht

Wenn man sich dabei aber von den grundlegenden agilen Werten und Prinzipien entfernt, anstatt schwierige Themen in der Organisation anzugehen, sind das oft nur Ausweichmanöver. Ob Sie alldem nun zustimmen oder nicht, Ihre Gedanken zu diesem Thema sind wichtig und lenken die Unterhaltung darüber, was Agile ist und was nicht.

Dieser Text stammt aus dem Blog von SPaMCAST und wurde von uns ins Deutsche übersetzt.