Le Peer Programming (ou Pair Programming) est une technique où deux développeurs travaillent ensemble sur le même code.
Rôles :
-
Driver (Conducteur)
- Écrit le code
- Focus tactique
-
Navigator (Navigateur)
- Revoit le code en temps réel
- Pense stratégique
- Suggère améliorations
Rotation :
Échange régulier des rôles (toutes les 15-30 min)
Styles de pair programming :
- Driver-Navigator : Classique
- Ping Pong : TDD à deux (test → code → refacto)
- Strong-style : Navigator dicte, driver exécute
Avantages :
- Qualité : Moins de bugs
- Connaissances : Partage compétences
- Onboarding : Formation efficace
- Focus : Moins de distractions
- Design : Meilleures décisions
Inconvénients :
- Coût : 2 devs sur 1 tâche
- Fatigue : Intense mentalement
- Compatibilité : Nécessite bonne entente
Quand l'utiliser :
- Problèmes complexes
- Onboarding junior
- Code critique
- Apprentissage nouvelle techno
Pratique clé de l'Extreme Programming (XP) "Two heads are better than one"