Coaching zukünftiger Meister

Coaching von Teams am Arbeitsplatz ist ein relativ neues Konzept. Im Sport ist der Einsatz eines Coaches weit verbreitet und besonders bei Mannschaftssportarten im Hochleistungsbereich eigentlich undenkbar. Auch in der Wirtschaft können Teams am Arbeitsplatz von der Begleitung durch einen Coach profitieren.

Software-Entwicklung ist ein Mannschaftssport. Kunde, Business Analyst, Tester und Programmierer müssen eng zusammenarbeiten und miteinander kooperieren, um das Spiel zu gewinnen. Bricht die Zusammenarbeit zusammen, sind Kostenüberschreitungen und Software, die nicht dem beabsichtigtem Zweck dient, die negative Folge.

Gut genug oder wirklich gut?

Die meisten Mitarbeiter in der Software-Entwicklung bewegen sich irgendwo auf dem Grad des Gesellen im klassischen Handwerk oder auf der Ha-Ebene wie aus japanischen Kampfsportarten bekannt. Legt man das Dreyfus-Modell zu Grunde, so sind sie meist auf dem Niveau einer Fachkraft.

Diese Mitarbeiter sind in der Lage eine gute Leistung mit grundlegenden Techniken zu erbringen. Damit sind sie bereit ihren Weg hin zum Meister, zum Experten, auf die Ri-Ebene zu beginnen. Wenn sie diese Ebene erreichen, können sie überdurchschnittliche Ergebnisse dauerhaft liefern und fortwährend die eigenen Fähigkeiten weiter perfektionieren. Damit sie auch in ungewöhnlichen Situation allein sicher über die richtige Vorgehensweise entscheiden können.

Mit Hilfe des Coaches zum Meister

Ein Coach hilft diesen Mitarbeitern ihre Fähigkeiten vollends zu entwickeln. Sie werden damit zu Meistern des Handwerks Softwareentwicklung.

Der Vorteil für das Unternehmen ist, daß diese neuen Meister eigenverantworlich und zielgerichtet im Sinne des Unternehmens tätig sein können. Dann entsteht Software, die wirklich Kundenerwartungen erfüllt oder übertrifft, es werden Lösungen für die richtigen Probleme geschaffen und dies alles geschieht zeitnah ohne Verschwendung von Ressourcen. Je mehr Meister ein Unternehmen beschäftigt, desto höher ist seine Wettbewerbsfähigkeit.

Ein guter Coach arbeitet ständig daran sich selbst überflüssig zu machen. Der Coach sollte nicht ein Teil des Teams, welches er coacht, werden. Stattdessen ist sein Ziel anderen zu helfen besser in ihrem Tun zu werden. Aus diesem Grund erscheint es sinnvoll die Arbeit des Team-Coaches ähnlich wie die Durchführung eines Fluges zu strukturieren.

Startlauf und Abheben

Auf der Startbahn volle Leistung zu geben wird das Flugzeug in die Luft bringen. Von außen betrachtet sieht abheben ziemlich einfach aus. Doch wenn man Unfallberichte anschaut, wird man feststellen, daß sehr kleine Dinge zu einer sehr großen Katastrophe führen können.

Ein Coach kann ganz zu Anfang eines Projektes durch Training und Orientierung des gesamten Teams und einzelner Rollen für ein gemeinsames Verständnis der einzusetzenden Techniken sorgen. Mit Hilfe des Coaches kann das Team sehr, sehr früh ein lauffähiges Skelett der Anwendung erstellen. Das ist eine Technik, die früh und schnell Rückmeldungen an die Auftraggeber liefert. Meist sind diese dafür sehr dankbar. Es ist auch eine gute Gelegenheit frühzeitig über die wirklichen Fähigkeiten des Teams informiert zu sein und entsprechende Maßnahmen so früh wie möglich zu treffen.

Es gibt viele andere Dinge auf der technischen Ebene und im Bereich der Infrastruktur, die durch die Mitwirkung einer besonders erfahrenen Person von Anfang an richtig gemacht werden können. Kümmert man sich gleich beim Start um diese kleinen Details (Versionskontrolle, fortwährende Integration, Testsysteme, Testdaten - um nur Einige zu nennen) wird das Erreichen der Reiseflughöhe umso sanfter und ereignisloser erfolgen.

Gerader Reiseflug

Es kann erwartet werden, daß in vielen Fällen durch die relative Unerfahrenheit mancher Teammitglieder eine Reihe von Problemen auftreten. Genau wie im Falle eines Fluges wird es hier und da ein paar Sprünge und heftigere Turbulenzen geben.

Durch die Anwesenheit eines Coaches können diese Turbulenzen rechtzeitig erkannt werden. Die langjährige Erfahrung des Coaches wirkt wie das Wetter-RADAR in einem Flugzeug, welches Turbulenzen viele Kilometer voraus auf der Flugstrecke erkennen kann. Der Coach weiß welches Problem höchstwahrscheinlich auftreten wird und kann Rat und Hilfe anbieten, um die Schwierigkeit zu vermeiden bevor daraus ein ernstes Problem wird.

Landung

