Interview mit Thomas Much

Pair und Mob Programming: Wie Agile erfolgreich wird und bleibt

Pair und Mob Programming: Wie Agile erfolgreich wird und bleibt

Interview mit Thomas Much

Pair und Mob Programming: Wie Agile erfolgreich wird und bleibt


Auf dem Agile Day der JAX 2018 trafen wir uns mit den Sprechern für eine Expertenrunde. Heute erklärt uns Thomas Much, was Agilität für ihn ausmacht und weshalb Sie sich einmal mit Mob Programming auseinandersetzen sollten.

JAXenter: Hallo Thomas! Die agile Bewegung ist weit gekommen – von der Grassroot-Bewegung bis zum heutigen Mainstream. Was hat dich persönlich an der agilen Bewegung fasziniert? Was ist für dich das Spannende daran?

Richtig gelebte Agilität minimiert Störendes und Blockierendes.

Thomas Much: Es ging schon ganz am Anfang um eine bessere Zusammenarbeit der beteiligten Personen. Das sind nicht nur die Entwickler, sondern auch die Tester, der Betrieb, die Fachbereiche und letztendlich auch die Kunden. Auf dem Weg in den Mainstream ist das zwischen lauter agilen Frameworks und Prozessen leider ein bisschen in den Hintergrund getreten… Aber gerade in jüngster Zeit kann man wieder verstärktes Interesse daran beobachten, warum wir überhaupt anstreben, Aufgaben „agil“ zu lösen. Und was die Alternativen bzw. Konsequenzen sind, wenn wir diese Aufgaben ohne das agile Mindset bearbeiten.

Richtig gelebte Agilität minimiert Störendes und Blockierendes – die Beteiligten können ihre Arbeit besser und zusammen erledigen. Das motiviert und bringt hoffentlich sogar Spaß bei der Arbeit. Und wenn dann der Kunde ein besseres Produkt bekommt und zufriedener ist, ist das für mich als Entwickler unglaublich sinnstiftend.

JAXenter: Vielen klassischen Unternehmen fällt es dennoch schwer, agil zu werden. Wo liegen die typischen Hürden, die es zu überwinden gilt?

Thomas Much: In diesen klassischen Unternehmen wurde vermutlich über Jahrzehnte eine Kultur des Command & Control gelebt. Wenn die Mitarbeiter sich mit diesem System arrangiert haben, ist es unglaublich schwer, davon wegzukommen. Vielleicht wird in so einer Situation Agilität von ganz oben verordnet, aber das ist oft nur Command & Control in anderen Kleidern.

Agilität braucht ein Umfeld, in dem sich Transparenz, Ehrlichkeit und Vertrauen entwickeln können. So ein Umfeld kann man nicht verordnen, das muss behutsam (und mühsam!) geschaffen werden. Das bedeutet aber Veränderung und anfängliche Unsicherheit. Das Loslassen von bekannten (und vielleicht auch bequemen) Arbeitsweisen. Das Auflösen von Anreiz- bzw. Bonussystemen, die einer übergreifenden Zusammenarbeit im Wege stehen.

Je klassischer das Unternehmen, desto mehr solcher Hindernisse gibt es. Es braucht Mut, von ganz oben überzeugend eine Veränderung anzustoßen, die alle bisherigen Unternehmensebenen auf den Weg des (Kultur-)Wandels mitnimmt.

JAXenter: Auf dem Agile Day der JAX hältst du eine Session mit dem Titel „Pair und Mob Programming: Damit Agile erfolgreich wird und bleibt.“ Dabei sagst du, dass einfaches Pair Programming auch nach hinten losgehen kann, wenn Entwickler einfach nur zu zweit vor einen Rechner gesetzt werden. Wo ist das Problem?

Thomas Much: Menschen sind sehr unterschiedlich. Vielleicht verstehen sich zwei Entwickler sofort – dann wird deren Pair Programming ohne großen Aufwand funktionieren. Wenn sich zwei Entwickler aber – aus welchen Gründen auch immer – nicht so gut verstehen, kann das schnell zu Spannungen führen, die sich negativ auf das ganze Team auswirken.

Außerdem kommt es stark darauf an, dass das Pair Programming interaktiv durchgeführt wird, damit die Kreativität der Entwickler erhalten bleibt. Ansonsten ist man viel zu schnell gelangweilt, ausgepowert und am Ende des Tages nur noch k.o.

JAXenter: Und wie kann man es besser machen?

Thomas Much: Neben dem „Machen“ des Pair Programmings gehört immer wieder auch die Reflexion dazu: Hat sich das Pair Programming gut angefühlt? Hat es uns voran gebracht? Was sollten wir beibehalten, was sollten wir ändern? Das Nachdenken über die Arbeitsweise kommt ohne externen Blick oft zu kurz bzw. fällt naturgemäß schwer (und wird daher weggelassen). Hier kann ein Coach oder einfach ein teamfremder Entwickler helfen, der das Pair bzw. Team mit externem Blick begleitet und Feedback gibt.

