Kanban: : 5 pasos sencillos para aumentar la eficiencia y la adaptabilidad #EDKanban Teodora Bozheva Berriprocess Sobre mi Kanban coach, formada por David J. Anderson & Associates 14 años de experiencia en mejora de procesos como miembro del equipo de procesos o como consultora. Aplicando CMMI, Lean Six Sigma, Kanban, prácticas ágiles. Más de 10 años de experiencia en gestión de proyectos de desarrollo de software. Instructora Certificada por el CMMI Institutepara los siguientes cursos de introducción a CMMI-DEV, CMMI-SVC y CMMI-ACQ. Enfocada en Los objetivos de negocio del Cliente Encontrar la mejor combinación de prácticas (independientemente de su metodología de origen) que en el contexto del Cliente permiten conseguir sus objetivos Lean Management Me puedes encontrar en teodora@berriprocess.com @tbozheva es.linkedin.com/in/teodorabozheva/ Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 2 1
Objetivos para el seminario Contestar a las siguientes preguntas: Qué es Kanban? Cuáles son los fundamentos del método? Qué aporta a los proyectos y a la empresa? Qué pasos hay que seguir para aplicarlo? Cuándo el método no funciona? Kanban y Scrum Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 3 Contenido Pendiente En curso Hecho Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 4 2
Motivación para Kanban en el dominio de TI Equilibrar la demanda y la capacidad de desarrollo. Mantener el mismo ritmo y carga de trabajo Agilizar la forma de trabajar Resolver el problema de las multi-tareas Aplicar los principios Lean El intento de aplicar algún método ágil no ha terminado con éxito Reducir el esfuerzo de aprender prácticas nuevas y la resistencia a adoptarlas Desarrollar la capacidad de evolucionar los procesos eliminando los obstáculos de uno en uno Kanban es sobre los cambios evolutivos. Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 5 Taiichi Ohno The two pillars of the Toyota production system are just-in-time and automation with a human touch, or autonomation. The tool used to operate the system is kanban. Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 6 3
Las 5+1 prácticas de Kanban Visualizar el flujo de trabajo Limitar el trabajo en curso Establecer políticas explícitas de calidad Medir y gestionar el flujo de trabajo Realizar ciclos de retroalimentación Mejorar colaborando y evolucionar experimentando Profundidad Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 7 Los principios de Kanban Empezar con las prácticas actuales Comprometerse a buscar e implementar cambios incrementales y evolutivos Respetar los procesos, las responsabilidades y los cargos actuales Animar el liderazgo en todos los niveles La perfección es un destino, no un estado. Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 8 4
Kanban: Valores, principios y prácticas Visualizar el flujo de trabajo Establecer políticas explícitas de calidad Mejorar colaborando y evolucionar experimentando Limitar el trabajo en curso Medir y gestionar el flujo de trabajo Realizar ciclos de retroalimentación Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 9 Conceptos básicos 5
Flujo de trabajo/valor 11 Flujo de las actividades de desarrollo de software Toma de RU Requisitos de usuario Desglosar RU en RT Analizar funcionalidades L Crear AF AF Crear Diseños orgánicos AO Peer review Codificar y probar componentes Código Desplegar y versionar componentes Software validado Pruebas de aceptación en Desarrollo Software verificado Pruebas de aceptación en PrePro Subida a PrePro FIP Subida a Producción 12 6
Qué es un sistema PULL? Nuevo trabajo entra en el sitema (PULL), si existe capacidad de llevarse a cabo. 13 Ventajas del sistema PULL No desarrollar funcionalidades que nadie necesita ahora mismo No documentarmás especificacionesque lo que se puede implementar(codificar) No escribir más código que lo que se puede probar No probar más código que lo que se puede desplegar Features and Function Usage 7% 16% 13% 45% Never Rarely Sometimes Often Always 19% Standish Group report, 2010 14 7
Contenido Pendiente En curso Hecho Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 15 Visualizar el flujo de trabajo Por qué? Para poder tomar decisiones adecuadas sobre el flujo de trabajo, el primer paso es de entender cómo funciona este. Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 16 8
Visualizar el flujo de trabajo Cómo? Mapa del flujo de valor Red de creación de conocimientos Pendiente En curso Hecho Preparación de la oferta Presentación de la oferta Negociación Firma de contrato Idea Especificación Implementación Pruebas Producción Consejos Visualizar el flujo que se sigue realmente, no el que se debería o quiere seguir Decidir el inicio y el fin del flujo visualizado. Esto define las interfaces con otros implicados en el proceso completo (clientes, partners de negocio). Modelar el trabajo (las actividades) que se realiza, no las funciones de los trabajadores Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 17 Visualizar el sistema de trabajo: Tablero Kanban Por Hacer (ideas) Especificación Implementación En curso Hecho En curso Hecho Pruebas Producción Mantenimiento 30% Desarrollo 70% Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 18 9
Tablero Kanban: qué aporta? Enfoque en el flujo completo Transparencia Proceso claro y en función de la demanda Prioridades claras Fácil identificación de los desperdicios Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 19 Anatomía de la tarjeta Kanban Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 20 10
Flujo de trabajo: desnivel 1 Colas Por Hacer (ideas) Especificación Implementación En curso Hecho En curso Hecho Pruebas Producción Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 21 Flujo de trabajo: desnivel 2 Carga de trabajo desequilibrada Por Hacer (ideas) Especificación Implementación En curso Hecho En curso Hecho Pruebas Producción Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 22 11
Limitar el trabajo en curso 1 Por qué? TiempoDeEntrega = Trabajo en curso Rendimiento 100 Casosde uso 2 Casosde usoporsemana = 50 semanas 23 Limitar el trabajo en curso 2 Cómo? Definir cuántas tareas (tarjetas) se permiten en cada fase del tablero. Visualizar los límites de trabajo en curso Reducir las tareas Ajustar empíricamente, pero no al azar. Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 24 12
Flujo de trabajo: desnivel 3 Carga de trabajo desequilibrada Por Hacer (4) Especificación (3) Implementación (4) Pruebas En curso Hecho En curso Hecho (3) Producción Qué hacer? 25 Cómo establecer los límites de trabajo en curso? No estresar a la organización. No establecer límites de trabajo en curso es un ERROR. 26 13
Establecer políticas explícitas de calidad Por qué? Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 27 La pizza mal hecha Mala calidad Retrasos Sobrecoste 28 14
Políticas de calidad Cómo? Explícitamente NO EMPEZAR TAREA NUEVA, SI LOS LÍMITES NO LO PERMITEN. Por Hacer (4) Especificación (3) Implementación (4) En curso Hecho En curso Hecho Pruebas (3) Producción Peticiones desde hace más de 8 meses se quitan de la cola Apuntar fecha de inicio Comprobar criterios de aceptación de los requisitos Todas las pruebas unitarias y de integración pasan Probar la funcionalidad principal Apuntar fecha fin Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 29 Medir y gestionar el flujo de trabajo Por qué? Las métricas no son la herramienta de los directores, son la herramienta de todo el equipo La métricas permiten conocer el estado del proyecto y tomar decisiones correctas Cuando se dispone de datos reales (incl. paradas en el trabajo, esperas, etc), se pueden asumir compromisos realísticos Cómo? Diariamente delante del tablero Mensualmente reuniones operativas A través de la visualización de los siguientes aspectos: Trabajo en curso Cycletime Calidad Riesgos y Asuntos (incidencias de gestión) Fecha actual de entrega vs. prevista Rendimiento Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 30 15
Diagrama de flujo acumulado Fuente: D. J. Anderson, Agile Management, Using CumulativeFlow Diagrams Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 31 Tiempo de entrega Objetivo Media TiempoEntrega- Todos trabajos Tamaño Días Pequeño 8,2 Medio 12,5 Grande 17,3 Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 32 16
Calidad Riesgos 200 150 100 50 0 Incidencias ene feb mar abr may jun jul ago sep Abiertas Cerradas Colas (cuellos de botella) Falta de trabajo asignado Esperar que se rellene la cola de trabajo pendiente 8 7 6 5 4 3 2 1 0 Esfuerzo de corrección de incidencia (h) ene feb mar abr may jun jul ago sep Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 33 Seguimiento diario 200 150 100 50 Incidencias 25 20 15 10 5 0 Asuntos bloqueantes 0 ene feb mar abr may jun jul ago sep Abiertas Cerradas Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 34 17
Realizar ciclos de retroalimentación Por qué? Alinear las iniciativas a nivel de proyecto y de organización Hacer posibles los cambios evolutivos Realizar los beneficios de Kanban Cómo? Seguimiento operativo Seguimiento diario 35 Seguimiento operativo Proyecto Por empezar En Desarrollo Terminado ArquiT Iter 32 21/09 Iter 33 28/09 Iter 26 30/09 Iter 30 30/09 Iter 20 Iter 21 PRNS Iter1 28/02 Iter6 30/03 PRMT Iter6 30/03 Iter7 30/05 Iter8 30/05 InfraeST Iter 14 28/06 Iter 10 30/06 TaPro Iter6 30/09 Iter1 30/03 Iter2 30/03 Iter3 30/04 Iter4 30/07 ArquiT PRNS PRMT InfraeST TaPro Según plan Observar 68% 31/03/13 52% 28/02/13 40% 30/04/13 50% 30/04/13 88% 28/02/13 Crítico 36 18
Seguimiento operativo: Mantenimiento Promedio Cycle Time (d) Cumplimiento fecha fin (%) Objetivo ene-13 Ene-Dic-2012 ene-13 Ene-Dic-2012 Nuevas peticiones 30 33,2 29,8 78 81 Corrección de errores 5 5,2 4,7 64 68 Objetivo 15 20 25 30 35 37 Rendimiento 40 35 30 25 20 15 10 5 0 jul-12 ago-12 sep-12 oct-12 nov-12 dic-12 Entregados: a tiempo Entegados: sin cumplir ANS Media móvil 3 meses 70,00% 60,00% 50,00% 40,00% 30,00% 20,00% 59,38% 40,63% Entorno Personas Proceso Entregas tardes 10,00% 0,00% Entegados: sin cumplir ANS Entregados: a tiempo Producto Datos Métricas 38 19
Mejorar colaborando y evolucionar experimentando Por qué? Hay que evolucionar en paralelo a los cambios en el contexto de negocio y las necesidades de los clientes Periódicamente hay que tomar decisiones sobre cómo organizar y gestionar mejor el trabajo Cómo? Estudiando el sistema completo en base a los datos reales Teniendo en cuenta las visiones de los distintos implicados en el flujo. En pasos pequeños hacia la visión. 39 La rutina de la mejora Visión Estado objetivo Estado actual 40 20
Cambios evolutivos Estado deseado Estado actual Acercarse al rendimiento deseado aumentando la capacidad de adaptación 41 Pasos de la mejora Entender la visión PDCA hacia el objetivo Entender el estado actual Establecer el objetivo próximo 42 21
Retrospectivas Stop theline para estudiar una causa específica Mensualmente, juntos con las revisiones de los proyectos, para estudiar causas comunes para los proyectos Cuatrimestralmente, para revisar el flujo de valor completo Qué es lo que ha ido bien? Qué es lo que todavía no va bien? Cuáles son las causas para los problemas actuales? Qué hacer para que estas causas no se vuelvan a dar en el futuro? 43 Cultura de mejora continua Seguimiento operativo Rutina de la mejora Seguimiento diario 44 22
Reducir el re-trabajo Acelerar los proyectos Mejorar la actitud Aumentar la previsibilidad Reducir los errores de integración Reducir la variabilidad en el rendimiento Eliminar los cuellos de botella Mejorar la gestión de los riesgos Aumentar la colaboración eny entre- departamentos Aumentar la agilidad del negocio Reducir los costes de coordinación Reducir las incidencias Facilitar la transformación organizacional Enfoque en las necesidades del cliente Reducir las esperas Facilitar la coordinación entre los proyectos Cumplir los ANS Aumentar la visibilidad en el estado de los proyectos Equilibrar la carga de trabajo y la organización de los equipos Reducir la burocracia Reducir el esfuerzo de corrección de incidencias Reducir los tiempos de entrega Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 45 Contenido Pendiente En curso Hecho Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 46 23
Sobrecarga de trabajo Mimotivaciónparaadoptarlos sistemaskanbanfuéeliminarmuri, reducir mura y facilitar un camino evolutivo al cambio. Variación en el flujo David J. Anderson Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 47 Kanban no es necesario,si se cumplen todas estas condiciones: no funcionará, si: La capacidad supera la demanda Especialistas con la capacitación necesaria siempre están disponibles Siempre se dispone de la información necesaria para realizar un trabajo El flujo de trabajo es suave y nada lo interrumpe El trabajo no varía en tipo, complejidad o tamaño El Jefe o el Cliente no tiene paciencia para esperar que el cambio evolutivo de efecto No se quiere implementar. Fuente: David J. Anderson, Kanban: when is it not appropriate Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 48 24
Áreas de aplicación de Kanban Año 2013 dev-kanban ops- Kanban 2007 Kanban Proyectos grandes Proyectos de desarrollo Proyectos de mantenimiento Garantías Operaciones Servicios Hot line Área Media& entertainment, juejos, etc Mantenimiento de aplicaciones TI Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 49 Cómo empezar con Kanban Empezar con lo que hacéis ahora Inicialmente, respetar los roles, las responsabilidades y los cargos Modificar ligeramente la forma de trabajar para implementar PULL Visualizar el trabajo y la organización del equipo Limitar el trabajo-en-curso (WIP) y dejar al equipo tirar (PULL) el trabajo cuando tiene capacidad Evolucionara través de la eliminación de los cuellos de botella, los desperdiciosen el flujo de trabajo y la variabilidad que afecta al rendimiento. Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 50 25
Contenido Pendiente En curso Hecho Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 51 Kanban y Scrum: similitudes Ambos son Agile y Lean Utilizan el sistema PULL Transparencia en la gestión de los proyectos Enfoque en entregar frecuentemente un producto que funciona Requieren dividir el trabajo en partes El plan de entrega se optimiza en base a datos empíricos (velocidad / tiempo de entrega) Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 52 26
Kanban y Scrum: diferencias Scrum Prescribeiteraciones fijas, p.ej. 4 semanas o 30 días El equipo se compromete a entregar una cantidad de trabajo determinada para la iteración Utiliza Velocidadcomométrica principal de planificación Los elementos tienen que ser divididos para que se puedan implementar en 1 sprint Limita el trabajo en curso indirectamente(a través de los sprints) Típicamente no se pueden añadir elementos (stories) nuevos durante el sprint Prescribe 3 roles: PO, SM, Equipo Kanban Separa las cadencias de planificación y de entrega. Puede ser dirigido por eventos en lugar de iterativo. El equipo se compromete a: (1) entregar valor (2) gestionar el flujo (3) gestionar la utilización de los recursos UtilizaTiempo de entrega como métrica principal de planificación y mejora de procesos No hay un tamaño prescrito Limita el trabajo en curso explícitamente Elementos nuevos se pueden añadir cuando la capacidad lo permita No prescribe roles Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 53 Inconveniencias en Scrum A veces hace falta cambiar el backlogmás frecuentemente que el timebox lo permita Falta un mecanismo que limita las multi-tareas La planificación de los sprintsimplícitamente anima a las personas a pre-comprometerse a cumplir un trabajo sin saber si la capacidad lo permitirá A veces se empiezan demasiadas storiesa la vez La planificación de un sprint puede ser difícil si el cliente no tiene 2 horas disponibles cada 2 semanas para esta reunión. Se dan casos cuando muchas storiesestán sin terminar al final del sprint Las pruebas no siempre están completamente hechas al final del sprint Los gráficos burndown llevan a Gestión-porobjetivos Es difícil gestionar las interrupciones a lo largo del sprint Difícil de aplicar en equipos grandes Desafíos en Kanban Explicar el sistema al cliente. Decir al cliente que el trabajo sobre su petición no puede empezar porque los límites de trabajo en curso no lo permiten Priorización de los stories/requisitos Calibrar el sistema Kanban, si hay cambios frecuentes en los equipos. Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 54 27
Contenido Pendiente En curso Hecho Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 55 Para qué nos puede ayudar en la empresa? simplificar el flujo de trabajo acelerar los proyectos fomentar la colaboración optimizar la utilización de los recursos mejorar la calidad de los productos facilitar y enfocar mejor la gestión eliminar rápidamente obstáculos en el flujo de trabajo abrir para todos la caja del desarrollo y de la ejecución de los servicios Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 56 28
Otros cursos y servicios CURSOS Y SERVICIOS En curso Hecho Kanban: 5 pasos sencillos para aumentar la eficacia y la adaptabilidad 57 Muchas gracias! teodora@berriprocess.com @tbozheva www.berriprocess.com 58 29