Physische Produkte agil entwickeln?

In meinem letzten Blog-Beitrag ging es um Teams, die erst durch Erfahrung wirklich agil werden. Heute stehen die Herausforderungen im Mittelpunkt, die die Agilität gerade im Engineering mit sich bringt.

Agile Softwareentwicklung hat sich fast 20 Jahre nach dem Agilen Manifest weitgehend durchgesetzt. Es geht nicht mehr um das Ob, sondern nur noch um die Best Practices im Detail sowie agile Skalierbarkeit. Der Erfolg und die einfache Anwendbarkeit etwa von Task Boards haben dazu geführt, dass agiles Vorgehen auch außerhalb der Software-Entwicklung begeisterte Nutzer findet, wo Aufgaben im Team bearbeitet werden.

Dies mündete schließlich in die zunehmend intensiv diskutierte Frage, ob auch physische Produkte effizienter mit agilem Vorgehen entwickelt werden könnten.

Warum eigentlich?

Es gibt seit vielen Jahren etablierte Produktentstehungsprozesse, die eine große Reife erlangt haben und eine erfolgreiche Entwicklung unterstützen. Warum davon abgehen und die Risiken eines komplett neuen Ansatzes auf sich nehmen?

Je unklarer die Anforderungen an das Produkt sind und je unbekannter die zu verwendende Technologie ist, desto weniger sind klassische Projektmanagement-Methoden geeignet, weil sie sehr stark vorausplanend sind. Genau diese Tendenz, Projekte trotz zunächst unvollständiger Anforderungen zu starten, beobachten wir aber zunehmend. Digitalisierung und neue Technologien erfordern neue Geschäftsmodelle oder neue technologische Fähigkeiten. Dies spricht für ein agiles Vorgehen, da es für den Umgang mit Unklarheit und Noch-Nicht-Wissen erfunden wurde.

Geht das überhaupt?

Die entscheidende Frage lautet dabei: Sind agile Methoden aus der Softwareentwicklung überhaupt geeignet, die Herausforderungen in der „klassischen“ Produktentwicklung zu bewältigen? Physische Produkte werden im Unterschied zu Software deutlich arbeitsteiliger entwickelt. Die Produktion von fehlerhaften Komponenten verursacht hohe Folgekosten und die Absicherung ist auf physische Prototypen angewiesen. Es ist nicht möglich, alle zwei Wochen einen neuen, funktionierenden und potenziell auslieferbaren Stand zu präsentieren. Lösungen für solche Probleme erfordern eine kreative Weiterentwicklung der bekannten agilen Vorgehensmodelle. Ein sehr einfaches Beispiel dafür: Die Teams verschiedener Domänen benutzen unterschiedliche Sprintdauern. Während das Software-Team alle 2 Wochen liefert, gilt für das Mechanik-Team ein 6-Wochen-Rhythmus. Wichtig ist, die Sprints so zu synchronisieren, dass alle 6 Wochen ein gemeinsames Inkrement erreicht wird.

Die Herausforderung

Die Herausforderung bei der Einführung agiler Methoden ist damit eine doppelte: Einerseits ist es erforderlich, die agilen Methoden aus der Software-Entwicklung an die Bedingungen in der Produktentwicklung anzupassen. Andererseits benötigt man – damit komme ich wieder zu meinem vorigen Beitrag zurück – viel agiles Erfahrungswissen, um solche Anpassungen erfolgreich hinzubekommen. Um diesen Widerspruch aufzulösen, sollte man die Pioniere, die sich auf das neue Terrain wagen, zusammenbringen mit erfahrenen „Agilikern“, die ihr Handwerk aus der Software-Entwicklung beherrschen. Das wechselseitige voneinander Lernen und Teilen von Wissen führt zu einer besseren Beherrschung der Produktentwicklung unter den sich rasant ändernden Randbedingungen.

Agil scheinen oder agil sein?

Als ich vor Jahren das erste Mal von Agilität hörte, hatte ich zunächst den Eindruck, Prozesse und Regeln sollten über Bord geworfen werden, um volatile Anforderungen auf wundersame Weise im Handumdrehen realisieren zu können. Ich konnte mir nicht vorstellen, wie das funktionieren soll: Agilität klang für mich nach unerfüllbarem Wunschkonzert.

Erst als unser damaliges Software-Entwicklungsteam anfing nach Scrum zu arbeiten – mit mir als Product Owner und begleitet durch einen erfahrenen Scrum Master – habe ich mich mit dem Thema ernsthaft auseinandergesetzt.

Ich lernte, dass Agilität nicht Chaos bedeutet, sondern ganz im Gegenteil lautete die

1. Lektion: Disziplin

Agiles Vorgehen hat Regeln. Die lernten wir in der vorausgehenden Scrum-Schulung. Vor allem aber legte unser Scrum Master uns sehr ans Herz, die Scrum-Regeln strikt einzuhalten, statt sie so auszulegen, wie es für uns am sinnvollsten erschien. Was ich gelernt habe: Agilität ist kein Laissez-faire, sondern bedarf eines sehr disziplinierten Vorgehens, das nur funktioniert, wenn es konsequent gelebt und nicht nach Bedarf verbogen wird.

2. Lektion: Der Sinn

Feste Rollen und Rituale sind nützlich. Wir hatten sie für Scrum zwar gelernt, aber echtes Verständnis wuchs erst nach und nach über das Coaching und die Fragen des Scrum Masters. Beispielweise wenn sich im Lauf eines Sprints herauskristallisierte, dass mehrere der vereinbarten User Storys nicht erreicht werden würden. Alle Teammitglieder versuchten natürlich, ihre eigene Aufgabe bestmöglich zu erledigen. Das hätte dazu geführt, dass die einzelnen User Storys zu nur 70% fertig werden würden. Der Scrum Master stellte zur Diskussion, stattdessen ein oder zwei User Storys für den Sprint zu verwerfen und bei der Fertigstellung der anderen mitzuhelfen. Was wir gelernt haben: Ergebnisorientierung und Fokussierung auf ein gemeinsames Ziel machen das Teamwork produktiver und die Teammitglieder zufriedener.

3. Lektion: Teamgeist

Je mehr wir den Sinn der Regeln, Rollen und Rituale verinnerlichten, desto effizienter wurden die Projekte. Das Team wuchs immer stärker zusammen und es entwickelte sich nicht nur ein gemeinsamer Fokus darauf das Ziel zu erreichen, sondern echter Zusammenhalt. Wo vorher Kollegen Unverständnis über die Arbeit der jeweils anderen geäußert hatten oder sich in Schuldzuweisungen übten, wusste nun jeder im Team, was die anderen machten und warum. Man half sich gegenseitig nach Kräften und vertraute einander immer mehr. Und da nachhaltiges Lernen vor allem über positive Emotionen funktioniert, war dies der Punkt, an dem wir wirkliches Verständnis für Agilität entwickelten.

Am Ende wurde mir klar, dass Agilität erst durch das Zusammenspiel von Regeln, Menschen und Motivation entsteht. Die hinter den Regeln stehenden agilen Werte zu verstehen, ist entscheidend. Sonst besteht die Gefahr – durch das Herausgreifen oder Zurechtbiegen einzelner Regeln auf die eigenen Bedürfnisse – mit dem agilen Ansatz zu scheitern.

Was nicht heißt, dass man die agilen Frameworks nicht anpassen oder selektiv anwenden darf. Aber erst, wenn man sie verstanden hat.