So geht Pair Programming

So geht Pair Programming

Pair Programming steht für rasche Entwicklung und weniger Fehler. Doch wie funktioniert PP? Gibt es ein Konzept dafür und vielleicht sogar Nachteile?

2 Entwickler, 1 Computer

Pair Programming funktioniert relativ simpel: 2 Personen setzen sich vor 1 PC oder Notebook (sie können natürlich auch stehen dabei;) und entwickeln gemeinsam Code, auf den beide gleichzeitig und jederzeit zugreifen können. Idealerweise stehen dafür also 2 Mäuse und 2 Bildschirme, aber nur 1 Tastatur zur Verfügung. Es geht darum, zu 2. Ideen zu entwickeln – weniger darum, wer welchen Codepart tippt.

Funktionierender Wissenstransfer

Gerade auf Junior- und Senior-Ebene macht dies Sinn, weil dabei dem (noch) unerfahren Kollegen quasi nebenbei Wissen vermittelt wird. Für wichtige Projekte und für rasche Umsetzungen empfehlen sich 2 Entwickler mit halbwegs gleich hohem Niveau.

Funktionierendes Team

Gerade in cross-funktionalen Teams ist das Wissen verteilt. Wichtig ist, dass das Team funktioniert, weshalb es nicht immer nur Entwickler sein müssen, auch eine Kombination Entwickler mit Grafiker oder Usability-Designer sind möglich. Das Ziel muss dabei immer das gleiche sein: Am Ende einen besseren Code zu haben, der sauberer und fehlerfreier ist. Zwar schreiben die 2er-Teams nicht doppelt so schnell Code wie einzelne, aber sie sind insgesamt effizienter und rascher, als wenn sie alleine arbeiten würden (weniger Bugs, weniger technische Meetings, weniger Doku usw.).

4 Augen sehen mehr als 2

Ganz allgemein lässt sich sagen, dass Fehler meist direkt abgefangen werden. Rubber-Ducking zum Debuggen ist mittlerweile weit verbreitet und zeigt, dass es hilft, anderen seinen Code zu erklären. Die Möglichkeit zur Diskussion und damit Verbesserung des Codes liegen auf der Hand.

Da nur 1er schreibt, muss dieser seinen Code stets erklären und korrigiert diesen meist schon beim Konzipieren und hat zusätzlich das Feedback der anderen Person. So fallen Fehler oder nicht bedachte Grenzfälle schneller auf. Im Optimalfall ist der am Ende entstandene Code dann eine Kombi von mind. 2 Lösungsansätzen und entsprechend durchdachter als die Idee eines einzelnen Programmierers, der nur für sich arbeitet.

Ständige Verbesserung

Gemeinsames Arbeiten bedeutet fortlaufende Evaluierung, die zu sauberer Arbeit und lesbarem Code führt. Ist 1er der beiden kein Entwickler, sondern zB Grafiker, werden auch diese Aspekte direkt mit angegangen. Das erspart fast immer ein Nacharbeiten.

Social Teams

Der Erfolg im Pair-Programming hängt nur von den Menschen ab, die zusammenarbeiten sollen/wollen. Ohne vorherige Tests, Teambuildung-Maßnahmen oder zumindest einer Kommunikations-Schulung für beide sollte nicht gestartet werden. Vorteilhaft wäre, wenn beide Personen keinen zu großen Wissensunterschied haben (es sei denn der Wissenstransfer ist bewusst so angedacht), sodass ein Gespräch auf Augenhöhe möglich ist und sich keinenfalls Hierarchien bilden.

Trotzdem kann es vorkommen, dass die Partner nicht gut miteinander auskommen und die Kommunikation schwer fällt. Nachdem Kritik geübt werden muss, kann eine solche Konstellation schnell zu Auseinandersetzungen oder Widerstand führen und in deutlich geringerer Effizienz und 2 unzufriedenen Mitarbeitern führen. Anderseits können sich die Beiden auch zu gut verstehen und gegenseitig ablenken, zB weil sie lieber über die gemeinsamen Hobbys diskutieren statt fokussiert zu arbeiten.

Perfekt ist es dann, wenn sich 2 gefunden haben, die gut und konzentriert zusammenarbeiten können. Dann ist die Arbeit vergleichsweise anstrengender, da eben fokussierter, was bedeutet, dass besonders auf Pausen und Ausgleich geachtet werden muss.

Conclusio

Pair Programming ist und bleibt also ein durchaus spannendes Konzept, das letztendlich davon abhängt, wie gut das Team miteinander arbeitet. Zu 2. kann aber definitiv mehr erreichen werden als alleine – trotzdem sollte die Entscheidung dafür gründlich durchdacht werden. Agile Software ist gerne ihr richtiger Ansprechpartner dafür!

Wir wollen Sie auf Ihrem Weg begleiten und Ihnen bei wichtigen Entscheidungen helfen. Also fragen Sie jetzt unverbindlich an!

Keine Kommentare

Trackbacks/Pingbacks

  1. New Work - New Challenges - Agile Software DI C. Heumader - […] Know-how verwenden und gleichzeitig durch Workshops, Pair Programming (Junior/Senior) oder Mentoring […]