#437 Nachtrag: Agile Softwareentwicklung mit verteilten Teams
In Beitrag #435 von der Scrum-Konferenz bin ich noch die Inhalte von Jutta Ecksteins Podcast schuldig geblieben:
Die Zeiten eines Outsourcing und Offshoring in der Software-Entwicklung aus reinen Kostengründen sind aus ihrer Sicht vorbei, denn Spezifikationsaufwand, kulturelle Unterschiede und die erforderliche Kommunikation bergen erhebliche Risiken. Wer rein aus Kostengründen outsourct, wird vom Ergebnis in der Regel enttäuscht sein, so ihr Fazit.
Gründe, die auch heute dafür sprechen sind Personal-/Skill-Mangel und marktliche Anforderungen, etwa bei der Erschließung neuer Märkte oder um Kundennähe zu gewährleisten.
Die Entscheidung für verteilte Teams in der Software-Entwicklung ist in der Regel aus einer Notwendigkeit heraus geboren und keine „Liebesentscheidung“.
Erfolgsfaktoren für globale Teams/Projekte sind aus ihrer Sicht:
- Vertrauen aufbauen
- Offene Kommunikation
- Etablierung persönlicher Beziehungen
Da diese Dinge auch im Zentrum agiler Methoden stehen, sind nach Jutta Eckstein gerade agile Prozesse und Vorgehensweisen für solche Projekte geeignet.
Ohne eine entsprechende (Face-to-Face) Kommunikation sind solche Projekte nicht machbar. Kommunikation kostet, aber wer Erfolg haben will muss auch investieren.
Eine zentrale Frage ist, wie die Teams geschnitten werden. Hier plädiert sie für Feature-Teams statt funktionaler Teams, d.h. die Verantwortung von Analyse, bis hin zu Test und Integration eines Features liegt in der Verantwortung eines Teams.
Die ideale Teamgröße liegt bei 7 plus/minus 2 Teammitgliedern. bei der Anzahl der Teams sieht es ähnlich aus.
Die Zahl der Standorte ist weniger wichtig als die zeitliche Überlappung (was bei unterschiedlichen Zeitzonen schwierig werden kann, aber für den Austausch und die Kommunikation unumgänglich ist.
Grundsätzlich gibt es zwei Varianten: Verteilte Teams oder verstreute Teams (d.h. die Mitglieder eines Teams sind bereits über mehrere Standorte verstreut).
Für die Einführung agiler Methoden in verteilten Tems empfiehlt Jutta Eckstein zunächst nur mit einem Team zu starten. Die 1. Iteration wird gemeinsam an einem Standort durchgeführt. Mit jeder Iteration wandert das Team an einen anderen Standort. Somit werden die Standortspezifika ausgetestet und das Team dient als Keimzeile.
In Puncto Teamntwicklung sieht sie die Eigenverantwortlichkeit der Feature-Teams als Basis für Selbstorganisation. Retrospektiven sind auch teamübergreifend erforderlich.
Bei mehreren Teams braucht es auch koordinierende Rollen, z.B. einen Lead Product Owner (bei Boris Gloger: Chief Product Owner), der auf die fachliche Ausrichtung aller Teams achtet. Wie in der Politik/Diplomatie sollte an jedem Standort ein Botschafter von jedem anderen Standort etabliert werden, um Brücken zu schlagen.
Für die tägliche Kommunikation gilt:
In Daily Scrums haben sich die einfachsten Tools (Telko) bewährt. Weniger gute Erfahrung hat Jutta Eckstein mit Videokonferenzsystemen im Daily Scrum gemacht. Firewalls oder Security-Vorschriften können sich als Fallstricke erweisen. Für die Telko hat es sich bewährt wenn jeder von seinem Arbeitsplatz aus per Headset teilnimmt. Sitzen Teilteams während der Telko zusammen, so können nonverbale Kommunikationen zu einem Ungleichgewicht in der Kommunikation führen.
Das Meeting muss nicht immer zum gleichen Zeitpunkt stattfinden, damit der Zeitpunkt mal für den einen, mal für den anderen Standort günstiger liegt. Das hat mit gegenseitigem Respekt zu tun.
Im Gegensatz zum Daily Scrum aus der reinen Lehre sollte man sich bei verteilten Teams auch Zeit für soziale Aspekte nehmen, weil dies die Kommunikation und das Verständnis fördert.
Bei Planung und Retrospektiven wird die ganze Bandbreite der verfügbaren Tools genutzt. Also durchaus auch Videokonferenzen und andere Möglichkeiten.
Jutta Eckstein betont, wie wichtig es ist, daß sich die Leute sehen. Und dies nicht nur am Anfang des Projekts zum Kennenlernen, sondern auch immer wieder. Man kommt um diesen Kommuniktionsaufwand einfach nicht herum.
Tags: Agile SW-Entwickung, Kommunikation, Offshoring, Outsourcing