Pair Programming

Was ist Pair-Programming?

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 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 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 kontinuierlich gewechselt. So wird sichergestellt, dass jedes Teammitglied alle Teile des Projektes kennenlernt.

Welche Vorteile bietet Pair-Programming?


Untersuchungen (siehe unten) zeigen, dass der Einsatz von Pair-Programming die Qualität des Codes deutlich steigert. Dies liegt unter anderem am ständigen Codereview 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 Truckfaktor 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.

Kann man auch ohne Pair-Programming agil sein?

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 durchzuführen und mehr Dokumentation zu erstellen, weil sonst Wissensinseln entstehen.

Unser Angebot zu Pair-Programming

Treten Sie mit uns in Kontakt.

Literatur

  1. Williams, Laurie: The Collaborative Software Processs, University of Utah, 2000.
  2. Nosek, John T.: The Case for Collaborative Programming, In: Communications of the ACM Vol. 41, Nr. 3, S. 105 - 108, 1998.
Seite druckenDiese Seite ausdrucken

XP-Buch

Die it-agile-Berater Henning Wolf, Stefan Roock und Martin Lippert haben Ihre Erfahrungen mit eXtreme Programming in einem Buch fest- gehalten. Es ist im September 2005 in der 2., überarbeiteten und erwei- terteten Auflage im dpunkt.verlag erschienen.
Buchkritik lesen.




Um das Buch direkt bei Amazon zu bestellen, bitte auf das Bild klicken.

Agile Schulungen

Wir bieten Schulungen zu agilen Themen nach dem Baukastenprinzip an. Mehr...