Suchen

Definition „Paarprogrammierung“ Was ist Pair Programming?

| Autor / Redakteur: chrissikraus / Stephan Augsten

Beim Pair Programming arbeiten zwei Entwickler an einem Rechner, um gemeinsam eine Aufgabe zu lösen. Die Methode soll die Qualität des Codes steigern, Wissen gleichmäßig verteilen und langfristig die Kommunikation und Produktivität im Team steigern.

Firmen zum Thema

Paarprogrammierung sieht vor, dass zwei Programierer sich einen Arbeitsplatz teilen und gleichberechtigt zusammen Lösungsansätze entwerfen.
Paarprogrammierung sieht vor, dass zwei Programierer sich einen Arbeitsplatz teilen und gleichberechtigt zusammen Lösungsansätze entwerfen.
(Bild: StartupStockPhotos.com / CC0 )

Pair Programming ist eine Methode, die besonders in der agilen Softwareentwicklung weit verbreitet ist. Sie ist zum Beispiel Teil von Extreme Programming, wird in der Praxis aber häufig auch – losgelöst von anderen agilen Methoden – ganz nach Bedarf eingesetzt.

Die Methode sieht vor, dass zwei Programmierer gemeinsam an einem Arbeitsplatz arbeiten. Im Idealfall sind beide Programmierer gleichberechtigt: Beide Personen sollen ihre eigenen Ideen mit einbringen und gemeinsam über Lösungsansätze diskutieren.

Pilot und Navigator

Bei der Paarprogrammierung gibt es zwei Rollen: Den Piloten (Driver) und den Navigator (Partner). Der Pilot ist derjenige, der den Rechner bedient und den Code schreibt. Während der Arbeit bietet es sich an, den aktuellen Fortschritt laut zu kommentieren, damit der Navigator die Gedanken hinter dem Code stets nachvollziehen kann.

Der Navigator sieht zu, gibt Feedback zum aktuellen Code und denkt darüber nach, ob der Ansatz noch weiter verbessert werden kann. Er hat das Gesamtbild im Blick, während der Pilot sich auf die Details des aktuellen Codeabschnitts konzentriert.

Die Rollen werden normalerweise regelmäßig getauscht, damit beide Partner sich gleichberechtigt ins Projekt einbringen können: Jeder hat Phasen, in denen er planen und den Partner verbessern darf, und Phasen, in denen er das Geplante umsetzt und vom Partner verbessert wird.

Code Review schon während der Arbeit

Da grundsätzlich zu zweit an einer Aufgabe gearbeitet wird, fallen Fehler und unsaubere Lösungsansätze beim Programmieren im Paar tendenziell schneller auf. Der Navigator ist laufend damit beschäftigt, den Code zu begutachten und das Problem in Gedanken zu behandeln. Er kann Kritik sofort anbringen, auf mögliche Probleme hinweisen und Unklarheiten aufdecken.

Dadurch entsteht bereits während der Arbeit qualitativ besserer Code, wie er sonst meistens nur durch nachträgliche Code Reviews möglich wäre. Zwar dauert die Entwicklung im Paar tendenziell etwas länger. Doch die höhere Qualität bedeutet in der Regel auch, dass weniger nachgebessert werden muss.

Wissen während der Arbeit weitergeben

Ein weiterer Vorteil von Pair Programming ist, dass sich Wissen durch die gemeinschaftliche Arbeit sehr gut weitergeben lässt. Fachwissen taucht während der Arbeit immer mit einem konkreten Praxisbezug auf. So kann zum Beispiel Wissen aus unterschiedlichen Fachbereichen an genau den Stellen untereinander geteilt werden, an denen es tatsächlich relevant ist.

Wenn an einer Stelle etwas unklar ist, kann zudem sofort nachgefragt werden. Das verbessert wiederum das Verständnis für fachliche Zusammenhänge und firmenspezifische Grundsätze. Üblich ist, dass es beim Pair Programming keine festen Teams gibt, die dauerhaft zusammenarbeiten. Im Idealfall wechseln die Teams regelmäßig.

Ziel ist, dass sich das Wissen möglichst gleichmäßig im Team verteilt. Statt Spezialisten für einzelne Themen sollen dadurch vielseitige Mitarbeiter entstehen, die möglichst viele Bereiche des Projekts verstehen und bearbeiten können. Auch zwei Programmierer mit sehr unterschiedlichen Wissensständen sind in bestimmten Situationen eine sinnvolle Kombination für Pair Programming.

Erfahrene Programmierer können beispielsweise während der Arbeit ihr Wissen an jüngere Kollegen weitergeben und allmählich die Kompetenzen im gesamten Team steigern. Auch zum Einarbeiten neuer Mitarbeiter kann Pair Programming hilfreich sein, da die neuen Kollegen so von Anfang an unternehmensspezifisches Wissen in Aktion erleben und selbst anwenden.

Sozialkompetenz im Team steigern

Gute Kommunikation ist eine wichtige Voraussetzung für Paarprogrammierung: Laufend müssen Ideen mitgeteilt und diskutiert werden. Einerseits müssen die Teilnehmer also in der Lage sein, ihre Ideen und Lösungsvorschläge nachvollziehbar in Worte zu fassen. Andererseits müssen sie sachlich mit Kritik umgehen können, damit die Diskussion produktiv bleibt.

Pair Programming zwingt die Teammitglieder gewissermaßen dazu, ständig an ihrer fachlichen Kommunikationsfähigkeit zu arbeiten und ihre Ideen selbstbewusst zu vertreten. Da normalerweise immer wieder neue Partner gemeinsam an einem Problem arbeiten, kann Programmieren im Paar langfristig helfen, ein eingespieltes Team aufzubauen.

(ID:45676197)