L'intero team, un computer, risolvere problemi insieme.
Il mob programming estende il pair programming all'intero team. Invece di due persone a un computer, ci sono da tre a sei persone a un computer.
Sembra assurdamente inefficiente. Cinque persone che fanno il lavoro di digitazione di una? Ma i team che lo provano spesso riportano benefici sorprendenti.
Quando il mobbing funziona bene, il team:
L'osservazione di Woody Zuill
Il pioniere del mob programming Woody Zuill dice: 'Tutte le persone brillanti che lavorano insieme sulla stessa cosa, allo stesso tempo, nello stesso spazio, sullo stesso computer.'
Il mobbing non è per tutto. Usalo per:
Problemi complessi: Quando nessuna singola persona ha tutta la conoscenza necessaria. L'esperienza combinata del mob supera quella di qualsiasi individuo.
Decisioni ad alto rischio: Scelte architetturali, codice sensibile alla sicurezza, cose che influenzano l'intero sistema. Il mobbing riduce il rischio che una persona commetta un errore.
Trasferimento di conoscenza: Quando vuoi che tutti imparino qualcosa simultaneamente. Una nuova tecnologia, un dominio complesso, codice non familiare.
Onboarding: I nuovi membri del team imparano la codebase, i pattern e la cultura—tutto in una volta.
Sbloccare situazioni di stallo: Quando qualcosa è bloccato, prospettive fresche lo sbloccano.
Non fare mobbing su:
Il team deve progettare un nuovo sistema di autenticazione. Fanno mobbing per un giorno: esplorando opzioni, prendendo decisioni, implementando il nucleo. Tutti comprendono il risultato.
Il team fa mobbing per aggiornare file di configurazione e correggere errori di battitura nella documentazione. Nessuno sta imparando nulla. Il lavoro individuale sarebbe più veloce.
Ruoli:
Rotazione:
Navigazione strong-style:
Setup:
Il mobbing funziona da remoto con gli strumenti giusti:
Condivisione schermo: Una persona condivide; tutti guardano. VS Code Live Share o simili per l'editing condiviso.
Video attivo: Vedere i volti aiuta con la comunicazione.
Audio chiaro: Tutti dovrebbero essere in grado di sentire e parlare.
Passaggi espliciti: "Ok, sto passando il controllo della tastiera ad Alice."
Più pause: Il mobbing remoto è ancora più intenso di quello in presenza. Fai pause ogni 45-60 minuti.
Sidebar scritto: Un canale chat per link, note o domande secondarie senza interrompere chi parla.
Il mobbing remoto può funzionare sorprendentemente bene. La struttura forzata (passaggi chiari, comunicazione esplicita) a volte lo rende migliore del mobbing informale in presenza.
Per i mob remoti, usa VS Code Live Share o JetBrains Code With Me. La condivisione schermo standard è troppo lenta per l'editing collaborativo.
Non devi fare mobbing sempre o mai. La maggior parte dei team usa il mobbing in modo selettivo:
Mob per i kickoff: Inizia nuove funzionalità come mob per stabilire la direzione, poi dividi in coppie o lavoro individuale.
Mob per le review: Invece di code review asincrona, rivedi come mob—tutti vedono il codice, lo discutono e lo migliorano insieme.
Mob per l'apprendimento: Quando adotti nuove tecnologie, fai mobbing al primo utilizzo. La conoscenza si diffonde immediatamente.
Lavoro individuale o in coppia per l'implementazione: Una volta che la direzione è chiara, individui o coppie possono eseguire più velocemente.
Pensa al mobbing come a uno strumento, non un impegno. Usalo quando aggiunge valore; usa altri approcci quando sono più appropriati.
La domanda chiave: Questo problema è meglio risolto da molte menti o dalla concentrazione individuale? Lascia che la risposta guidi il tuo approccio.