Durch Team-Coaching in Teams investieren

Warum jedes Unternehmen mit eigener Software-Entwicklung in Teams investieren sollte

07.09.2012, Von Stephan Schwab

Software wird von Spezialisten entwickelt. Spezialisten verfügen über überdurchschnittliche Kenntnisse und langjährige Erfahrung in ihrem jeweiligen Fachgebiet. Doch leider bleibt ihnen oft nicht die Zeit auch Erfahrungen in benachbarten Gebieten zu sammeln oder organisatorische Fähigkeiten zu entwickeln.

Arbeitsgruppen aus Spezialisten bringen unterdurchschnittliche Leistung

Arbeitsgruppen aus Spezialisten bringen unterdurchschnittliche Leistung, weil die darin versammelten Spezialisten nicht wirklich zielgerichtet zusammenarbeiten können. Wenn z.B. ein Datenbankexperte mit vielen Jahren Berufserfahrung im Entwurf und der Optimierung von SQL-Datenbanken mit einem Java-Programmierer der ersten Stunde eine Anwendung entwickeln soll, wird das Ergebnis die Erwartungen nicht erfüllen. Der Datenbankexperte wird dazu neigen alle Daten in SQL-Tabellen zu halten und mittels "stored procedures" innerhalb der Datenbank zu bearbeiten. Der Java-Programmierer mag eine alternative Speicherform vorschlagen und die Daten mittels Java-Code bearbeiten wollen. Die beiden Experten reden aneinander vorbei und statt um die Lösung des vom Auftraggeber genannten Problems wird es mehr um die jeweiligen Technologien gehen. Keiner der beiden macht etwas falsch. Es ist einfach so, daß es den Spezialisten schwer fällt aus der Enge ihres Fachgebietes herauszutreten.

Durch Coaching ein Team formen

Als Coach arbeite ich über mehrere Monate mit demselben Personen. Meine Aufgabe besteht dabei nicht darin den erfahrenen Fachleuten zu zeigen, wie sie ihre Arbeit fachlich besser machen können. Stattdessen geht es darum die Schnittstellen zwischen diesen Spezialisten zu verbreitern und so unnötige Reibungsverluste durch Mißverständnisse und Wartezeiten zu vermeiden.

Ganz so wie im Mannschaftssport geht es darum jedem Teammitglied zu vermitteln wie er/sie das gesamte Team unterstützen kann, statt einfach nur innerhalb des begrenzten Rahmens der eigenen Position zu bleiben.

Was Coaching ist und nicht ist

Coaching für Teams außerhalb des Sports ist ein recht neues Konzept. Daher halte ich es für erforderlich kurz darzustellen was ein Coach nicht ist bzw. was er nicht macht.

Ein Coach ist kein Scrum Master. Die Rolle des Scrum Masters ist darauf beschränkt auf die Einhaltung der Scrum-Regeln und Zeremonien zu achten und dem Team bei der korrekten Anwendung von Scrum zu helfen. Das ist kein Team-Coaching.

Ein Coach ist auch kein Projektleiter, kein Manager, kein Teamleiter, kein Trainer oder andere Form von Lehrer. Als Coach helfe ich Fachkräften, die sehr gut im Durchführen ihrer fachlichen Aufgaben sind. Ich mische mich nicht in ihre fachlichen Aufgaben ein - es sei denn es wird ausdrücklich gewünscht -, sondern helfe jedem Einzelnen organisatorische Fähigkeiten für die Arbeit im Team zu entwickeln.

Diese organisatorischen Fähigkeiten sind etwas, welches der Einzelne wirklich nicht außerhalb des Teams für sich selbst lernen kann. Wer sich als Programmierer weiterbilden möchte, kann das allein tun. Zum Erlernen von Teamarbeit kann man das nicht. Dafür braucht es das Team und den Coach.

Schön und gut, aber das ist für uns zu teuer

Ein typisches Team für Software-Entwicklung besteht mindestens aus Programmierern und Testern. Typischerweise kommt dann noch ein Analytiker für das Definieren der Anforderungen hinzu. Nehmen wir einmal an dieses Team besteht aus 6 Programmieren, 2 Testern und einem Analytiker.

Die Geschäftsleitung beschließt diesem Team aus 9 Personen einen Coach zur Verfügung zu stellen. Der Coach ist die ersten drei Monate für jeweils drei Tage pro Woche anwesend und nach dem anfänglichen Intensiv-Coaching zieht er sich zurück. Um aber den Coaching-Erfolg zu kontrollieren und eventuellen Bedarf für weitere Maßnahmen rechtzeitig entdecken zu können, hilft er dem Team danach über zwei Monate alle zwei Wochen beim Durchführen einer Team-Retrospektive.

