MOB PROGRAMMING como forma de auto- organizacion
de un equipo AGILE
Oscar Amelunge
• “ Where one person might be weak, someone else was strong.”
•“Si quieres ir rápido ve solo, si quieres ir lejos ve acompañado”
•Historia de usuario MUY CORTA•Historia de usuario MUY LARGA•Historia de usuario MUY, MUY MUY LARGA
MOB PROGRAMMING
“Mob programming is a software development approach where the whole team works on the same thing at the same time, in the same space, and at the same computer.”
Woody Zuill
Principle
“Treat each other with kindness, consideration, and respect.”
Practice
Driver/navigator pair programming adapted to work with the whole team
Practice
Timed Rotation
Practice
Practice: Whole Team
Practice:Reflect, Tune, and Adjust Frequently
Donde Aplicamos MOB
1. Historias de usuario que son muy grandes no se puede partir.
2. No todos los miembros del equipo son expertos en la historias de usuario o no tienen la habilidades para desarrollar toda la historia de usuario.
Historias Grandes
1. Brainstorming para generar ideas de por donde empezamos.
2. Dividir la historias(tareas) en posibles tareas (sub-tareas)
3. Empezar a trabajar las tareas menos claras.
4. Volver al paso 1 si las tareas son muy grandes
5. Codificar (Se recomienda TDD)
Recomendación: Tener siempre a mano al P.O. o experto del negocio
Falta de habilidades
1. Una tarea seleccionada es trabajada por un “driver expert”.
2. Los “navigators dummy” observan
3. Se termina la tarea y se discute y conceptualiza que se realice
4. “Borro todo el código” y el “navigator dummy” se vuelve a tartar de escribir todo.
4. El “navigator dummy” hace unatarea similar
Problemas del MOB
• Navigators “Pasivos”.
• Puede no ser productivo para historias de usuarios simples.
• Los Drivers “Genios”
• Los Navigators “Teoricos que saben como resolver el problema”
• Si la visión de la empresa es Horas/Hombre, va a ser un desastre
• Problemas Tecnicos
Beneficios• El código tiene el talento y el ingenio
de todo el equipo.
• Implícitamente se da el code review
• Si la empresa se enfoca en el valor de negocio es genial.
• Se genera un proceso de aprendizaje técnico y del negocio.
• Se optimiza la productividad al trabajar todos en una maquina.
Conclusiones
• Mob funciona cuando las personas se respetan, colaboran y están dispuestas a aprender y enseñar.
• Mob se nos da muy bien para trabajar historias de usuario Grandes y de alto valor de negocio.
• Mob facilito el proceso de aprendizaje de los miembros del equipo en el negocio o en lo tecnológico.
• Mob no siempre es bien visto por los directivos de la empresa
• Mob no es un SilverBullet.