Toute l'équipe, un ordinateur, résoudre des problèmes ensemble.
La programmation en mob étend la programmation en binôme à toute l'équipe. Au lieu de deux personnes à un ordinateur, vous avez trois à six personnes à un ordinateur.
Cela semble absurdement inefficace. Cinq personnes qui font la saisie d'une seule personne? Mais les équipes qui l'essaient rapportent souvent des avantages surprenants.
Quand le mob fonctionne bien, l'équipe :
Observation de Woody Zuill
Le pionnier de la programmation en mob Woody Zuill dit : « Toutes les personnes brillantes travaillant ensemble sur la même chose, en même temps, dans le même espace, sur le même ordinateur. »
Le mob n'est pas pour tout. Utilisez-le pour :
Problèmes complexes : Quand aucune personne n'a toutes les connaissances nécessaires. L'expertise combinée du mob dépasse celle de n'importe quel individu.
Décisions à enjeux élevés : Choix d'architecture, code sensible à la sécurité, choses qui affectent tout le système. Le mob réduit le risque qu'une personne fasse une erreur.
Transfert de connaissances : Quand vous voulez que tout le monde apprenne quelque chose simultanément. Une nouvelle technologie, un domaine complexe, du code inconnu.
Intégration : Les nouveaux membres de l'équipe apprennent la base de code, les modèles et la culture — tout en même temps.
Débloquer des impasses : Quand quelque chose est bloqué, de nouvelles perspectives le débloquent.
Ne faites pas de mob sur :
L'équipe doit concevoir un nouveau système d'authentification. Ils font du mob pendant une journée : explorer les options, prendre des décisions, implémenter le noyau. Tout le monde comprend le résultat.
L'équipe fait du mob pour mettre à jour des fichiers de configuration et corriger des fautes de frappe dans la documentation. Personne n'apprend quoi que ce soit. Le travail individuel serait plus rapide.
Rôles :
Rotation :
Navigation de style fort :
Configuration :
Le mob fonctionne à distance avec les bons outils :
Partage d'écran : Une personne partage; tout le monde regarde. VS Code Live Share ou similaire pour l'édition partagée.
Vidéo activée : Voir les visages aide à la communication.
Audio clair : Tout le monde devrait pouvoir entendre et parler.
Transferts explicites : « D'accord, je passe le contrôle du clavier à Alice. »
Plus de pauses : Le mob à distance est encore plus intense qu'en personne. Prenez des pauses toutes les 45 à 60 minutes.
Barre latérale écrite : Un canal de discussion pour les liens, notes ou questions secondaires sans interrompre l'orateur.
Le mob à distance peut fonctionner étonnamment bien. La structure forcée (transferts clairs, communication explicite) le rend parfois meilleur que le mob informel en personne.
Pour les mobs à distance, utilisez VS Code Live Share ou JetBrains Code With Me. Le partage d'écran standard est trop lent pour l'édition collaborative.
Vous n'avez pas à faire du mob tout le temps ou jamais. La plupart des équipes utilisent le mob de manière sélective :
Mob pour les lancements : Commencez de nouvelles fonctionnalités en mob pour établir la direction, puis divisez-vous en binômes ou en solo.
Mob pour les revues : Au lieu de revue de code asynchrone, révisez en mob — tout le monde voit le code, en discute et l'améliore ensemble.
Mob pour l'apprentissage : Lors de l'adoption d'une nouvelle technologie, faites du mob lors de la première utilisation. Les connaissances se diffusent immédiatement.
Solo ou binôme pour l'implémentation : Une fois la direction claire, les individus ou les binômes peuvent exécuter plus rapidement.
Pensez au mob comme un outil, pas un engagement. Utilisez-le quand il ajoute de la valeur; utilisez d'autres approches quand elles sont plus appropriées.
La question clé : Ce problème est-il mieux résolu par plusieurs esprits ou par une concentration individuelle? Laissez la réponse guider votre approche.