Bei Paarprogrammierung (auch Pair Programming genannt) handelt es sich um eine Vorgehensweise, die sich häufig bei agilen Vorgehensweisen zur Softwareentwicklung findet. So ist Paarprogrammierung beispielsweise ein wichtiger Bestandteil von Extreme Programming (XP).
Beschreibung
Paarprogrammierung bedeutet, dass bei der Erstellung des
Quellcodes jeweils zwei
Programmierer an einem
Rechner arbeiten. Ein Programmierer schreibt den Code, während der andere über die Problemstellungen nachdenkt, den geschriebenen Code kontrolliert sowie Probleme, die ihm dabei auffallen, sofort anspricht. Diese können dann sofort (im Gespräch zu zweit) gelöst werden. Die beiden Programmierer sollten sich bezüglich dieser beiden Rollen abwechseln. Auch die Zusammensetzung der Paare sollte sich häufig ändern.
Sinn
Zunächst soll Paarprogrammierung die
Softwarequalität steigern. Durch die Kontrollfunktion der zweiten Person sollen problematische Lösungen vermieden werden. Die Paarprogrammierung dient aber auch zur Verbreitung von Wissen über den Quellcode. Durch das regelmäßige Rotieren der Partner kann immer der jeweils neue Partner durch "learning by doing" etwas über die bearbeiteten Quelltexte lernen.
Positive Effekte
- Höhere Disziplin. Paare entwickeln viel eher an der richtigen Stelle und machen kürzere Pausen.
- Besserer Code. Beim Pair Programming entwickelt man sich weniger leicht in Sackgassen und erreicht so eine höhere Qualität.
- Belastbarerer Flow. Pair Programming führt zwar zu einer anderen Art von Flow, ermöglicht diesen aber eher als der konventionelle Ansatz: Ein Programmierer kann seinen Partner jederzeit nach dem aktuellen Stand fragen und dort anknüpfen. Unterbrechungen werden auf diese Art besser abgewehrt.
- Höhere Moral. Pair Programming ist oft spannender und interessanter als alleine zu arbeiten.
- Collective Code Ownership. Wenn das gesamte Projektteam mit der Methode Pair Programming arbeitet und die jeweiligen Partner oft wechseln, erlangen alle Wissen über die gesamte Codebasis.
- Mentoring. Jeder hat Wissen das andere nicht haben. Pair Programming ist eine bequeme Möglichkeit dieses Wissen zu verteilen.
- Team building. Die Leute lernen sich gegenseitig schneller kennen, wodurch die Zusammenarbeit verbessert werden kann.
- Weniger Unterbrechungen. Paare werden seltener unterbrochen als jemand der alleine arbeitet.
Produktivität
Befürworter der Paarprogrammierung behaupten, dass die Produktivität durch diese Vorgehensweise nicht sinke, sondern im Gegenteil sogar steige. Voraussetzung sei allerdings, dass die fachliche Kompetenz der Partner nicht zu sehr abweicht.
Weblinks
Programmierung
Pair programming | Programavimas poromis | Pair programming | Парное программирование | 结对编程