Bei AIT setzen wir Scrum (vgl. [1]) als Vorgehensmodell in der Softwareentwicklung ein. Scrum besteht aus festen Rollen, Regeln und Meetings. Zum Glück arbeiten wir seit über 10 Jahren mit verteilten Teams nach agiler Methodik. Unsere Erfahrung zeigt, dass sich alle Scrum-Meetings sehr erfolgreich auch im Home-Office durchführen lassen. Zusätzlich zu den bereits im vorherigen Post der Serie erwähnten regelmäßigen Videoanrufen ist eine eingeschaltete Kamera zur Übertragung des Videobilds der Teilnehmer ist bei uns selbstverständlich. Doch worauf achten wir außerdem besonders, wenn Scrum-Meetings virtuell stattfinden?
Das virtuelle Sprint Planning
Am Beginn eines jeden Sprints steht das Sprint Planning, bei dem wir gemeinsam das Ergebnis und die Arbeit für die kommende Iteration, den sogenannten Sprint, planen (vgl. [1]). Hierfür werden die Anforderungen zunächst ausgewählt und anschließend ein grober Plan erstellt, wie diese umgesetzt werden.
Bei einem virtuellen Sprint Planning achten wir innerhalb des Teams besonders darauf, dass jedes Teammitglied den oftmals technischen Diskussionen folgen kann, indem wir uns immer wieder gegenseitig direkt ansprechen. Rück- und Gegenfragen sind dabei als Antwort nicht nur erlaubt, sondern erwünscht, denn unser virtuelles Sprint Planning ist keinesfalls eine Expertendiskussion mit Zuhörern. Durch die direkte namentliche Ansprache spielen wir uns dabei immer “gegenseitig den Ball zu”, denn auf den zielgerichteten Blickkontakt in einem Meetingraum müssen wir leider verzichten.
Unsere Schätzungen im Sprint Planning führen wir mittels Planning Poker durch. Dabei schätzt jeder Teilnehmer im Stillen, anschließend präsentieren alle gleichzeitig ihr Ergebnis auf einer speziellen Spielkarte, um Beeinflussungen zu vermeiden. Damit wir diese Schätzmethode auch in einem verteilten Team verwenden können, nutzen wir kostenlose Werkzeuge, wie zum Beispiel eine Extension für Azure DevOps.
Das virtuelle Daily Scrum
Beim Daily Scrum finden sich unsere Entwicklungsteams täglich am gleichen Ort zusammen, um den Fortschritt zu überprüfen und die Arbeit für die nächsten 24 Stunden zu planen, was ein wichtiges Instrument für jedes selbstorganisiertes Team darstellt.
Dabei werden in der Regel reihum von jedem Teilnehmer die Fragen “Was habe ich gestern erreicht?”, “Was werde ich heute erreichen?” und “Was blockiert mich?” beantwortet (vgl. [1]). Auch ein virtuelles Daily Scrum darf keine Statusabfrage der einzelnen Teammitglieder werden, daher visualisieren wir immer den Fortschritt des gesamten Teams durch das Teilen eines Bildschirms mit einem Burndown-Diagramm und dem dazugehörigen Taskboard des Teams. So haben alle Teammitglieder die gleiche Sicht auf den Fortschritt und überlegen gemeinsam, wie die verbleibende Arbeit organisiert wird. Um die Versuchung, während des virtuellen Daily Scrums andere Arbeiten zu erledigen, möglichst gering zu halten, achten wir besonders darauf, die veranschlagten 15 Minuten für den Termin nicht zu überziehen.
Abbildung 1: Beispielhafte Ansicht des Taskboards mit Burndown-Diagramm beim Daily Scrum
Beim klassischen Daily Scrum stehen die Teammitglieder in einem Kreis oder Halbkreis, der die Reihenfolge vorgibt. Aber wie legen wir die Reihenfolge beim virtuellen Daily Scrum fest? Wir rufen die Teilnehmer bewusst nicht einzeln auf, denn dann entsteht schnell das Gefühl, dass jeder nur an den Moderator berichtet. In der Regel wenden wir daher das “Pull-Prinzip” an, bei dem es keine explizite Reihenfolge gibt und sich die Teammitglieder selbstständig zu Wort melden. Leider machen uns beim virtuellen Daily Scrum immer wieder Verzögerungen der Internetverbindung und die eingeschränkte non-verbale Kommunikation bei der Abstimmung einen Strich durch die Rechnung und alle Teilnehmer fangen gleichzeitig an, zu sprechen. Wenn dieser Fall eintritt, fangen die Teammitglieder an, den “Ball” an das nächste Teammitglied zu übergeben.
Die Variante, das Daily Scrum nicht an Personen, sondern am Taskboard auszurichten, vermeiden wir in unseren Teams, da es aus unserer Sicht dem agilen Wert “Individuen und Interaktionen mehr als Prozesse und Werkzeuge” [2] in Teilen widerspricht.
Das virtuelle Sprint Review
Das Sprint Review findet am Ende des Sprints statt und dient dazu, die Entwicklungsergebnisse gemeinsam mit dem Team und allen Stakeholdern zu begutachten, Feedback zu bekommen und einen groben Plan für den nächsten Sprint zu schmieden (vgl. [1]).
Wenn wir dieses Meeting virtuell stattfinden lassen, achten wir darauf, Feedback einzufordern, aber langwierige inhaltliche Diskussionen zu unterbinden. Gerade unerfahrene Review-Teilnehmer könnten sich zu sehr auf einzelne Aspekte oder Personen fixieren, denn im virtuellen Meeting fällt es jedem leichter, den Rest des Teams “auszublenden”.
Während der Präsentation der Sprintergebnisse teilt jedes Teammitglied nacheinander den eigenen Bildschirm mit allen Teilnehmern. Das ermöglicht schnellere Wechsel zwischen Themen und jedes Teammitglied kann sich optimal vorbereiten, indem zum Beispiel benötigte URLs und Testdaten bereit liegen.
Die virtuelle Sprint Retrospektive
Die größte Herausforderung des virtuellen Sprints ist die Sprint Retrospektive, bei der das Team gemeinsam den vergangenen Sprint betrachtet, mit dem Ziel, sich für zukünftige Sprints zu verbessern (vgl. [1]).
Eine Retrospektive bei uns ist jedoch nie ein trockenes Auflisten von guten und schlechten Ereignissen aus dem letzten Sprint. Wir wollen, dass sich die Teammitglieder öffnen und ehrlich miteinander kommunizieren und dabei neben Kritik auch Lob und Anerkennung mit dem Rest des Teams teilen. Bei keinem anderen Scrum-Meeting spielen persönliche und emotionale Beweggründe eine größere Rolle, deshalb ist die virtuelle Durchführung besonders herausfordernd. Während manche Organisationen mit dieser Begründung Retrospektiven sogar absagen oder weglassen, zeigen wir in unseren Teams regelmäßig, dass sich auch effektive und wertvolle virtuelle Retrospektiven durchführen lassen. In diesem Meeting ist es besonders wichtig, dass alle Teilnehmer ihr Videobild übertragen, denn der Einfluss davon auf die Kommunikation innerhalb des Teams ist enorm. Bei den Kreativitätstechniken erproben wir ständig neue Ideen. So wurde zum Beispiel aus der häufig verwendeten Aufgabe, die Stimmung der einzelnen Teilnehmer am Whiteboard zu erfassen, die Möglichkeiten des unmittelbaren Internetzugangs genutzt: “Findet im Internet ein Bild, das den letzten Sprint beschreibt” lautete eine unserer virtuellen Abwandlungen davon. Die Ergebnisse visualisieren wir mit Kollaborationswerkzeugen, wie Microsoft Whiteboard, welche uns dabei helfen, die Retrospektive auch online interaktiv zu gestalten. So verhindern wir, dass sich Teilnehmer langweilen und sich im für das Team “unsichtbaren” Home-Office anderen Aufgaben widmen.
Abbildung 2: Virtuelle Sprint Retrospektive mit Microsoft Whiteboard
Wir achten darauf, dass die Teilnehmer bei einigen Aufgaben selbstständig arbeiten können und dafür auch genug Zeit bekommen. Manche Ideen kommen erst, wenn die Teilnehmer 5-10 Minuten zum Nachdenken und für Notizen nutzen konnten. Ein virtuelles Meeting bedeutet ja nicht, dass zu jeder Zeit jemand sprechen muss. Bei größeren Teams bilden wir häufig Kleingruppen, die in eigene Meetings gehen und ihre Ergebnisse anschließen im “virtuelle Plenum” vorstellen.
Fazit
Abschließend sei gesagt, dass räumliche Zusammenarbeit sicherlich nicht vollständig durch virtuelle Zusammenarbeit ersetzt werden kann, denn schließlich treffen sich unsere Teams gerne persönlich, sowohl zu formellen als auch zu informellen Terminen. Trotzdem haben wir in unzähligen virtuellen Sprints effizient und effektiv Software entwickelt. Und nicht nur das, auch mit jedem virtuellen Scrum Meeting wachsen unsere Teams immer enger zusammen. Für die meisten Hürden gibt es technische und methodische Werkzeuge, sodass diese überwunden oder zumindest gesenkt werden können. In den nächsten Blogposts dieser Reihe möchten wir weitere Tipps und Erfahrungen über unsere Arbeitsweise bei der eigentlichen Entwicklung und der genutzten Infrastruktur teilen.
Quellen:
[1] https://www.scrumguides.org/scrum-guide.html, abgerufen am 20.03.2020
[2] http://agilemanifesto.org/iso/de/manifesto.html, abgerufen am 20.03.2020