mob programming

25
MOB PROGRAMMING como forma de auto organización de un equipo SCRUM

Upload: scrumecuador

Post on 06-Aug-2015

127 views

Category:

Technology


1 download

TRANSCRIPT

MOB  PROGRAMMING    como  forma  de  auto-­‐  organización  

de  un  equipo  SCRUM

Oscar  Amelunge

4

5

6

Problema……..

9

Complejidad  Accidental

Complejidad  Esencial

FRED  BROOKS  "No  Silver  Bullet  —  Essence  and    

Accidents  of  Software  Engineering"    1986

10

11

“En lugar de que cada miembro haga cortes sobre el problema, uno sólo hace el corte y los demás le dan todo el soporte posible, lo que mejorará la eficiencia y productividad de toda la actividad”

F. Brooks, Cap2, The Mythical Man-Month 1975

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  una  tarea  similar  

Problemas  del  MOB• Navigators  “Pasivos”.  

• Puede  no  ser  productivo  para  historias  de  usuarios  simples.  

• Los  Drivers  “Genios”  

• Los  Navigators  “Teóricos  que  saben  como  resolver  el  problema”  

• Si  la  visión  de  la  empresa  es  Horas/Hombre,  va  a  ser  un  desastre  

• Problemas  Técnicos

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.  

• Se  eliminan  los  silos  de  conocimiento.  

• Nadie  es  indispensable  en  el  equipo.

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.

@oscaramelunge

[email protected]

oscar.amelunge

www.amelunge.com