In der IT sind wir Kopfarbeiter. Letztendlich geht es darum, unser Gehirn zu unterstützen, lernfähig und kreativ zu sein – auch über einen längeren Zeitraum und ohne dass man dabei ausbrennt. Das kann man u.a. durch häufige Wechsel der Tastatur und durch regelmäßige, kurze Pausen erreichen.

JAXenter: Wie kann Mob Programming hier helfen?

Thomas Much: Manche empfinden Mob Programming als angenehmer, weil man nicht auf ganz so engem Raum zusammensitzt wie beim Pair Programming. Außerdem sind viel mehr Entwickler im Raum, und es ist garantiert noch jemand anderes anwesend, der genau dieselbe „dumme“ Frage hat wie ich – man ist mit seinem Unwissen also nicht alleine, da fällt das Annehmen von Wissen leichter.

Mit Mob Programming kann man sehr effizient Wissen in einer ganzen Gruppe verteilen.

Zudem ist viel mehr und vermutlich auch unterschiedlichstes Wissen im Raum. Das fördert die Kreativität und regt Diskussionen an, bei denen alle Anwesenden ein tieferes Verständnis der aktuellen Aufgabe erlangen. Dass man mit Mob Programming sehr effizient Wissen in einer ganzen Gruppe verteilen kann, ist da fast nur noch angenehmer Nebeneffekt 😉

Der wichtige Unterschied gegenüber Diskussionsrunden besteht darin, dass wir als Mob am Ende lauffähigen Code haben. Wir haben ein Ergebnis, das Teil unseres Projektcodes ist (der dann eventuell von anderen Pairs oder Mobs ergänzt und verfeinert wird). Wer endlose Discovery- und Planning-Meetings kennt, in denen keiner der Beteiligten genug Wissen hat und man eigentlich erstmal forschen und Prototypen bauen müsste, kann stattdessen mal einen halben oder ganzen Tag Mob Programming ausprobieren. Es wäre nicht das erste Mal, dass ein Team plötzlich aufblüht, weil es seine Kreativität in die Problemlösung stecken kann, anstatt in starren Meeting-Strukturen festzustecken.

JAXenter: Welcher aktuelle Trend in der agilen Bewegung findest du momentan besonders spannend?

Thomas Much: Seit etwas über zwei Jahren gibt es die „Modern Agile“-Bewegung, die aus den Erfahrungen von zwei Jahrzehnten Agilität gelernt hat und beschreibt, wie Agilität aus heutiger Sicht langfristig und nachhaltig funktionieren kann – bei der Softwareentwicklung, aber nicht nur dort. Dafür wurden vier Leitprinzipien definiert:

  • Make People Awesome
  • Make Safety a Prerequisite
  • Experiment & Learn Rapidly
  • Deliver Value Continuously

Besser kann man meines Erachtens nicht zusammenfassen, was die Basis für moderne Softwareentwicklung sein sollte. Wer sich genauer dafür interessiert, findet auf http://modernagile.org/ weiterführende Informationen.

JAXenter: Was ist die Kernbotschaft deiner Session, die jeder mit nach Hause nehmen sollte?

Thomas Much: Methodische Coachings zu Scrum, Kanban etc. sind hilfreich und wichtig, damit wir eine Vorstellung davon bekommen, wie agiles Arbeiten ablaufen kann, welche Regeln es gibt und vor allem, warum es sie gibt – damit ich sie retrospektiv anpassen, weglassen oder um neue Regeln bzw. Konventionen ergänzen kann.

Das ist aber nur der eine Teil. Denn wie gut dieser methodische Rahmen funktioniert, hängt davon ab, wie die Menschen im Team – wir! – zusammenarbeiten und den Rahmen mit Leben füllen. Mit vielen Einzelkämpfern ist es dagegen unglaublich schwer, unser eigentliches Ziel zu erreichen: dem Kunden ein Ergebnis zu liefern, mit dem er zufrieden ist.

Bei der Softwareentwicklung können Pair Programming und Mob Programming die Zusammenarbeit im Team unterstützen. Und so, wie es beim methodischen Vorgehen Regeln bzw. Konventionen gibt, die wir in den Retrospektiven hinterfragen, sollte man auch für die Arbeit im Pair oder Mob ein paar grundlegende Verhaltensweisen kennen, um sie retrospektiv analysieren und verbessern zu können. Das muss man immer wieder trainieren! Dann aber hat man mit Pair und Mob Programming zwei mächtige Hilfsmittel zur Verfügung, die man regelmäßig und erfolgreich einsetzen kann.

JAXenter: Vielen Dank für dieses Gespräch!

 Als Agile Developer Coach und Softwareentwickler unterstützt Thomas Much zahlreiche Teams bei der Bewältigung der alltäglichen Projektherausforderungen, sowohl methodisch als auch technisch – und oft auch an der Reibefläche dazwischen. Er lebt mit seiner Familie in Hamburg und lässt sich gerne vom nordischen Wind den Kopf für neue Ideen freipusten.

LESEN SIE AUCH:

Agile-Expertenrunde: „Im Kern geht es darum, Verschwendung konsequent zu vermeiden“

Hartmut Schlosser

Hartmut Schlosser, Redakteur entwickler.de


Weitere Artikel zu diesem Thema