2. ABOUT ME
VPoE & Co-Founder Welcu Inc.
Estudiante Ingeniería
Miembro de ∞ comunidades
@sagmor
seba@welcu.com
3. MOTIVACIÓN
• ¿Cómo lograr que mi equipo haga un buen
trabajo y a la vez lo “pase bien”?
• Hay dos tipos de trabajo
• Repetir una receta conocida: “manufactura”
• Crear un nuevo producto
7. PROPUESTA: LEAN THINKING
• Inspirado en el “Conocimiento
Profundo” y los “14 puntos”
de W. Edwards Deming
Manufactura
• Toyota Production System
Desarrollo Nuevos Productos
• Toyota Product Development
System
8. LEAN SOFTWARE DEVELOPMENT
• Mary y Tom Poppendieck,
“Lean Software Development”, 2003
• Define las bases teóricas de las
metodologías ágiles, a partir del lean
thinking
• Filosofía de gestión inspirada en el Toyota Product
Development System
9. HIPÓTESIS DE LEAN SOFTWARE
DEVELOPMENT
• Existe un conjunto simple de principios que,
al ser seguidos por un equipo de desarrollo
de nuevo producto, genera un
comportamiento auto-organizado
10. AUTO-ORGANIZACIÓN
• Pocos principios fundamentales, que apoyan la toma
de decisiones en terreno
• Al compartir los principios, el equipo se auto-
organiza
• Base para equipos de
Alto Rendimiento
11. LA VIDA EMERGE EN EL FILO DEL CAOS
Inflexibilidad Caos
Empoderamiento Alineamiento
+ atribuciones
+ confianza
+ valores
+ principios
Filo del Caos
Sistemas Adaptativos Complejos
13. ¿CÓMO SE ORGANIZAN LAS HORMIGAS PARA
BUSCAR ALIMENTO?
• Dos reglas simples
• Marcar el camino
• De ida
• De vuelta
• Seguir el camino con más marcas
• Reglas simples que inducen un comportamiento auto-organizado
14. PRINCIPIOS Y PRÁCTICAS
• Prácticas Ágiles
• Test Driven Development
• Planning Game,
• Pair Programming,
• etc.
• Ellas se generan
a partir de principios,
• sobre las que están basados
Principios
17. CURVA DE VALOR DE UN PROYECTO
• Si diferimos el compromiso hasta el último momento
responsable, creamos conocimiento y entregamos
rápido, la curva de valor/aprendizaje de un proyecto
cambiará así
18. ¿CÓMO TENDRÍAMOS QUE TRAZAR LAS SENDAS
PEATONALES SOBRE EL CÉSPED DE UN CAMPUS?
• ¡No trazar ningún
sendero!
• ¡Al final de año las
partes más gastadas
nos indicarán las
sendas a pavimentar!
• Principio:
• Diferir compromiso
hasta el último
momento responsable http://sivers.org/walkways
http://www.uwyo.edu/tour/
Prexy.asp
20. ¿DÓNDE TENDREMOS UN TRÁFICO
PROMEDIO MÁS RÁPIDO?
• ¿En una carretera usada por autos?
Ojo:
En las carreteras los
accidentes suelen
suceder
21. ¿DÓNDE TENDREMOS UN TRÁFICO
PROMEDIO MÁS RÁPIDO?
• ¿Una carretera semi-llena de autos?
22. ¿CÓMO SE LLAMA A UN LUGAR
LLENO DE AUTOS?
Un Estacionamiento
23. EN RESUMEN
TIEMPO DE PROCESO V/S
TAMAÑO DE LOTE V/S % DE OCUPACIÓN
Fuente: Lean Software Development: An Agile
Toolkit,
Mary y Tom Poppendieck, 2003
24. ESTIMANDO EL TAMAÑO ÓPTIMO DEL LOTE
Tamaño óptimo de lote
Costo
Tamaño del lote
Costo de
Mantención
Costo
TotalTamaño
óptimo
Costo de
Transacción
Zona óptima
aproximada
25. TAMAÑO LOTE ÓPTIMO ESTIMADO
=> PRINCIPIO LEAN: “ENTREGAR
• Cada incremento de
tiempo debe generar
valor apreciable para
el cliente
• Minimun
Marketable
Feature
• Se opone a la división
por actividades del
modelo waterfall
26. CÓMO GENERAR LOTES ÓPTIMOS
EN PROYECTOS DE SOFTWARE
• Analizando el problema de negocio para priorizar
• Invertir tiempo de ingeniería para lograr
desacoplamiento y establecer avances incrementales
de valor (MMFs)
• Y así será más fácil adaptarse a los cambios
27. EFECTO DE LA MULTITAREA EN LA
PRODUCTIVIDAD
• La productividad decrece
cuando se asignan más de
dos tareas en Trabajo en
Curso
• (WIP: Work In Process)
• Productividad entendida
como porcentaje del tiempo
dedicado a agregar valor
• => Debemos limitar la
multitarea
28. ¿CUÁNDO SE DEBE CREAR
LA CALIDAD?
• La calidad debe construirse junto con el sistema.
• ¡No se puede agregar como un barniz final!
• Los criterios de calidad funcional los debe definir el cliente mismo
• O sino, el ruido que generan los saltos interganizacionales, hace inútil
cualquier intento posterior
• Esto elimina el tradeoff de calidad versus costos versus eficiencia, de
hecho los alinea
• A mayor calidad, mayor eficiencia y menor costo
Sin definición de
criterios de calidad
intrínsecos, los
problemas se ocultan
Con criterios de calidad
intrínsecos, los
problemas aparecen
pronto y se eliminan
oportunamente
33. KANBAN
¿EN QUÉ CONSISTE?
• Se disponen en un tablero que
refleja el estado de cada
actividad de trabajo (kanban)
看板: “Tarjeta Señal”
• Se sincroniza el problema de
negocio y la capacidad del
equipo de desarrollo desarrollo
usando Kanban
• Cada persona escoge el trabajo a
realizar
• Responsabilidad asumida, no
asignada (Principio de eXtreme
Programming)
Fuente:
http://www.xqa.com.ar/visualmanagement/author/xavier/
34. KANBAN
HERRAMIENTA LIGERA Y VALIOSA
(PRINCIPIO DE EXTREME PROGRAMMING)
• Hace visible claramente el flujo de trabajo
• Responde fácilmente: ¿Dónde estamos?
• Enfoca al equipo
• Presenta rápidamente cuellos de botella
• Es sencilla y barata
Cambiar por
35. …
Stage 1 DoneStage 2 Stage n…Work Items
Queue
In
Process Queue
In
Process Queue
In
Process
GESTIÓN TRADICIONAL
PUSH SCHEDULING
Fuente:
Lean & kanban 101
http://availagility.wordpress.com/2009/06/11/zurich-lean-agile-
scrum-slides/
36. …
Stage 1 DoneStage 2 Stage n…Work Items
Queue
In
Process Queue
In
Process Queue
In
Process
PULL SCHEDULING
PARA DE COMENZAR… ¡COMIENZA A TERMINAR!
• Vamos realizando la tarea correcta en el momento justo en que tenemos
capacidad
Fuente:
Lean & kanban 101
http://availagility.wordpress.com/2009/06/11/zurich-lean-agile-
scrum-slides/
37. …
Stage 1 DoneStage 2 Stage n…Work Items
Queue
In
Process Queue
In
Process Queue
In
Process
LIMITANDO LA MULTITAREA (WIP)
Fuente:
Lean & kanban 101
http://availagility.wordpress.com/2009/06/11/zurich-lean-agile-
scrum-slides/
39. ¿CÓMO APOYA KANBAN LA MEJORA CONTINUA?
REFLEXIÓN Y EVOLUCIÓN DEL FLUJO DE TRABAJO
• El equipo puede y debe ir revisando su flujo de trabajo
En Cola
• F3
• F4
En Curso
• F2
Listo
• F1
40. ¿CÓMO APOYA KANBAN LA MEJORA CONTINUA?
REFLEXIÓN Y EVOLUCIÓN DEL FLUJO DE TRABAJO
• El equipo puede y debe ir revisando su flujo de trabajo
En Cola
• F3
• F4
En Curso
• F2
Por Validar
Listo
• F1
41. ¿CÓMO APOYA KANBAN LA MEJORA CONTINUA?
REFLEXIÓN Y EVOLUCIÓN DEL FLUJO DE TRABAJO
• El equipo puede y debe ir revisando su flujo de trabajo
Por
Estimar
Definir
Criterio de
Aceptación
Listo
para
Desarrollar
• F3
• F4
En Curso
• F2 Por
Validar
Listo
• F1
43. ALGUNOS EJEMPLOS DE PRINCIPIOS LEAN
EN KANBAN
• Dar al equipo una visión clara de su avance
• Respetar a las personas
• Revisar y mejorar el flujo de trabajo
• Entregar rápido
• Optimizar el todo
• Crear conocimiento
• Calidad intrínseca
• Limitar el Trabajo en Curso
• Entregar rápido
45. APLICANDO LOS PRINCIPIOS
¿CUÁNTO QUEDA?
• Un ingeniero de software un día
lunes evalúa una tarea que no ha
comenzado y determina que el
tiempo estimado para terminar es
de 20 horas hábiles. El jueves él
nos reporta que lleva 16 horas.
• ¿Cuál es la mejor manera de
saber cuanto queda?
46. APLICANDO LOS PRINCIPIOS
EL CASO DEL CÓDIGO
• Un equipo de desarrollo de 4 personas durante la primera iteración de un proyecto
realiza un software de 5.000 líneas de código ocupando 480 horas efectivas de
desarrollo.
• Un accidente hace que se borren los datos del servidor de control de versiones y no
existía ninguna copia del código fuente del sistema.
• El cliente, que estaba contento con los avances, solicita al equipo que, antes de
continuar agregando requerimientos, vuelva a construir el código fuente perdido
del sistema, lo que el equipo realiza.
• ¿Qué esperarías tú del tamaño en código fuente del sistema y tiempo ocupado
en este nuevo intento en comparación con lo obtenido en el intento original?
¿Cómo explicas este fenómeno?
47. REFERENCIAS
• Mary & Tom Poppendiecks Site
• http://www.poppendieck.com
• Limited WIP Society
• http://www.limitedwipsociety.org/
• Kanbandev Yahoo Group
• http://finance.groups.yahoo.com/group/kanbandev/
• Lean & Kanban 101
• http://availagility.wordpress.com/2009/06/11/zurich-lean-agile-scrum-slides/
• So, Now You're An Agilist, What's Next?
• http://www.slideshare.net/jurgenappelo/so-now-youre-an-agilist-whats-
next-10