Suchen

Zwei Entwickler, ein Quellcode Pair Programming – die Vorteile und Fallstricke

| Autor / Redakteur: Dr. Stephan Hagemann * / Stephan Augsten

Die gemeinsame Arbeit von zwei Personen an einem Quellcode: Das ist Pair Programming. Die Methode hilft, bessere Software-Produkte zu bauen. Der Erfolg basiert dabei auf einer Reihe von wichtigen Voraussetzungen.

Firmen zum Thema

Vier Augen sehen mehr als zwei: Beim Pair Programming kümmern sich zwei Personen um denselben Quellcode.
Vier Augen sehen mehr als zwei: Beim Pair Programming kümmern sich zwei Personen um denselben Quellcode.
(Bild: StartupStockPhotos.com / CC0 )

Entwicklungsabteilungen sind immer mehr im Zugzwang: Bessere Software immer schneller bereitzustellen, ist im Zuge der Digitalisierung längst zu einem der wichtigsten Wettbewerbsvorteile geworden. Kaum ein Unternehmen kann es sich mehr leisten, ein, zwei Jahre an einem Produkt zu arbeiten, bevor es auf den Markt kommt – oft ist dann schon überholt.

Die Herausforderung, gute Software in immer kürzerer Zeit zu bauen, führt viele Organisationen hin zum Pair Programming. Kombiniert mit Elementen des Lean-Startup-Konzepts beschleunigt und verbessert es die Softwareentwicklung erheblich. Hinter dem Stichwort „Pair Programming” verbirgt sich eine Arbeitsweise, bei der jeweils zwei Personen an einem Rechner sitzen und gemeinsam an einem Stück Quellcode arbeiten, gleichberechtigt: Es gibt einen Computer, zwei Monitore, zwei Mäuse.

Dabei geht es aber nicht in erster Linie um die direkte Kontrolle des entstehenden Codes. Im Vordergrund steht, dass der Quellcode wirklich gemeinschaftlich entwickelt wird und auf diese Weise eine möglichst optimale Lösung entsteht. Dass zwei Programmierer an einem Stück Code arbeiten, entspricht dabei dem reinen, klassischen Pair Programming.

Erst neue Ansätze aus dem Lean-Startup-Bereich lassen die Softwareentwicklung jedoch näher an den tatsächlichen Bedarf der Kunden und User rücken: Der Partner des Programmierers kann genauso gut ein Designer oder Product Manager sein – und ist es im Idealfall auch. Die zentralen, verbindenden Elemente des neuen Ansatzes sind dabei immer zum einen Feedback-Schleifen, zum anderen ein ausbalanciertes Team, das sich aus Experten verschiedener Disziplinen zusammensetzt.

Vorteile und Fallstricke

Die wichtigsten Vorteile dieser Art der Programmierung sind eine effektivere Problemlösung, eine höhere Code-Qualität und eine geringere Fehleranfälligkeit der Ergebnisse. Beim Pair Programming bearbeiten zwei Entwickler ein Problem und tauschen sich über ihre Vorgehensweise aus. Deshalb ist die gefundene Lösung häufig deutlich besser als bei einem einzelnen Entwickler.

Da während der Entwicklung eine Art ständiger Code-Review stattfindet, bewirkt die Entwicklungsmethode eine größere Effizienz der Arbeit und senkt die Folgekosten. Denn je später ein Fehler entdeckt wird, desto teurer wird seine Behebung. Oft entsteht durch die enge Zusammenarbeit ein enorm produktives, extrem konzentriertes Arbeitsumfeld. Letztlich steigt die Zufriedenheit der Entwickler, da sie insgesamt besser arbeiten.

Von der Methodik profitiert auch der Wissenstransfer innerhalb größerer Teams. Wenn ein ganzes Entwicklungsteam mit ihr arbeitet und die Pairing-Partner in kurzen Abständen wechseln, können sich alle Entwickler Wissen über die gesamte Codebasis erarbeiten. So kommt es etwa bei Krankheit von Mitarbeitern nicht zu Problemen. Außerdem eignet sich Pair Programming auch für die rasche und effiziente Einarbeitung eines Junior-Developers in eine Codebasis oder ein Entwicklungsproblem.

