Todo el equipo, una computadora, resolviendo problemas juntos.
Mob programming extiende la programación en pareja a todo el equipo. En lugar de dos personas en una computadora, tienes de tres a seis personas en una computadora.
Esto suena absurdamente ineficiente. ¿Cinco personas haciendo el trabajo de escritura de una persona? Pero los equipos que lo prueban a menudo reportan beneficios sorprendentes.
Cuando el mobbing funciona bien, el equipo:
Observación de Woody Zuill
El pionero del mob programming Woody Zuill dice: 'Todas las personas brillantes trabajando juntas en lo mismo, al mismo tiempo, en el mismo espacio, en la misma computadora.'
El mobbing no es para todo. Úsalo para:
Problemas complejos: Cuando ninguna persona tiene todo el conocimiento necesario. La experiencia combinada del mob supera a cualquier individuo.
Decisiones de alto riesgo: Elecciones de arquitectura, código sensible a seguridad, cosas que afectan todo el sistema. El mobbing reduce el riesgo de que una persona cometa un error.
Transferencia de conocimiento: Cuando quieres que todos aprendan algo simultáneamente. Una nueva tecnología, un dominio complejo, código desconocido.
Incorporación: Los nuevos miembros del equipo aprenden la base de código, los patrones y la cultura—todo a la vez.
Romper bloqueos: Cuando algo está atascado, las perspectivas frescas lo desbloquean.
No hagas mobbing en:
El equipo necesita diseñar un nuevo sistema de autenticación. Hacen mobbing por un día: explorando opciones, tomando decisiones, implementando el núcleo. Todos entienden el resultado.
El equipo hace mobbing para actualizar archivos de configuración y corregir errores tipográficos en la documentación. Nadie está aprendiendo nada. El trabajo individual sería más rápido.
Roles:
Rotación:
Navegación de estilo fuerte:
Configuración:
El mobbing funciona remotamente con las herramientas correctas:
Compartir pantalla: Una persona comparte; todos miran. VS Code Live Share o similar para edición compartida.
Video encendido: Ver caras ayuda con la comunicación.
Audio claro: Todos deberían poder escuchar y hablar.
Transferencias explícitas: "Bien, estoy pasando el control del teclado a Alice."
Más descansos: El mobbing remoto es aún más intenso que el presencial. Toma descansos cada 45-60 minutos.
Barra lateral escrita: Un canal de chat para enlaces, notas o preguntas secundarias sin interrumpir al hablante.
El mobbing remoto puede funcionar sorprendentemente bien. La estructura forzada (transferencias claras, comunicación explícita) a veces lo hace mejor que el mobbing presencial casual.
Para mobs remotos, usa VS Code Live Share o JetBrains Code With Me. Compartir pantalla estándar es demasiado lento para edición colaborativa.
No tienes que hacer mobbing todo el tiempo o nunca. La mayoría de los equipos usan mobbing selectivamente:
Mob para inicios: Comienza nuevas funcionalidades como un mob para establecer dirección, luego divide en parejas o solo.
Mob para revisiones: En lugar de revisión de código asíncrona, revisa como un mob—todos ven el código, lo discuten y lo mejoran juntos.
Mob para aprender: Al adoptar nueva tecnología, haz mobbing en el primer uso. El conocimiento se difunde inmediatamente.
Solo o en pareja para implementación: Una vez que la dirección está clara, los individuos o parejas pueden ejecutar más rápido.
Piensa en el mobbing como una herramienta, no un compromiso. Úsalo cuando agregue valor; usa otros enfoques cuando sean más apropiados.
La pregunta clave: ¿Este problema se resuelve mejor con muchas mentes o con enfoque individual? Deja que la respuesta guíe tu enfoque.