Pair Programming ist eine Praktik der Softwareentwicklung, bei der zwei Personen gemeinsam an einem Rechner an demselben Stück Code arbeiten. Eine Person übernimmt die Rolle des "Drivers", der tippt, die andere die des "Navigators", der mitdenkt, Fehler erkennt und über Strategie und Design nachdenkt. Die Rollen werden regelmäßig getauscht.
Die Praktik wird sowohl in präsenzbasierten als auch in Remote-Setups eingesetzt, etwa über IDE-Plugins wie Visual Studio Live Share, JetBrains Code With Me oder GitHub Codespaces. Varianten sind Ping-Pong-Pairing (im Wechsel Test schreiben und implementieren) und Mob Programming, bei dem ein ganzes Team am gleichen Code arbeitet.
Einsatzzweck ist die kontinuierliche Code-Review, die sofortige Wissensverteilung und die Verbesserung des Designs durch zwei Perspektiven. Komplexe Probleme werden gemeinsam durchdacht; Konzentrationsverluste oder Tunnelblicke werden früh erkannt. Außerdem werden Entscheidungen direkt diskutiert und nicht erst Stunden später im Review nachverhandelt.
Pair Programming wurde als Praktik von eXtreme Programming (XP) Ende der 1990er Jahre durch Kent Beck und Ward Cunningham popularisiert. Bereits in den 1950er Jahren ist von vergleichbaren Arbeitsweisen berichtet worden - Fred Brooks etwa beschreibt im "Mythical Man-Month" das gemeinsame Arbeiten von Chefprogrammierer und Co-Pilot.
Der empirische Nutzen ist Gegenstand zahlreicher Studien. Während Defektraten und Wissensverteilung typischerweise verbessert werden, ist der Mehraufwand an Personenstunden umstritten - Effizienzgewinne entstehen vor allem in komplexen, neuartigen Aufgaben, weniger in einfachen, repetitiven Tätigkeiten.
Bei bluehands ist Pair Programming gelebte Praxis und führt zu deutlichen Effizienz-Gewinnen.