Doch diese Methode hat auch ihre Fallstricke. So führt sie zu einer geringeren Arbeitsgeschwindigkeit bei der Programmierung, verglichen mit zwei getrennt arbeitenden Entwicklern. In der Praxis setzt ein Zweierteam eine Aufgabe im Vergleich zu einer Einzelperson nicht etwa doppelt so schnell um. Laut wissenschaftlicher Studien arbeiten sie etwa mit der 1,7-fachen Geschwindigkeit. Allerdings steigt die Produktivität insgesamt, da die technische und fachliche Qualität des erzeugten Quellcodes höher ist.

Ein zweiter Punkt liegt im Bereich der Zusammenarbeit. Die Projektpartner müssen sehr eng zusammenarbeiten, was unter Umständen zu Konflikten führen kann. Die stärkere Kommunikation kann als sehr intensiv wahrgenommen werden. Zudem passen sicher nicht beliebige Paare zusammen.

Unterschiede im Arbeitsstil oder auch nur eine etwas andere Auffassung von Einrichtung des Arbeitsplatzes können zu Konflikten führen. Aus diesem Grund ist eine der wichtigsten Eigenschaften von Pivots – der Entwickler bei Pivotal und all jener, die den Pivotal-Stil der Software-Entwicklung übernehmen – eine hohe Empathie.

Voraussetzungen für Pair Programming

Pair Programming einzuführen benötigt darüber hinaus etwas Zeit. In der Anfangszeit sollte eine Phase der Teambildung vorgesehen werden, während der die Arbeitsproduktivität sicher noch nicht das Maximum erreicht. Erst bei einem gut eingespielten Team zeigt die Methode ihre Überlegenheit gegenüber der Einzelarbeit.

Entscheidend ist außerdem die Art der Entwicklungsaufgaben. Pair Programming eignet sich besonders für schwierige und geschäftskritische Aufgaben mit hohem Fehlerrisiko. Gerade wenn die Entwicklungsabteilung unter dem Druck steht, in möglichst kurzer Zeit ein möglichst gutes Ergebnis zu liefern, ist Pair Programming eine hervorragende Alternative zu anderen Methoden.

Die Unternehmen müssen darüber hinaus organisatorische Voraussetzungen erfüllen, denn die Arbeitssituation ist anders als traditionell in der Einzelentwicklung. Pair Programming ist mental herausfordernd, denn die Entwickler arbeiten sehr konzentriert. Alle Handlungen werden vom Partner direkt nachvollzogen und oft auch infrage gestellt. Regelmäßige bewusste Pausen gehören daher zum Prozess dazu.

In den Büroräumen von Pivotal, dem Enterprise-Software-Start-up aus dem Silicon Valley und Pionier der agilen Softwareentwicklung, gehört daher zum Beispiel ein Tischtennistisch zum Ping-Pong-Spielen zur Grundausstattung. Die andersartigen Körper- und Augenbewegungen der Spieler helfen die Partien zu entspannen, die beim Coden besonders beansprucht werden.

Dr. Stephan Hagemann
Dr. Stephan Hagemann
(Bild: Pivotal)

Aus langer Praxiserfahrung wird deutlich: Pair Programming ist insbesondere für anspruchsvolle Aufgaben geeignet und unterstützt zudem den schnellen Wissenstransfer sowie die rasche Einarbeitung neuer Mitarbeiter. Aus Sicht des Controllings wirkt die Methode aufwendig, doch die Vorgehensweise zahlt sich aus: Der Wartungsaufwand sinkt, die Einarbeitungszeiten sind kürzer, die Softwarequalität ist höher und das Produkt kann schneller gelauncht werden – ein zentrales Kriterium im Wettbewerb der Software-getriebenen Unternehmen der digitalen Wirtschaft.

* Dr. Stephan Hagemann ist Director bei Pivotal.

(ID:44738006)