Mittwoch, 22. Juni 2016

Pair Programming & das Gehirn

Mitte Mai haben Stephan Kraus und ich auf der SEACON einen Vortrag über Pair-Programming-Coaching im Großprojekt gehalten. Wir haben dabei von unseren Erfahrungen mit der Neu- und Weiterentwicklung einer großen E-Commerce-Plattform berichtet.

Das Coaching bieten wir dort als Angebot an die zahlreichen Teams an, um Pair Programming einfach mal ein paar Wochen während der ganz normalen Arbeit kennenzulernen (bzw. zu intensivieren), um die Vorzüge von kontinuierlichem Wissenstransfer und gegenseitiger Qualitätsverbesserung zu erleben. Immer im Wissen, dass man auch bei schon bei ziemlich guter Qualität immer noch besser werden kann – weil wir als Menschen Fehler machen (aus denen wir als Team viel lernen können) und weil auch Technik nicht perfekt ist.

Spannend war, dass bei der Konferenz direkt nach uns der Vortrag von Julia Dellnitz und Jan Gentsch über Brain Patterns in der Softwareentwicklung stattfand – wo ganz nebenbei ;-) erklärt wurde, warum man mit Pair Programming die typischen Gehirn-Fallen, in die man sonst leicht bei der Kopfarbeit hineintappt, elegant austrickst:
  • Unser Gehirn interpretiert unklare Dinge so, wie sie uns gerade passen. Natürliche Sprache (zwischen Fachbereich und Entwickler, aber auch zwischen den Entwicklern selbst!) ist oft nicht eindeutig... Pair Programming hilft hier, indem das, was man meint, zügig als Programmcode hingeschrieben und dann vom Pair verbessert bzw. vervollständigt wird. Programmierer können erfahrungsgemäß über und mit Code viel klarer diskutieren.
  • Wir können alleine nicht gleichzeitig über das "Was" und das "Wie" nachdenken. Die zwei Rollen beim Pair Programming decken aber beides ab: Der Driver an der Tastatur kümmert sich um die Implementierung (das "Wie"), der Navigator als strategischer Denker ist für das "Was" zuständig. Und weil die Rollen in Mikroiterationen ständig wechseln, kann dann jeder doch beides zur Lösung beitragen.
Die Patterns erklären außerdem, warum es wichtig ist, Pair Programming als sehr intensive Form der Zusammenarbeit zu üben:
  • Sozialer Schmerz durch offenes, ehrliches Feedback wird im Gehirn wie physischer Schmerz empfunden. Das Geben und Annehmen von konstruktivem Feedback muss daher Schritt für Schritt gelernt und verbessert werden, damit es von den Team-Mitgliedern nicht als persönlicher Angriff empfunden wird.
  • Ich als der beste Programmierer der Welt muss lernen, dass ich vielleicht doch mal einen Fehler mache... und dass meine Kollegen manchmal auch echt gute Ideen haben.
Der Vortrag war eine schöne Bestätigung, dass wir mit der Förderung von Pair Programming als wichtiger XP-Praktik auf dem richtigen Weg sind. Die kurze, schriftliche Zusammenfassung inkl. Brain-O-Mat sollte jeder Kopfarbeiter mal gelesen haben!