Pair Programming: Das Vier-Augen-Prinzip im Erfahrungsbericht

Know-how  –  54 Kommentare

Pair Programming ist in der Softwareentwicklung seit einiger Zeit gesetzt. Ein Softwareentwickler berichtet über seine Erfahrungen und die seiner Kollegen mit der Programmierpraktik.

Pair Programming hat eine lange Geschichte. Bereits 1995 machte der Informatiker Larry Constantine die Beobachtung, dass Programmierer, die in Paaren zusammenarbeiteten, schneller programmierten und weniger Bugs produzierten. Auf diesen Beobachtungen aufbauend entwickelten seine Fachkollegen Ward Cunningham und Ron Jeffries 1996 ihre Methode des Extreme Programming (XP). Pair Programming macht den entscheidenden Aspekt von XP aus. Mit dieser agilen Programmiermethode lassen sich vor allem typische Flüchtigkeitsfehler reduzieren und eine bessere Wissensverteilung im Unternehmen erzielen. Integriert in agile Methoden wie Scrum und im Kontext sich selbst organisierender Teams hat das Thema seitdem an weiterer Relevanz gewonnen.

Einführung und Einsatzgebiete

Mit Beginn 2013 wurde das Konzept bei Adacor zuerst etwa ein halbes Jahr in einem Zweierteam der
Entwicklungsabteilung erprobt. Vorrangige Treiber des Projekts waren die Teamleitung und die Mitarbeiter der Abteilung Softwareentwicklung, die diese Methode im Rahmen eines Forschungs- und Entwicklungsprojekts einer Cloud-basierten Proxy-Software mit vielen neuen Techniken und Herausforderungen nutzen wollten. Die Adacor-Geschäftsführung war eingangs skeptisch, ob es sinnvoll sei, doppelte Ressourcen für eine Aufgabe vorzuhalten. Doch das Management ließ der Softwareentwicklung letztlich weitgehend freie Hand.

Seitdem wird Pair Programming eingesetzt, um Junior-Entwickler zur Wissensvermittlung punktuell mit Senior-Entwicklern zusammenzubringen, und zwar bei Softwarekomponenten mit vielen Abhängigkeiten oder bei Software mit niedriger Fehlertoleranz.

Grundsätzlich ist Pair Programming vielseitig einsetzbar und unterstützt den schnellen Wissenstransfer sowie die rasche Einarbeitung neuer Projektmitarbeiter. Es hilft, die Entwicklerfähigkeiten weniger erfahrener Kollegen zu verbessern. Darüber hinaus lohnt sich die Arbeitstechnik beim Erstellen zentraler, kritischer oder fehleranfälliger Softwarekomponenten. Die auf den ersten Blick unwirtschaftlich wirkende Vorgehensweise zahlt sich dabei meist durch geringeren Wartungsaufwand, kürzere Einarbeitungszeiten und bessere Softwarequalität aus, was die Kundenzufriedenheit erhöht.

Sinnvoll ist Pair Programming bei

  • komplizierten Aufgaben: Durch die Wissensbündelung der Programmierpartner lassen sich Probleme schneller lösen und komplizierte Sachverhalte in kürzerer Zeit erfassen. Das eigene Verständnis eines Sachverhalts wird durch die stetige Auseinandersetzung mit dem Partner konsequent überprüft.
  • Tasks mit potenziell hohem Bug-Risiko: In diesem Fall helfen zwei Programmierer dabei, Fehler zu vermeiden. Arbeiten zwei Senior-Entwickler zusammen, ist von einer hohen Codequalität auszugehen, sodass sich der Code schneller in Produktion geben lässt.
  • Aufgaben, die neue Techniken erfordern: Aus Managementsicht ist vor allem die Verbreitung betriebsinternen Know-hows interessant. Den Programmierern geht es dagegen vor allem um schnelle brauchbare Ergebnisse. Wenn einer der Programmierer schon mit ähnlichen Techniken vertraut ist und konstruktive Vorschläge in das Brainstorming einfließen lassen kann, wirkt das zusätzlich motivierend.