|
|
Push
Pull
Pull with limits Whole Team. Not Stage Gate – mini waterfall.
Lean & Kanban Agustín Villena M. agustin.villena@chileagil.cl 30-12-2009 www.chileagil.cl
Licenciamiento agustin.villena@chileagil.cl Esta obra está publicada bajo una Atribución-No Comercial-Licenciar Igual 2.0 Chile de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.0/cl/
Agustín Villena Moya Ingeniero Civil en Computación, U. de Chile (1998) Magister en Ciencias de la Computación, U. de Chile (2008) Emprendedor a jornada completa (1998-2002) y parcial (2003 a la fecha) Coordinador Área de Investigación y Desarrollo Microsystem Chile (2005 a 2008) Gerente de Consultoría SAP Novis / Consultor Metodológico (2009 a la fecha) Desde el 2002 investigo, practico y comparto mis experiencias ágiles con mis alumnos de la U. de Chile, en los cursos CC62V Taller de Metodologías Ágiles de Desarrollo de Software CC61A Proyecto de Software Impulsor de la comunidad chilena de desarrollo ágil Chile Ágil Quien Soy 30-12-2009 agustin.villena@chileagil.cl
¿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 Motivación 30-12-2009 agustin.villena@chileagil.cl
Inspirado en el “Conocimiento Profundo” y los “14 puntos” de W. Edwards Deming Adoptado por Taichi Ohno en Toyota Propuesta: Lean Thinking 30-12-2009 agustin.villena@chileagil.cl
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 Lean Software Development 30-12-2009 agustin.villena@chileagil.cl
Existe un conjunto simple de principios que, al ser seguidos por un equipo de desarrollo de nuevo producto, genera un comportamiento auto-organizado Hipótesis de Lean Software Development 30-12-2009 agustin.villena@chileagil.cl
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 Auto-Organización 30-12-2009 agustin.villena@chileagil.cl
Los Sistemas Auto-organizados surgen en el Filo del Caos agustin.villena@chileagil.cl Inflexibilidad Caos Empoderamiento Alineamiento Organizaciones inflexibles requieren empoderamiento Organizaciones caóticas requieren alineamiento + atribuciones + confianza + valores + principios Sistemas Adaptativos Complejos Filo del Caos
¿Así? ¿Cómo se organizan las hormigas para buscar alimento? 30-12-2009 agustin.villena@chileagil.cl
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 ¿Cómo se organizan las hormigas para buscar alimento? 30-12-2009 agustin.villena@chileagil.cl
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 y Prácticas 30-12-2009 agustin.villena@chileagil.cl Principios
Principios de Lean Software Development 30-12-2009 agustin.villena@chileagil.cl
Ejemplos de aplicación de principios Lean 30-12-2009 agustin.villena@chileagil.cl
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í Curva de Valor de un proyecto 30-12-2009 agustin.villena@chileagil.cl
¡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 ¿Cómo tendríamos que trazar las sendas peatonales sobre el césped de un campus? 30-12-2009 agustin.villena@chileagil.cl http://sivers.org/walkways http://www.uwyo.edu/tour/Prexy.asp
+ Rápido con + Calidad El cambio paradigmático de Lean 30-12-2009 agustin.villena@chileagil.cl
¿En una carretera usada por autos? ¿O en una carretera usada por camiones? ¿Dónde tendremos un tráfico promedio más rápido? leanSight consulting Ojo: En las carreteras los accidentes suelen suceder
¿Una carretera semi-llena de autos? ¿Una carretera llena de autos? ¿Dónde tendremos un tráfico promedio más rápido? leanSight consulting
¿Cómo se llama a un lugar lleno de autos? Un Estacionamiento leanSight consulting
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 leanSight consulting
Estimando el tamaño óptimo del lote 30-12-2009 agustin.villena@chileagil.cl
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 Tamaño Lote Òptimo Estimado => Principio Lean: “Entregar Rápido” 30-12-2009 agustin.villena@chileagil.cl
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 Cómo generar lotes óptimos en proyectos de software 30-12-2009 agustin.villena@chileagil.cl
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 Efecto de la multitarea en la productividad
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 ¿Cuándo se debe crear la calidad? 30-12-2009 agustin.villena@chileagil.cl 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
Kanban para Ingeniería de Software “Agile 2.0” Herramienta Lean aplicada al desarrollo de software
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) Kanban ¿En qué consiste? 30-12-2009 agustin.villena@chileagil.cl Fuente: http://www.xqa.com.ar/visualmanagement/author/xavier/
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 Kanban Herramienta Ligera y Valiosa (Principio de eXtreme Programming) 30-12-2009 agustin.villena@chileagil.cl Cambiar por
… Stage 1 Done Stage 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/
… Stage 1 Done Stage 2 Stage n … Work Items Queue In Process Queue In Process Queue In Process Vamos realizando la tarea correcta en el momento justo en que tenemos capacidad Pull Scheduling Para de comenzar… ¡Comienza a terminar! Fuente: Lean & kanban 101 http://availagility.wordpress.com/2009/06/11/zurich-lean-agile-scrum-slides/
… Stage 1 Done Stage 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/
¿Cómo apoya Kanban la Mejora Contínua? Stand-up meetings Tradicional Kanban Cada persona tiene que responder 3 preguntas ¿Qué hice ayer? ¿Qué voy a hacer hoy? ¿Qué impedimentos tengo para realizar mi trabajo? ¡El tablero muestra claramente el estado de avance! Un facilitador enumera el trabajo el foco debe estar compartir en las excepciones La enumeración se hace de derecha a izquierda ¡Enfoquémosnos en terminar! 30-12-2009 agustin.villena@chileagil.cl
¿Cómo apoya Kanban la Mejora Contínua? Reflexión y evolución del flujo de trabajo 30-12-2009 agustin.villena@chileagil.cl El equipo puede y debe ir revisando su flujo de trabajo
¿Cómo apoya Kanban la Mejora Contínua? Reflexión y evolución del flujo de trabajo 30-12-2009 agustin.villena@chileagil.cl El equipo puede y debe ir revisando su flujo de trabajo
¿Cómo apoya Kanban la Mejora Contínua? Reflexión y evolución del flujo de trabajo 30-12-2009 agustin.villena@chileagil.cl El equipo puede y debe ir revisando su flujo de trabajo
Funcionalidades versus Entregables agustin.villena@gmail.com Scrum Tradicional Kanban con Iteraciones Fuente http://www.lostechies.com/blogs/derickbailey/archive/2009/08/14/kanban-in-time-boxes-the-cadence-of-wip-and-sprints.aspx
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 Algunos ejemplos de Principios Lean en Kanban 30-12-2009 agustin.villena@chileagil.cl
Su modelo es más genérico que Scrum o Extreme Programming => Puede ser ocupado en contextos más diversos Caso de Estudio: Servicio de Application Management en una Consultora SAP Enero – Septiembre 2009 Ventajas de Lean Software Development + Kanban 30-12-2009 agustin.villena@chileagil.cl
Gestión jerárquica (PUSH). Asignaciones inflexibles de labores Expertos funcionales ocupados un 50% del tiempo en distribución de tareas Tiempos ociosos de ABAP siendo que se requería su apoyo en FI y HR Trabajo absolutamente individual. => Aprendizajes individuales no compartidos Caso Application Management SAP Situación original Finanzas CO Logística ABAP HR RdC Requerimiento de Cambio 40 agustin.villena@chileagil.cl
agustin.villena@chileagil.cl Caso Application Management SAP Situación con Auto-gestión Kanban Autogestión de RdC vía colas administradas en un Tablero Kanban (Modelo PULL). Mejor Visibilidad de Pipeline de Requerimientos Líderes funcionales ahora disponibles para desarrollo ABAP Q Q Cola de Requerimientos de Cambio Autogestionada vía Kanban RdC Requerimiento de Cambio 41
Aplicando los principios Lean Ejercicios prácticos 30-12-2009 agustin.villena@chileagil.cl
Aplicando los principios Fábula de los tres hermanos Silvio Rodríguez http://www.youtube.com/watch?v=-cK6WlqeYnY 30-12-2009 agustin.villena@chileagil.cl Si tu fueras el perdido hermano/a menor que se formó con los maestros orientales de Lean, ¿qué estrategia aplicarías (y que principios Lean aplicarías) para lograr el éxito en esta tarea de ir por el mundo descubriendo y fundado?
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? Aplicando los principios ¿Cuánto queda? 30-12-2009 agustin.villena@chileagil.cl
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? Aplicando los principios El caso del código perdido 30-12-2009 agustin.villena@chileagil.cl
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 Referencias 30-12-2009 agustin.villena@chileagil.cl
Preguntas … agustin.villena@chileagil.cl
Summary: La propuesta de los Poppendieck integrando el Lean Thinking al desarrollo de software, y cómo la herramienta lean del Tablero Kanban apoya la adopción de esta forma de trabajar
No comments posted yet
Comments