Wie lautet die wirkliche Aufgabe eines Scrum Masters in einem Unternehmen?
Und nein, die Moderation von Meetings ist es nicht.
Sondern:
Als Scrum Master bist du ein Vorbild für die Agilität im Team und im Unternehmen.
Aber was bedeutet Agilität?
Eine schöne Beschreibung stammt von Maarten Dalmijn: Agilität bedeutet, mit dem zu arbeiten, was man weiß, um zu entdecken, was man nicht weiß.
Und dabei hilft Scrum. Genauer der empirische Prozess, der mit der Umsetzung des Scrum Rahmenwerks etabliert wird. Er besteht aus den drei Säulen Transparenz, Überprüfung und Anpassung. Es braucht Überprüfung, um mit dem zu arbeiten, was man weiß. Es braucht Anpassung, um zu entdecken, was man nicht weiß. Und das Fundament von beiden ist die Transparenz.
Transparenz entsteht nicht einfach so. Und Transparenz bedeutet auch nicht nur Sichtbarkeit. Nur das haben überraschend viele Agile Coaches bis heute nicht begriffen.
Transparenz bedeutet gemeinsames Verständnis.
Und dieses Verständnis herzustellen, darin besteht die wahre Aufgabe des Scrum Masters. Damit facilitiert er — erleichtert also — den empirischen Prozess.
Es geht also nicht nur darum, Meetings zu facilitieren, sondern um weit mehr!
Wenn du nach Wegen suchst, über die Scrum Events hinaus, gemeinsames Verständnis über den Entwicklungsprozess deines Teams herzustellen, dann findest du hier drei Werkzeuge, die dir dabei helfen.
Werkzeug 1: Mob-Programming
Die Zeiten, in denen Coder sich allein im Keller einsperrten und wochenlang an Algorithmen tüftelten, sind lange vorbei.
Moderne Softwareentwicklung ist ein Teamsport.
Vor vielen Jahrzehnten haben Hirotaka Takeuchi und Ikujiro Nonaka erkannt, dass der „Rugby-Ansatz“ zur schnelleren und flexibleren Entwicklung von Produkten beiträgt als der damals vorherrschende sequenzielle Ansatz. Scrum verdankt ihrer Einsicht seinen Namen. Mob-Progamming setzt diese neue Art der Softwareentwicklung um. Es ist ein kollaborativer Ansatz, bei dem ein Team eine Aufgabe gleichzeitig, meist an einem Ort, an einem einzigen Computer bearbeitet.
Diese Art zu entwickeln muss nicht an der Teamgrenze aufhören. Es gibt ganze Unternehmen, die nur so arbeiten:
Wie du in diesem Video sehen konntest, gibt es im Mob-Progamming feste Rollen.
Es gibt den Driver. Er sitzt vor dem Rechner und tippt den Quellcode in den Computer ein. Dabei setzt er die Aussagen, Anforderungen und Ideen der anderen Teammitglieder um. Diese Teammitglieder werden als Navigatoren bezeichnet. Die Navigatoren entwickeln die Ideen, diskutieren miteinander und machen Vorschläge zur Lösung einer Aufgabe. Kurzum: Sie liefern den Input für den Driver. In der Regel wird die Driver-Rolle alle 15 bis 20 Minuten im Team getauscht.
Die Vorteile von Mob-Programming sind vielfältig: angefangen bei der gemeinsamen Verantwortung für Entscheidungen, über die Möglichkeit, Erfahrungen auszutauschen und voneinander zu lernen, bis zu einer verbesserten Codequalität.
Aber mit Abstand der wichtigste Vorteil:
Mob-Programming stellt Transparenz her. Jeder im Team hat das gleiche Verständnis über die Codebasis.
Werkzeug 2: Sprint-Ziele
Was ist ein Sprint Backlog ohne Sprint-Ziel?
Nur ein Koordinationswerkzeug.
Der Sprint Backlog beschreibt dann, was, wie, wer und manchmal sogar noch wann etwas getan werden soll. Er ermöglicht einer Gruppe, ihre Arbeit zu koordinieren. Das Problem an der Koordination ist nur, dass sie bei komplexer Arbeit nicht funktioniert. Komplexe Arbeit zeichnet sich eben dadurch aus, dass Dinge länger benötigen als angenommen, und dass das Team auf Zusagen wartet, die nicht eingehalten werden. Mit anderen Worten: Die Idee „Wir müssen bei der Planung des Sprints die Arbeit nur gut genug vorab koordinieren, dann wird auch alles am Ende fertig“ funktioniert nicht.
Wenn du vor dem Sprint abschätzen willst, welche Product-Backlog-Einträge komplex sind, verrate ich dir ein einfaches Vorgehen:
Bitte dein Team, jedem Eintrag im Backlog eine Zahl von 1 bis 5 zuzuordnen. Hierbei heißt:
1: Wir alle wissen, wie man das macht.
2: Jemand in unserem Team weiß, wie man das macht.
3: Jemand in unserem Unternehmen hat dies getan oder wir haben Zugang zu Fachexperten.
4: Jemand auf der Welt hat dies getan, aber nicht in unserem Unternehmen (und wahrscheinlich bei einem Konkurrenten).
5: Niemand auf der Welt hat dies jemals zuvor getan.
Die Einträge der Kategorie 3 bis 5 sind komplex. Bei ihnen wird eine Vorabkoordination der Aufgaben, um den Eintrag abzuschließen, wahrscheinlich nicht funktionieren.
Für komplexe Arbeit benötigt dein Team einen anderen Ansatz als Koordination.
Es braucht Zusammenarbeit.
Zusammenarbeit hilft immer dann, wenn wir nicht wissen, was für Arbeiten noch anfallen und auf welche Probleme wir noch stoßen werden. Wenn Vorhersagen mit so vielen Annahmen getroffen werden, dass sie unmöglich so eintreten können. Im Gegensatz zur reinen Koordination, also der Festlegung, wer was bis wann erledigt, damit der nächste weiterarbeiten kann, bedeutet Zusammenarbeit: stets die Fragen der anderen zu beantworten, für Rückfragen Zeit zu haben, jederzeit Arbeiten übernehmen zu können und einander bei der Bearbeitung zu unterstützen.
Zusammenarbeit ist die beste und transparenteste Möglichkeit, komplexe Arbeiten schnell abzuschließen.
Koordination und Zusammenarbeit verhalten sich wie Arbeitsgruppe und Team. In einer Arbeitsgruppe wir die Arbeit nacheinander bearbeitet. In einem Team hingegen ist jeder für den anderen da und jederzeit bereit, einander zu helfen. Ein Team vereint ein gemeinsames Ziel. Und deshalb hat bei komplexer Arbeit das Sprint-Ziel eine solch große Bedeutung. Ein Ziel liefert einem Team die nötige Flexibilität und Fokus bei der Arbeit, und sorgt gleichzeitig für Transparenz, da es ein gemeinsames Verständnis im Team und bei dem Stakeholder herstellt, indem es das „Wozu wir die Arbeit tun“ hervorhebt.
Werkzeug 3: Fähigkeiten-Matrix
Achtung eine makabre Frage: Was wäre, wenn ein Mitglied im Team morgen vom Bus überfahren werden würde?
Gibt es noch andere Mitglieder im Team, die seine Fähigkeiten besitzen und seine Arbeit übernehmen könnten? Oder steht dann alles still, da er der Einzige im Team war, der diese Aufgabe beherrschte?
Die zweite Situation stellt ein Schreckensszenario dar, ist aber für viele Teams und Unternehmen die Realität. Sie ist so weitverbreitet, dass es sogar eine bekannte Maßzahl dafür gibt: den Bus-Faktor. Ein Bus-Faktor von Eins bedeutet, dass nur ein Mitglied im Team diese Fähigkeit hat. Ein Bus-Faktor größer als Eins bedeutet, dass mehrere Teammitglieder diese Fähigkeit haben.
Du kannst den Bus-Faktor mittels einer Fähigkeiten-Matrix ermitteln. Ich zeige dir gleich, wie das geht. Vorher widmen wir uns noch der Leitfrage des Abschnitts:
Wie stellt man die Fähigkeiten-Matrix transparenz her?
Listet die Matrix alle Fähigkeiten auf, die nötig sind, damit Einträge des Product Backlogs fertiggestellt werden können, dann bildet sie den ganzen Entwicklungsprozess ab. Sie schafft also Transparenz über diesen Prozess, indem sie ein gemeinsames Verständnis darüber herstellt, was getan werden muss, um Arbeit fertigzustellen. Und wichtiger, sie zeigt auf, wo mögliche Engpässe und somit Risiken im Prozess liegen.
Nun, wie versprochen, zeige ich dir, wie du mit einer Fähigkeiten-Matrix den Bus-Faktor bestimmen kannst.
Dazu siehst du gleich die Fähigkeiten-Matrix eines Teams, bei dem ich vor drei Jahren Scrum Master war. Die horizontalen Achse beschreibt den Entwicklungsprozess und die Fähigkeiten, die nötig sind, um einen Eintrag des Product Backlogs abzuschließen. Auf der vertikalen Achse findest du die Namen der Teammitglieder aufgelistet.
Daraus ergibt sich diese Matrix:
So kannst du sie lesen:
Das 4-Sterne-Symbol bedeutet, dass ein Teammitglied diese Fähigkeit beherrscht. Das Buch-Symbol bedeutet, dass ein Mitglied im Team nur „Text-Book-Knowledge“ hat oder sich diese Fähigkeit gerade aneignet. Susi beherrscht etwa UX-Design und UX-Research, aber JavaScript und Angular nur wenig.
Wenn du dir diese Matrix ansiehst, wie lauten der Bus-Faktor?
Schreibe deine Antwort in die Kommentare. Ich freue mich auch über Tipps, wie du den Teammitgliedern helfen würdest, ihre Fähigkeiten zu erweitern und den Bus-Faktor zu steigern.