Für die nachfolgende Grafik habe ich marktübliche Jahresgehälter und einen üblichen Tagessatz für Coaching herangezogen. Die auf 5 Monate begrenzte Coaching-Maßnahme steuert somit ungefähr 15% der Personalkosten für das Team bei.

Die Frage, ob sich Coaching für ein Team rechnet, läßt sich nun recht einfach beantworten. Wir müssen einfach nur die Verbesserung der Zusammenarbeit messen und dann mit der Investition in die Coaching-Maßnahme vergleichen.

Wie wir bessere Zusammenarbeit messen können

Ein Weg, den wir zur Messung beschreiten können, ist eine Wertstromanalyse vor und nach der Coaching-Maßnahme zu machen. Wenn dann beispielsweise die Wartezeit auf neue Fähigkeiten der Software, an welcher das Team arbeitet, um mehr als 15% gesunken ist, dann hat sich die Investition sofort ausgezahlt.

Beispiel: Ein Team benötigt etwa 30 Tage (das ist bereits in vielen Fällen schnell) für das Liefern eines neuen features gemessen vom Beginn der Anforderungsanalyse bis zum Zeitpunkt wann es in Produktion für die Anwender/Kunden verfügbar ist. 15% von 30 Tagen sind 4,5 Tage. Wenn also durch Coaching erreicht wird, daß das Team features durchschnittlich 4,5 Tage früher liefert, dann ist Coaching bereits durch diesen kleinen Fortschritt rentabel. Das entspricht einer Steigerung der Produktivität um 120%. Gelingt es neue Anforderungen in funktionierende Software innerhalb von 10 Arbeitstagen umzusetzen, dann wäre die Produktivitätssteigerung gar 300%. 10 Arbeitstage ist die Dauer eines typischen Scrum-Sprints.

Teams nicht auflösen

Teams bestehen aus ihren Mitgliedern. Investiert man in Coaching für das gesamte Team, darf man natürlich das Team nicht am Ende eines Projektes auflösen. Täte man das, so würde man das Gelernte wörtlich über Bord werfen. Das macht keinen Sinn. Stattdessen sollte man Teams niemals auflösen, sondern immer Projekte zu langfristig bestehenden Teams bringen. Damit erreicht man zwei Vorteile. Zum einen wird die Investition in Coaching noch viel mehr rechnen und zum anderen erlaubt man dem Team sich eigenständig weiterzuentwickeln.


Wollen Sie diesen Artikel mit anderen teilen?

Fit für die Zukunft

Arbeitsgruppen aus Spezialisten bringen un­ter­durch­schnitt­liche Leistung, weil die darin ver­sam­mel­ten Spezialisten nicht wirklich zielgerichtet zu­sammenarbeiten können. Die Grundlage für Erfolg ist immer technisches Können. Die Grundlage für dauerhaften Erfolg ist organisatorisches Können.

Gern unterstütze ich Sie bei der Entwicklung organisatorischer und technischer Fähigkeiten. Beispiele für dazu hilfreiche Maßnahmen sind:

Lernendes Team
Die Fähigkeit schnell zu lernen erlaubt Unter­nehmen jeder Art sich auf schnelle Ver­än­derungen im Markt gut anzupassen und dadurch fortwährend die Erwartungen von Kunden und Mitarbeitern zu erfüllen. Be­geis­ter­te Kunden beweisen den Erfolg!
Lean Startup
Beobachtung, Schluß­fol­ge­rung und Anpassung sind Schlüsseltechnologien. Lernen Sie durch kontrollierte Experimente, sorgsames Messen und Schlußfolgern Erkenntnisse für die weitere Unternehmensentwicklung zu gewinnen.
Agile Vorgehensweisen
Das Ziel agiler Vorgehensweisen war nie­mals das Ziel mehr Software schneller zu entwickeln (Effizienzsteigerung). Statt­des­sen geht es darum zielgerichteter die Ar­beit im Unternehmen zu organisieren - ganz egal, ob es dabei um Software­ent­wick­lung oder andere Tätigkeiten geht.
Defekte durch ATDD vermeiden
Auftraggeber und Entwick­lungsteam de­fi­nie­ren gemeinsam in Form einer aus­führ­baren Spezifikation was die zu entwickelnde Soft­ware tun soll.
Activity-Centered Design
Produkte mit gutem Design sind aus einem tiefen und umfassenden Ver­ständ­nis der Tätigkeiten des Anwenders her­vor­ge­gan­gen. Das macht sie fit für einen an­spruchs­vol­len Markt und besser als der Mitbewerb. In einigen Fällen kann dieser Unterschied zu gewöhnlichen Produkten einen ganzen In­du­strie­zweig auf den Kopf stellen.