Mob Programming, ¿Qué es? ¿Y Qué beneficios tiene en Scrum ?

16/04/2024
En la mayoría de los equipos de desarrollo de producto con quien hemos colaborado, hemos encontrado principalmente problemas en la colaboración entre las personas, ausencia de responsabilidad compartida, falta de dirección, falta de calidad de producto, no había nada de integración continua o despliegue continuo, no habían pruebas automatizadas, de regresión, de integración, unitarias, ni un conjunto mínimo de pruebas funcionales. En varios de estos equipos decidimos introducir Mob Programming, pero, ¿Qué es Mob Programming?
mob programming y scrum

¿Qué es el Mob Programming?

Mob Programming es un enfoque de desarrollo de software en el cual, los desarrolladores en Scrum (para nuestro ejemplo, podría ser eXtreme Programming, Kanban o cualquier otro método o marco de trabajo ágil) trabaja en una única tarea (WIP = 1), al mismo tiempo, en el mismo espacio y en un único ordenador, por lo menos cuando se hace en presencial, si es en modo online, es posible que encontremos variaciones, aunque en este artículo hablaremos del Mob Programming como lo hemos conocido y experimentado: en presencial.

Este enfoque lleva el concepto de Pair Programming a otro nivel aún más extremo, si eres de las personas que piensa que el pair programming no es productivo y no aporta en desarrollo de software, este artículo no es para ti 😉. El mob Programming va más allá de la programación, tiene muchos beneficios al trabajar juntos como: definir las historias de usuarios, comunicación, asertividad, colaboración, trabajar con stakeholders, diseñar, probar, desplegar, entregar, etc. 

¿Cómo funciona el Mob Programming?

Principalmente hay dos roles: Driver (o conductor) y Navigator (o pasajero), cuando la persona es Driver, tiene el poder del teclado y es quien escribe y teclea las partes del código. Los Navigators debaten la idea que luego pasarán y guiarán al conductor para crear las partes de código necesarias. Es verdad que el Driver parece realizar un trabajo más mecánico, pero cuidado, debe de estar atento y realizar escucha activa constantemente.

Al expresar verbalmente las ideas por parte de los Navigators, nos aseguramos que todo el equipo entienda la idea, retos, solución, etc. Esto permite florecer la inteligencia colectiva de todo el equipo, mejorar la comunicación y expandir el conocimiento.

Para que una persona no se haga control total del teclado, se suele utilizar un sistema de rotación de entre 10 a 15 minutos, donde, cada 15 minutos por ejemplo, otra persona de entre los Navigators pasa a ser el Driver y el anterior Driver pasa a ser un Navigator.

En nuestro caso nos funcionó mejor 15 minutos que 5 o 10 y para mayor agilidad, habíamos creado una lista en google sheet con un Google Script que nos avisa de la siguiente persona a ser Driver.

¿Beneficios del Mop Programming en equipos Scrum?

Mob Programming tiene muchos beneficios, aquí van unos ejemplos:

  • Expandir el conocimiento sobre el desarrollo de producto
  • Impulsar una cultura de feedback
  • Comunicación cara a cara
  • Escucha activa
  • Se reducen o se eliminar los cambios de contexto
  • Alineamiento a nivel de codificación y estilos de programación
  • Aumento de la calidad
  • Reducir el Cycle Time
  • Mejorar la colaboración
El propósito del Mob Programming no es dividir el tiempo de trabajo de una persona de una tarea entre los miembros de un equipo

Nuestra experiencia y retos con Mop Programming

En nuestra experiencia utilizando Mob Programming nos hemos encontrado con los siguiente retos:

  • Personas con diferentes estilos de programación o creación de productos
  • En relación al punto anterior: Mucho ego, no había ni intención de colaborar ni ver lado o lados buenos de otros compañeros.
  • Personas en el Scrum Team que no son programadores, donde no se sentían cómodos cuando les tocaba ser Drivers.
  • Mucho rechazo a la idea de introducir Mob Programming, ya que supone salir de la zona de confort de muchos: no intentes forzarles, vendeles la idea y los beneficios de Mob Programming, para ello realiza un Workshop sobre cómo funciona Mob Programming

Para acabar, solo quiero matizar que Mob Programming no está ligado a Scrum, Kanban, eXtreme Programming, Sprints o Iteraciones, es un enfoque de trabajo en equipo para crear soluciones impulsando la inteligencia colectiva.

¿Te ha gustado este contenido?

¡Valora este contenido!

Promedio de puntuación 5 / 5. Recuento de votos: 1

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Escrito por: Youssef Oufaska
Amo las actividades en familia, aficionado a la salsa cubana, bachata dominicana, desarrollo de productos digitales y la programación

Otras publicaciones

Apúntate a la newsletter

Apúntate a la newsletter

Manténte informado sobre todo lo relacionado con Agile Product Management, Scrum, Management 3.0 y Kanban

¡Mensaje enviado!

Applying Flow Metrics for Scrum

By ProKanban.org

Código de descuento (21 %) QAF1UZZ1

You have Successfully Subscribed!