🧑💻 Guía Mob Programming
“All the brilliant people working on the same thing, at the same time, in the same place, and on the same computer.”
— Woody Zuill
Bienvenido al mundo del Mob Programming: una metodología en la que todo el equipo de desarrollo se reúne frente a una sola computadora para trabajar de forma colaborativa y en tiempo real. Aquí aprenderás cómo esta práctica puede mejorar la comunicación y la calidad del código. 🚀
¿Qué es Mob Programming?
Mob Programming consiste en que el equipo completo se reúna frente a una única computadora y colabore activamente en el desarrollo de software. Esta técnica busca potenciar la creatividad y el conocimiento colectivo para generar soluciones de valor, manteniendo siempre el enfoque en la calidad del producto. 💡
Estructura del Mob
¿Cuántos participan?
- Equipo: Generalmente, de 3 a 8 personas. Con más integrantes, la coordinación se vuelve más compleja. 👥
Roles en la sesión
Driver (las manos del equipo ⌨️)
- Es la persona que escribe el código, siguiendo las indicaciones del grupo.
- No toma decisiones, sino que ejecuta las ideas propuestas por los demás.
Navigators (las mentes 🧠)
- Se encargan de guiar al Driver indicando qué código escribir y cómo implementarlo.
- Pueden aportar ideas, sugerir mejoras y ayudar a identificar posibles errores.
Designated Navigator (la voz organizadora 📣)
- Organiza y prioriza las ideas del grupo para comunicarlas al Driver.
- Facilita la transformación de conceptos en código y coordina tareas repetitivas o automáticas.
Facilitator (opcional 🤝)
- Asegura que la sesión se desarrolle de forma fluida y que todos los miembros estén alineados.
- No participa directamente en la programación, sino que se enfoca en la dinámica del equipo.
Rotaciones
- Para principiantes: Se recomienda cambiar de rol cada 2 a 4 minutos.
- Para equipos experimentados: El cambio puede extenderse hasta 15 minutos.
- Es importante usar un temporizador ⏲️ para garantizar que todos tengan la oportunidad de contribuir.
Modelos de sesión
- Time-boxed: Sesiones en sala con duración limitada, por ejemplo, 2 horas. Ideal para iniciar.
- Continuous: Mobbing de forma continua, con un máximo de 6 horas para mantener la productividad sin saturar al equipo. 🔄
Reglas del juego
- Rotar roles: Quien tiene el teclado debe cederlo al siguiente para dar oportunidad a todos.
- Construir sobre lo trabajado: No se borran esfuerzos anteriores; se mejora y se continúa.
- Colaboración activa: Las decisiones se toman en conjunto y se reflejan en la escritura del código.
- Pensamiento abstracto: Se fomenta expresar ideas de forma conceptual antes de traducirlas a código.
- Acción y aprendizaje: Se valora tanto la experimentación en el código como el proceso de aprendizaje colectivo.
- Respeto mutuo: Cada miembro del equipo es ✨ valioso ✨ y se debe crear un ambiente en el que todos se sientan cómodos para aportar.
Consejos para cada rol
Para el Driver:
- Solicita aclaraciones cuando sea necesario.
- Experimenta con nuevos atajos de teclado.
- Señala posibles problemas en el código, como redundancias o nombres poco claros.
Para el Designated Navigator:
- Invita a todos a compartir ideas.
- Organiza las propuestas del equipo y comunícalas claramente al Driver.
- Comparte información relevante y automatiza tareas repetitivas cuando sea posible.
Para los Navigators:
- Escucha activamente y contribuye con ideas.
- Utiliza la pizarra para registrar alternativas y soluciones.
- No dudes en hacer preguntas hasta entender completamente el proceso.
Para el Facilitador:
- Asegura que se cumplan las reglas del mob.
- Verifica que cada miembro se mantenga en su rol.
¿Qué hacer si trabajas de forma remota?
Mob Programming también funciona de forma remota. Ten en cuenta lo siguiente:
- Mantén las cámaras encendidas para favorecer la comunicación visual. 📹
- Usa herramientas como Git Handover para compartir el progreso.
- Opta por equipos pequeños (idealmente 4 personas) y organiza reuniones de integración periódicas.
- Asegúrate de contar con una buena conexión y, por supuesto, ¡no olvides el café! ☕
Pomodoro: gestionando descansos
Descansos cortos (6 minutos):
- Tómate un breve respiro, estira las piernas y aprovecha para cambiar de rol.
- Revisa si la tarea actual sigue siendo la prioridad y ajusta según sea necesario.
Descansos largos:
- Responde correos o atiende llamadas.
- Revisa redes sociales de forma breve o comparte algún contenido interesante.
- Utiliza este tiempo para despejarte antes de retomar la sesión. 🌿
Evaluación del equipo
Llevar un registro anónimo mensual permite recoger feedback y medir el crecimiento individual y colectivo. Esta práctica contribuye a mejorar la dinámica y resolver posibles conflictos a tiempo. 📊
Recursos recomendados
Libros
Artículos
- Shopify Engineering sobre Mob Programming
- Experiencia en Grupo Esfera
- Mob Programming y Pomodoro en New Relic
- Pair Programming como herramienta educativa
Estudios
Conclusión
Mob Programming no es para todos, pero puede ser una experiencia muy enriquecedora. Pruébalo para descubrir nuevas formas de colaborar y aprender en equipo. ¿Te animas a probarlo? 🤔