Workflows, die mehr Spaß und Nutzen bringen

Jeder hasst "Prozesse", aber blicken wir den Tatsachen ins Auge: Ohne einen festgelegten Workflow kommen wir kaum voran.

Dan Radigan Dan Radigan

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.

Einfach anfangen, jetzt anfangen

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:

Zu Erledigen

Work that has not been started

In Bearbeitung

Aufgaben, die derzeit aktiv vom Team bearbeitet werden

Code-Prüfung

Aufgaben, die abgeschlossen sind, aber auf einen Review warten

Done

Aufgaben, die komplett abgeschlossen sind und der Definition von "Erledigt" des Teams entsprechen

In einem Issue Tracker gehen diese Status mithilfe von Übergängen, die den Workflow strukturieren, ineinander über. 

Agile workflow | Atlassian agile coach

Einige Softwareteams schließen weitere Status in ihren Workflow ein, damit sie den Stand der Aufgaben genauer nachverfolgen können.

Auf QS wartend

Work that has been implemented, but is still waiting for a tester review (see our article on agile testing for more details).

Bereit für den Merge

Code, der reviewt 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 Issue Tracker mit einer flexiblen Workflowkonfiguration ausgewählt werden. Zu viele Teams passen ihre Arbeitsweise an ein bestimmtes Tool-Set 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 Methoden noch neu sind 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 Entwicklungsteam ü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 agilen Workflows können wir viel besser arbeiten, Blockaden im Team auflösen und die Entwicklung vereinfachen. 

Optimieren des Workflows

Wenn du mit dem grundlegenden Workflow zufrieden und bereit bist, ihn anzupassen, erstelle Status 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 knapper Statussatz sein, der dennoch klar kommuniziert, in welcher Phase sich eine Aufgabe befindet.

Projektstatus können auch mit dem Rest des Unternehmens geteilt werden. Denke beim Aufbau eines Workflows 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 Issues vor, die mindestens oder maximal in einem bestimmten Status des Workflows sein müssen bzw. können. So wird sichergestellt, dass in jedem Status des Workflows 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 Work-in-Progress-Grenzen zeigt schnell, welche Prozesse im Team die Gesamtarbeit in der Pipeline verlangsamen. Wenn das Team lernt, die Prozesse zu optimieren und gleichzeitig die Work-in-Progress-Grenzen zu berücksichtigen, steigt auch der Durchsatz. (Der Artikel zu WIP-Grenzen bietet weitere Details.) 

Die Herausforderungen der Skalierung eines Workflows

Unternehmen mit mehreren agilen 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 teilen. Die Verwendung desselben Workflows kann die Überleitung von Aufgaben zwischen agilen 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 letztendlich von einem besseren Workflow. 

Profitipp

Mit Jira Software, dem Issue Tracker von Atlassian, können Teams Workflows teilen, sehen aber unterschiedliche Darstellungen des Prozesses auf ihrem Agile-Board. Diese Fähigkeit führt zu flexiblen Visualisierungsoptionen, ohne dass auf die geteilte Ressource "Workflow" 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.