Flugzeuge landen an ihrem Ziel und nach der Ankunft werden die Triebwerke abgestellt und der Flug ist vorbei. Zuvor jedoch muß die Landung sicher gemeistert werden. Landen ist sogar noch gefährlicher als Abheben. Mehr Unfälle geschehen während der Landung, weil die Piloten nach einem langen Flug meist müde und erschöpft sind und es dadurch wahrscheinlicher ist, daß sie Fehler machen - und die können fatal sein.

Das Ziel aller Softwareprojekte ist es die neue Software in Produktion zu setzen oder sie an Kunden auszuliefern. Eine Menge Schmerz während dieser Phase im Leben neuer Software kann vermieden werden, indem man frühzeitig die richtigen Entscheidungen trifft und - ganz besonders wichtig - so früh und häufig wie möglich in der Produktionsumgebung installiert oder zumindest auf einem Testsystem, welches der Produktionsumgebung gleicht. Gute Teams installieren nützliche Software das erste Mal eine oder zwei Wochen nach Projektbeginn.

Höchstes Ziel eines Coaches: sich selbst überflüssig machen

Das Ziel für den Coach in jedem Coaching-Engagement ist sich selbst überflüssig zu machen. Zuerst gibt es eine Phase, in der es gilt die Fertigkeiten des Teams zu verbessern. Danach hilft der Coach Schwierigkeiten zu meistern und die vielen kleinen Hindernisse hier und da zu bewältigen.

Nach einer Weile wird der Coach das Team allein lassen, um zu sehen ob es schon bereit ist alleine zu fliegen und Schwierigkeiten allein meistern kann. Das mag nicht beim ersten Mal funktionieren. Der Coach hilft dann dem Team Verbesserungen aufgrund der gemachten Erfahrungen zu erreichen. Die Geschichte hat gezeigt, daß man am besten aus Fehlern lernt. Und genau das ist was in diesem Fall geschieht.

Immer häufiger wird das Team in der Lage sein mehr und mehr Herausforderungen zu meistern und das ist wenn das Coaching-Engagement immer stärker reduziert wird und schließlich ganz beendet wird.

Diese Beschreibung der Aufgaben eines Team-Coaches ist eine Übersetzung von "Coaching future masters" vom 6. Juni 2011.

Programmieren können reicht nicht

Entwickeln von Software ist nicht programmieren können.

Tatsächlich ist das Schreiben von Programmcode in Java oder C/C++ oder einer anderen beliebigen Programmiersprache lediglich eine von vielen Fertigkeiten, die ein Softwareentwickler beherrschen muß, um ein einsatzfertiges Produkt abzuliefern.

Viele können nur programmieren.

Fachkräfte zu Experten entwickeln

Wer ein Informatik-Studium an einer Universität abgeschlossen hat startet seine berufliche Tätigkeit als Fachkraft. Er nimmt Aufgaben und Tätigkeiten im Zusammenhang mit gesetzten Zielen wahr und er plant innerhalb eines gewissen Rahmens seine Tätigkeiten. Diese führt er dann mit Routine durch.

Eine erfahrene Fachkraft kann einzelne Teile einer Tätigkeit nach Bedeutung priorisieren und hat ein gesamtheitliches Situationsbild. Es werden Leitbilder herangezogen und Aufgaben entsprechend dieser Leitbilder, die an die jeweilige Situation angepaßt werden ohne die Bedeutung zu verwässern, durchgeführt.

Der Experte schließlich entscheidet situativ aufgrund seines tiefgreifenden Verständnisses der Aufgabe. Er erkennt was möglich ist und entwickelt bei Bedarf neue Vorgehensweisen.

Durch Coaching werden aus Fachkräften Experten und Meister.

Team-Coach ist kein Scrum-Master

Scrum ist so eine Art Stützräder zum Erlernen von Zusammenarbeit im Team. Scrum zeigt auf wo Defizite in der Zusammenarbeit innerhalb des Teams und der restlichen Organisation existieren.

Die Aufgabe des Scrum-Masters ist dafür zu sorgen, daß Scrum verstanden und korrekt angewandt wird. Außerhalb des Teams unterstützt er den Rest der Organisation bei der korrekten Zusammenarbeit mit dem Scrum-Team.

Zwar ist auch beim Scrum-Master ein gewisses Element Coaching enthalten, doch geht es dabei immer nur um die korrekte Anwendung von Scrum.

“Aber Coaching ist doch psychologische Beratung - oder nicht?”

Nein. Der Begriff Coaching ist ein Fremdwort aus dem Englischen und hat eine andere Bedeutung.

to coach bedeutet:

  • ein Team und die Mitglieder etwas lehren oder unterweisen
  • jemandem zusätzlichen oder privaten Unterricht zu erteilen
  • ein Thema oder eine Sportart unterrichten
  • jemanden durch Unterweisung auf etwas vorbereiten

Generell ist Coaching einfach eine Vorgehensweise, die sich von Schulungen und Seminaren unterscheidet und - bezogen auf das Umfeld am Arbeitsplatz - nur dann Sinn macht, wenn das Team und seine Mitglieder bereits reif dafür sind. Vorher geht es dann eher um Schulungen, Unterweisungen und andere Formen des Lehrens.