Zusammenfassung: Ein agiler Workflow besteht aus einer Reihe von Phasen, die agile Teams beim Entwickeln einer Anwendung von der ersten Idee bis zur Fertigstellung durchlaufen.
Jedes Softwareteam folgt beim Abschließen von Aufgaben einem bestimmten Prozess. Die Vereinheitlichung dieses Prozesses – d. h. die Festlegung des Prozesses als Workflow – macht ihn strukturiert und wiederholbar und damit wiederum skalierbar. Wir verfolgen bei Atlassian einen iterativen Ansatz für das Workflowmanagement, weil wir unsere Ziele auf diese Weise schneller erreichen und er beispielhaft für unsere Teamkultur ist. Man soll sich zwar nicht selbst loben, aber wir sind Experten im Bereich des agilen Workflowmanagements und möchten dir helfen, ebenfalls Experte zu werden.
Erste Schritte mit agilen Workflows
Achte darauf, dass der für dein Team implementierte Workflow anfangs möglichst einfach ist. Widerstehe der Versuchung, ihn über Wochen (übermäßig) zu entwickeln. Übermäßig komplexe Workflows sind schwer zu verstehen – und erst recht umzusetzen. Für Softwareteams empfehlen wir die folgenden grundlegenden Workflowstatus:
Aufgaben, mit denen noch nicht begonnen wurde
Aufgaben, die derzeit aktiv vom Team bearbeitet werden
Aufgaben, die abgeschlossen sind und auf einen Review warten
Aufgaben, die komplett abgeschlossen sind und der Definition von "Erledigt" des Teams entsprechen
In einem Vorgangstracker gehen diese Status mithilfe von Übergängen, die den Workflow strukturieren, ineinander über.
Einige Softwareteams schließen weitere Status in ihren Workflow ein, damit sie den Stand der Aufgaben genauer nachverfolgen können.
Aufgaben, die implementiert wurden, aber noch auf einen Review durch einen Tester warten (Details dazu findest du in unserem Artikel über Agile-Tests).
Code, der geprüft wurde und für das Mergen in den Master- oder Release-Branch bereit ist.
Nicht jeder Status im Workflow muss von unterschiedlichen Personen bearbeitet werden. Wenn ein agiles Team reift, übernehmen Entwickler einen immer größeren Teil der Aufgaben – vom Design bis hin zur Auslieferung. Schließlich ist ein autonomes Team, das heterogene Aufgaben handhaben kann, eins der Kennzeichen der Agilität.
Besprecht alle Problembereiche in der Retrospektive des Teams, und berücksichtigt dabei, dass jedes Team je nach Projekt, Technologie-Stack und bevorzugter Arbeitsmethode unterschiedliche Stärken hat. Darum sollte ein Vorgangstracker mit einer flexiblen Workflow-Konfiguration ausgewählt werden. Viel zu viele Teams passen ihre Arbeitsweise an ein bestimmtes Toolset an, was für alle Beteiligten frustrierend ist. Teammitglieder versuchen dann oft, das Tool komplett zu umgehen, was die Frustration im Team verstärkt und allgemein verheerende Folgen haben kann. Und wenn die Moral nicht stimmt, leidet die Produktivität. Das ist ein doppelter Fluch, den wir alle vermeiden möchten!
Teams, für die Agile noch neu ist oder die nicht über funktionsübergreifende Kompetenzen verfügen, haben am Ende oft "Mini-Wasserfälle" in ihrem Workflow. Ein Beispiel: Das Designteam bringt ein Aufgabenelement mit einem Modell an den Start. Das Entwicklerteam übernimmt die Implementierung. Das Testteam bestätigt die Qualität. Jede Phase ist solange blockiert, bis die vorherige Phase abgeschlossen ist. Hört sich bekannt an? Das ist das Wasserfallmodell. Aber mit Agile-Workflows können wir viel besser arbeiten, Blockaden im Team auflösen und die Entwicklung vereinfachen.
Für einen Agile-Prozessablauf optimieren
Wenn du mit dem grundlegenden Workflow zufrieden und bereit bist, auf einen Agile-Prozessablauf umzusteigen, erstelle Status für alle Arten von Aufgaben im Teamprozess. Ideenfindung, Design, Entwicklung, Code-Review und Test sind funktional unterschiedlich und können einzelne Status darstellen. Dein Ziel sollte ein klarer und prägnanter Satz von Status sein, die deutlich kommunizieren, in welcher Phase sich eine Aufgabe befindet.
Projektstatus können auch mit dem Rest des Unternehmens geteilt werden. Denke beim Aufbau eines Agile-Prozessablaufs darüber nach, welche wichtigen Metriken in einen Bericht gehören und welche Personen außerhalb des Teams möglicherweise ein Interesse daran haben. Ein gut entworfener Workflow beantwortet beispielsweise die folgenden Fragen:
- Welche Arbeit hat das Team abgeschlossen?
- Wächst das Aufgaben-Backlog oder hält es mit dem Team Schritt?
- Wie viele Elemente befinden sich in jedem Status?
- Gibt es Engpässe, die das Team ausbremsen?
- Wie lange dauert es, eine durchschnittliche Aufgabe abzuschließen?
- Wie viele Aufgabenelemente haben unsere Qualitätsstandards beim ersten Mal nicht erfüllt?
Der nächste Schritt der Workflow-Optimierung besteht darin, einen steten Arbeitsfluss im Workflow sicherzustellen. Work-in-Progress-Grenzen (WIP-Grenzen) geben eine Anzahl von Vorgängen vor, die mindestens oder maximal in einem bestimmten Status des Workflows sein müssen bzw. können. So wird sichergestellt, dass in jedem Status ausreichend Arbeit vorhanden ist, um das Team voll auszulasten, aber nicht so viel, dass das Team die Fokussierung verliert, weil es mit Prioritäten jonglieren muss. Das Durchsetzen von WIP-Grenzen zeigt schnell, welche Prozesse die Gesamtarbeit in der Pipeline verlangsamen. Wenn das Team lernt, die Prozesse zu optimieren und gleichzeitig die WIP-Grenzen zu berücksichtigen, steigt auch der Durchsatz. (Weitere Details findest du im Artikel zu WIP-Grenzen.)
Herausforderungen beim Skalieren eines agilen Prozessablaufs
Unternehmen mit mehreren Agile-Teams stehen in Bezug auf Workflows vor besonderen Herausforderungen. Teams möchten ihren Workflow oft selbst so optimieren, dass er die Einzigartigkeit ihres Prozesses und ihrer Kultur widerspiegelt. Das ist nur zu verständlich. Allerdings kann es zu Problemen kommen, wenn verschiedene Teams unterschiedliche Prozesse verwenden, aber am selben Projekt arbeiten.
Agile-Teams, die zusammenarbeiten, können davon profitieren, denselben Workflow zu nutzen. Die Verwendung desselben Workflows kann die Verteilung von Aufgaben zwischen Agile-Teams vereinfachen, da sie dieselben Konventionen für die Definition und Auslieferung ihrer Arbeit verwenden. Ein gemeinsamer Prozess bedeutet in der Regel Geben und Nehmen von beiden Teams. Das ist gut! Die Teams lernen voneinander und profitieren letztlich von einem besseren Workflow.
Mit Jira, dem Issue Tracker von Atlassian, können Teams Workflows gemeinsam nutzen, sehen aber unterschiedliche Darstellungen des Prozesses auf ihrem Agile-Board. Dadurch sind flexible Visualisierungsoptionen möglich, ohne dass auf die geteilte Ressource des Workflows verzichtet werden muss.
Unabhängig davon, wie dein Workflow aussieht, sollte auch sein Entwicklungsprozess agil sein. Besprecht den Workflow von Zeit zu Zeit in Retrospektiven und passt ihn an, wenn sich die Kultur und Zusammensetzung des Teams ändern.