Appearance
Pair Programming β
Zusammenfassung β
Pair Programming ist eine agile Entwicklungspraktik, bei der zwei Entwickler gemeinsam an einer Aufgabe arbeiten. Eine Person schreibt Code (Driver), die andere ΓΌberwacht und denkt kritisch mit (Navigator) β Rollen werden regelmΓ€Γig gewechselt.
Kernkonzept β
Driver und Navigator: Der Driver sitzt am Keyboard und schreibt Code. Der Navigator schaut ΓΌber die Schulter, denkt strategisch, entdeckt Fehler und plant die nΓ€chsten Schritte. Diese Rollen sollten alle 15-30 Minuten wechseln.
Gemeinsames Problem-Solving: Zwei Gehirne sind besser als eins. Durch den stΓ€ndigen Dialog entstehen bessere LΓΆsungen, mehr Tests und weniger Bugs. Der stΓ€ndige Austausch verhindert Tunnelblick.
Wissenstransfer in Echtzeit: Weniger erfahrene Entwickler lernen direkt vom Senior. Architektur-Wissen, Coding-Standards und Best Practices werden organisch weitergegeben β schneller als in Code Reviews.
Code-Beispiel β
java
// Driver schreibt den Code
public class PaymentProcessor {
// Navigator fragt: "Haben wir das auch fΓΌr null-Werte getestet?"
public boolean processPayment(Payment payment) {
if (payment == null) { // β Driver fΓΌgt hinzu, weil Navigator es erwΓ€hnt
throw new IllegalArgumentException("Payment darf nicht null sein");
}
// Driver und Navigator diskutieren gemeinsam ΓΌber die beste Fehlerbehandlung
try {
return validateAndCharge(payment);
} catch (PaymentException e) {
// Navigator schlΓ€gt vor: "Lass uns das auch loggen"
logger.error("Payment fehlgeschlagen fΓΌr: " + payment.getId(), e);
return false;
}
}
}Wichtige Punkte β
- Rollen aktiv wechseln (15-30 Min): Beide lernen fahren & Navigation
- Offene Kommunikation ist essentiell β aktiv nachfragen statt nur zuschauen
- Nicht zuschauen, sondern denken: Navigator denkt einen Schritt voraus
- FΓΌr komplexe Probleme ideal: Bei trivialen Tasks kann es Zeit verschwenden
- Reduziert Code-Review-Bottleneck: Code ist bereits peer-reviewed wΓ€hrend des Schreibens
Klassische Fragen β
Ist Pair Programming nicht Zeitverschwendung? β
Nein β zwar sitzt man zu zweit, aber die resultierende Code-QualitΓ€t ist hΓΆher, es entstehen weniger Bugs und weniger Zeit geht fΓΌr Code Reviews drauf. Studien zeigen: Pair Programming dauert 15% lΓ€nger, produziert aber 15% weniger Fehler.
Wann sollte man Pair Programming nicht nutzen? β
Bei simplen, strukturierten Aufgaben (z.B. Konfigurationsdateien Γ€ndern, einfache UI-Anpassungen). Sinnvoll ist Pair Programming bei: neuen Features, kritischen Bugfixes, Architektur-Entscheidungen und fΓΌr Onboarding.
Wie kann man Remote Pair Programming effektiv gestalten? β
Nutze Screen Sharing + Video Call + gemeinsame IDE-Tools (VS Code Live Share, IntelliJ Code With Me). Die Latenz ist niedrig, Rollen sind trotzdem klar erkennbar. Voraussetzung: stabile Internetverbindung & psychologische Sicherheit.
Wusstest du schon? β
Pair Programming wurde populΓ€r durch Extreme Programming (XP), entwickelt in den 1990ern. Kent Beck und sein Team bei Chrysler programmierte die gesamte Codebasis zu zweit β mit drastisch besseren Ergebnissen. Viele Entwickler dachten damals: βDas ist Wahnsinn!" π Heute ein bewΓ€hrter Standard in agilen Teams.