Der dritte Teil der Serie Scrum in verteilten Teams beschäftigt sich mit der technischen Infrastruktur. Wenn das Team steht, die ersten Treffen stattgefunden haben und die Arbeit dann ihren Lauf nimmt ist ein reibungsloser Ablauf überlebenswichtig. Der Projekterfolg im agilen Umfeld ist eng mit einer guten Kommunikation verbunden. Kommunikation steht im Mittelpunkt durch die vielen Scrum Meetings wie Daily Scrum, Retrospektive, Refinement oder Review. Tägliche Arbeit aber verlangt ebenso nach viel Kommunikation in Form von Pair Programming oder Code Reviews.
Damit dies in der Praxis funktionieren kann müssen gewisse technische Anforderungen erfüllt sein. In diesem Beitrag werde ich die aus meiner Sicht sinnvolle und hilfreiche Tools, welche sich in den von mir betreuten Teams bewährt haben, vorstellen. Bin gerne für weitere Vorschläge offen. Schreibt mich also einfach an falls ihr gute Tools kennt.
1. Mobile Rechner
Die erste Empfehlung die ich grundsätzlich bei Teams die über Standorte verteilt sind ausspreche ist es jedem Entwickler ein Notebook zur Verfügung zu stellen. Zu einem wird dadurch grundsätzlich die Möglichkeit gegeben Remote, also außerhalb des zugehörigen Standorts, zu arbeiten. Zu anderem wird es dadurch einfach möglich den Standort zu wechseln und auch mal für eine gewisse Anzahl an Tagen.
Die Mindestausstattung sollte außer dem Notebook noch ein Headset und eine Docking Station gehören. Es ist nicht verkehrt Mitarbeiter mit einem Smartphone auszustatten oder Surfstick damit ein Internet Zugang auch von unterwegs zur Verfügung steht.
2. Tägliche Kommunikation
Die tägliche Kommunikation umfasst nicht nur die Scrum Meetings (daily scrum) sondern auch die Unterhaltung die zwischen den Mitglieder stattfindet. Dazu gehört: Smalltalk, Abstimmung zwischen einzelnen Mitgliedern, Code Reviews oder Pairing.
Wichtig ist es die Tools so auszuwählen das:
- Bei Benutzern akzeptiert
- Eventuell unternehmensweit eingesetzt
- (Hoch) – wenn mal ausgefallen, vor allem im ungünstigen Moment, steht die Arbeit vom gesamten Team unter Umständen
- Unterstützung Video und Screenshare
- Archiv – Möglichkeit zu späteren Suche
SLACK:
Slack ist ein sehr bekanntes Tool auf das ich wahrscheinlich nicht näher eingehen muss. Möglichkeiten sind durch zahlreiche Plugins fast endlos. Ich nutze es gerne zusammen mit Skype. Außer der direkten Kommunikation zwischen 2 Teilnehmern erlaubt Slack auch sogenannte Chat Räume mit kompletter Historie und Suchmöglichkeiten. Außerdem können einfach Dateien ausgetauscht werden. Mehr Details zu Slack sind der Website zu entnehmen. (www.slack.com)
Skype for Business:
Skype for Business ist Chat/Video/Konferenzen Tool von Microsoft. Ursprünglich als Lync bekannt wurde es vor ca. einem Jahr in Skype for Business umgetauft um es dem mittlerweile ebenso zu MS gehörendem Skype anzunähern. Skype unterstützt Videoanrufe, Skype Anrufe, Screenshare während dem Anruf, Konferenzen mit mehreren Teilnehmern, Teilen von bestimmten Anwendungen, Whiteboard für Zusammenarbeit und die Möglichkeit den Teilnehmer Kontrolle über den eigenen Rechner zu überlassen. Es ist ein Client für die gängigen mobilen Plattformen vorhanden. Außerdem können Gäste bei Meetings über den Webbrowser mitmachen.
Hangout:
Hangout aus dem Hause Google bietet einen schlanken Client in Form einer Chrome Extension der ähnlich wie Skype ebenso Videotelefonie, Gruppen Chat/Konferenzen oder Screensharing erlaubt. Die Nutzung ist ebenso per Browser möglich. Zur Benutzung ist ein Google+ Account notwendig.
Das ist nur ein kleiner Auszug aus zahlreichen Tools die man nutzen kann. Meine Erfahrung hat mich gelehrt zwei Tools im Einsatz zu haben für den Fall das bei wichtigen Meetings ein Ausfall vorkommt kann immer auf die Alternative ausgeweicht werden.
3. Scrum Meetings
In dieser Kategorie zähle ich die Review und die Retrospektive. Zwei zentrale Meetings innerhalb eines Sprints. Vor allem Retrospektive werde ich in einem der nächsten Posts detaillierter Beschreiben.
In der Sprint Review präsentiert das Developer Team die eigene Arbeit. Es ist durchaus üblich das jeder im Team gelegentlich etwas präsentiert. Deswegen sollten Reviews so geplant und gestaltet werden das eine Vorstellung per Remote reibungslos abläuft. Hier kommen wieder die Tools aus dem Punkt 2. zum Einsatz. Die Teilnehmer sollten an allen Standorten ein großes Display (Beamer nach Möglichkeit) zur Verfügung haben und hochwertige Kameralösungen. Sobald die Anzahl an Teilnehmern steigt wird die Kommunikation erschwert.
Wichtig ist es alle Teams präsentieren zu lassen weil dadurch der Bezug zum Produkt/Projekt gestärkt wird.
In der Sprint Retrospektive analysiert das Team den vergangenen Sprint und versucht daraus Punkte zur Verbesserung abzuleiten. Wie bereits erwähnt werde ich mich mit dem Thema Retrospektiven in einem der nächsten Beiträge befassen.
Fazit: Gute Technik, klar definierte Tools und gute Ausstattung der Mitarbeiter sind die Voraussetzung für erfolgreiche Scrum Projekte in verteilten Teams. Zickt die Technik dann führt das schnell zu Unzufriedenheit und behindert die Entwickler in der täglichen Arbeit.