Autor
Andreas Havenstein
- LinkedIn:andreas-havenstein-3b4044181
Pair Programming oder Programmieren in Paaren ist eine zentrale Technik aus dem Extreme Programming (XP). Beim Pair Programming sitzen zwei Entwickler gleichberechtigt an einem Rechner und arbeiten gemeinsam an einer Aufgabe. Die zwei Entwickler:innen nehmen unterschiedliche Rollen ein, welche oft mit „Pilot“ und „Navigator“ bezeichnet werden.
Der „Pilot“ schreibt den Code, während der „Navigator“ die Korrektheit des Codes und des Lösungsansatzes überwacht und parallel über Verbesserungen am Design nachdenkt. Weil beide Entwickler:innen gleichberechtigt sind, gibt es keine feste Aufgabenteilung. Deshalb wechselt der „Pilot“ alle paar Minuten zum „Navigator“ und der „Navigator“ wird zum „Piloten“.
Auch zwischen den Paaren werden die Partner:innen kontinuierlich gewechselt. So wird sichergestellt, dass jedes Teammitglied alle Teile des Projektes kennenlernt.
Der schnelle Überblick
Pair Programming ist eine Kernpraktik des Extreme Programming (XP) und eine agile Technik, bei der zwei Entwickler:innen gemeinsam an einem Computer arbeiten. Diese Methode zielt darauf ab, die Qualität des Codes zu erhöhen, die Wissensverteilung im Team zu fördern und die Zusammenarbeit zu verbessern. Die Rollen im Pair Programming sind „Pilot“ und „Navigator“: Sie werden regelmäßig gewechselt, um sicherzustellen, dass beide Teammitglieder gleichermaßen zum Code beitragen und voneinander lernen.
Pair Programming erfordert ein hohes Maß an Kommunikation und gegenseitigem Respekt. Zu Beginn kann es als zeitintensiv wahrgenommen werden, doch die langfristigen Vorteile in Bezug auf Qualität und Wissensverteilung überwiegen oft.
Pair Programming wird häufig bei der Lösung komplexer Probleme oder beim Erlernen neuer Technologien eingesetzt. Wir empfehlen diese Methode als festen Bestandteil agiler Entwicklungspraktiken, um Teamdynamik und Produktqualität nachhaltig zu verbessern.
Untersuchungen (siehe unten) zeigen, dass der Einsatz von Pair Programming die Qualität des Codes deutlich steigert. Dies liegt unter anderem am ständigen Code Review und dem sofortigen Feedback des „Navigators“. Gleichzeitig erhöhen sich die Entwicklungskosten nur minimal. Da Fehler umso teurer sind, je später sie entdeckt werden, können die Folgekosten erheblich minimiert werden. Außerdem zeigt sich, dass Entwickler durch Pair Programming mehr Spaß an der Arbeit haben. Sie lassen sich weniger von privaten Interessen ablenken und haben mehr Vertrauen in den fertigen Code. Der Wechsel zwischen den Paaren bewirkt außerdem, dass sich das Projektwissen im gesamten Team gleichmäßig verteilt und es weniger „Spezialisten“ gibt. Dadurch wird der sogenannte Truck-Faktor minimiert: Dieser gibt die Wahrscheinlichkeit an, mit der ein Projekt scheitert, wenn einer der Entwickler von einem Truck überfahren wird. Beim Pair Programming geben die erfahrenen Entwickler ihre Kenntnisse an die weniger erfahrenen weiter. Auch die Kommunikation im Team wird durch das kontinuierliche Wechseln der Paarungen stark verbessert.
Selbstverständlich kann man auch ohne Pair Programming agil vorgehen. Man muss dann allerdings bedenken, dass die oben beschriebenen Vorteile mit anderen Mitteln erreicht werden müssen. Dann sind z.B. konsequent Code Reviews zur Qualitätssicherung durchzuführen und mehr Dokumentationen zu erstellen, weil sonst Wissensinseln entstehen.
Austausch
Umfeld
Werkzeuge
Vorgehen
Persönliche Einstellung
Interesse geweckt?
Software Crafting Techniken sind ergänzend zu gutem Software-Engineering nötig, um in einem agilen Team entwickeln zu können. Es geht darum, in kurzen Zyklen Wert zu schaffen und diesen möglichst schnell produktiv zu stellen, um Feedback von Endkunden einzuholen. Werden Sie ein exzellenter SW Craftman mit unseren Trainings:
Darüber hinaus bieten wir Unterstützung durch testerfahrenen agilen Entwickler:innen (mehr) und helfen Ihren eigenen Entwickler:innen dabei, Tests Gewinn bringender einzusetzen (mehr).
Über den Autor
Andreas Havenstein ist Trainer, Architekt und Softwareentwickler bei der it-agile GmbH in Hamburg. Seit vielen Jahren begeistert er sich für agile Methoden, testgetriebene Entwicklung und modulare, flexible Architekturen. Er hat eine Cloud-Migration begleitet und beobachtet gespannt, wie sich die Welt in Richtung Serverless bewegt.
Veröffentlichungen (u. a.):
Kennen Sie eigentlich schon it-agile?
Kund:innen wollen begeistert werden. Mit innovativen Produkten, durch Schnelligkeit, Transparenz und auch Verlässlichkeit. Unsere erfahrenen Agile Coaches sorgen gemeinsam mit Ihren Teams und Führungskräften dafür, auch in komplexer Umgebung Ihre Ziele nicht aus dem Auge zu verlieren und implementieren die richtigen agilen Methoden für nachhaltige Veränderung.