Pair-Programming


Pair Programming ist die agile Methode, bei der zwei Personen nebeneinander sitzen und Software auf einem Computer entwickeln (das geht natürlich auch remote). In den meisten Pair-Programming-Szenarien schreibt ein Programmierer (der Driver) Code, während der andere (der Navigator) jede Zeile während der Eingabe überprüft und das große Ganze, die Ziele und die Gesamtarchitektur des Projekts im Blick behält. Die Rollen werden regelmäßig getauscht. Studien haben erhoben, dass Pair Programming einen erheblichen Einfluss auf die technische und organisatorische Effektivität und Produktivität des Entwicklungsprozesses hat. Natürlich gibt es neben dem Pair Programming auch weitere Varianten, wie z.B. Mob Programming. (Mob Programming ist ein kollaborativer Ansatz der Softwareentwicklung, bei dem ein Team eine Aufgabe gleichzeitig, meist an einem Ort, an einem einzigen Computer bearbeitet.)






Arten des Pair-Programming

Driver-Navigator-Pairing
Der Fahrer-Navigator-Stil (s.o.) ist der am meisten genutzte Stil und funktioniert gut mit zwei Experten oder einem Experten-Neuling-Paar (Experte übernimmt dabei der Navigator).

Backseat-Navigator-Pairing
Dieser Stil ähnelt dem vorherigen, hier übernimmt der Navigator aber mehr die taktische Rolle des Drivers. Bei der Rücksitznavigation übernimmt der Driver weiterhin die Tastatur und das Tippen, aber der Navigator diktiert syntaktische Anweisungen, wie beispielsweise den Namen einer Variablen oder eine bestimmte Methode. Dieser Stil eignet sich am besten für einen Anfänger als Driver und einem Experten als Navigator, sodass der Neuling durch die Praxis lernen kann.

Ping-Pong-Pairing
Bei diesem Muster schreibt die erste Person einen Test, der derzeit nicht bestanden wird, und die zweite Person muss ihn lösen. Dann schreibt die zweite Person einen nicht bestandenen Test und die erste Person löst ihn. Die Vorteile des Ping-Pong-Pairings bestehen darin, dass es einen häufigen Rollenwechsel ermöglicht und die Entwickler*innen zwingt, sowohl den Codierungs- als auch den Testaspekten der Entwicklung Aufmerksamkeit zu schenken und im Sinne des Test-Driven-Development zu arbeiten. Diese Art des Pair-Programmings funktioniert am besten mit zwei Experten. Es kann aber auch gut mit Anfänger-Experten-Paarung und Anfänger-Anfänger-Paarung funktionieren.

Distributed-Pairing
Ein eher inoffizieller Stil des Pairings, ist das Distributed Pairing. Da die Zusammenarbeit (u.a. bedingt durch die Corona-Pandemie) immer mehr auf remote umgestellt wird, ist dies evtl. der übliche Pair-Programming-Stil der Zukunft. Bei dieser Variante arbeiten beide Personen über einen kollaborativen Echtzeit-Editor, einen freigegebenen Desktop oder ein Remote-IDE-Plugin. Distributed Pair Programming ist natürlich sehr flexibel, bringt jedoch neue Schwierigkeiten mit sich, die mit dem Verlust der persönlichen Kommunikation einhergehen.


No-Gos im Pair Programming


Tipps for Code-Reviews by Angie Jones