Kanban épico: gestión visual de desarrollos de software y servicios TI
Teodora Bozheva
Teodora Bozheva • Kanban coach, socia en David J. Anderson & Associates • 15 años de experiencia en mejora de procesos como miembro del equipo de procesos o como consultora. Aplicando Lean, Kanban, CMMI®, Six Sigma, prácticas ágiles. • 18 años de experiencia en gestión de proyectos de desarrollo de software.
[email protected] @tbozheva www.berriprocess.com
• Instructora Certificada por el CMMI Institute para 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
2
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 otras metodologías
3
Contenido Pendiente
En curso
Hecho
4
4
Motivación para Kanban en el dominio de TI • La implementación de alguna metodología no ha dado el resultado esperado • Agilizar la forma de trabajar • Resolver el problema de las multi-tareas • Aplicar los principios Lean • Reducir el esfuerzo de aprender prácticas nuevas y la resistencia a adoptarlas • Equilibrar la demanda y la capacidad de desarrollo. Mantener el mismo ritmo y carga de trabajo • Desarrollar la capacidad de evolucionar los procesos eliminando los obstáculos de uno en uno
Kanban es sobre los cambios evolutivos. 5
Flujo de trabajo/valor
6
Flujo de las actividades de desarrollo de software Toma de RU RU Requisitos de usuario
Analizar funcionalidades VAL
Desglosar RU en RT RT Crear AF
AF TS
Peer review
Crear Diseños orgánicos
TS
AO
Codificar y probar componentes TS Código Pruebas de acepDesplegar y tación en Desarrollo versionar VAL componentes Software verificado TS Software Pruebas de validado aceptación en PrePro VAL Subida a PrePro TS FIP
Subida a Producción TS
7
PUSH vs. PULL
Proceso PUSH PUSH
Proceso PULL
Customer PULL
8
¿Qué es un sistema PULL? • Nuevo trabajo entra en el sitema (PULL), si existe capacidad de llevarse a cabo.
9
Ventajas del sistema PULL • No desarrollar funcionalidades que nadie necesita ahora mismo • No documentar más especificaciones que 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% 13%
Never Rarely 45%
Sometimes Often
16%
Always
19%
Standish Group report, 2010
10
UN EJEMPLO PRÁCTICO
11
kanban
Un kanban indica la disponibilidad de asumir trabajo o realizar un servicio
12
El SISTEMA kanban Especificación (3) En curso
Hecho
Implementación (4) En curso
Hecho
Pruebas (3)
Producción
Mantenimiento 30%
Desarrollo 70%
Por Hacer (ideas)
Los kanban son virtuales
• Flujo de trabajo • PULL • kanban 13
“The two pillars of the Toyota production system are just-in-time and automation with a human touch, or autonomation. The Taiichi Ohno
tool used to operate the system is kanban.”
14
El MÉTODO Kanban 1. Visualizar el flujo de trabajo 2. Limitar el trabajo en curso 3. Establecer políticas explícitas de calidad 4. Medir y gestionar el flujo de trabajo 5. Realizar ciclos de retroalimentación 6. Mejorar colaborando y evolucionar experimentando
15
Contenido Pendiente
En curso
Hecho
16
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.
17
Visualizar el flujo de trabajo ¿Cómo? • Mapa del flujo de valor • Red de creación de conocimientos
Pendiente Preparación de la oferta
Idea
Hecho
En curso Presentación de la oferta
Especificación
Negociación
Implementación
Pruebas
Firma de contrato 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
18
Visualizar el sistema de trabajo: Tablero Kanban
Especificación En curso
Hecho
Implementación En curso
Hecho
Pruebas
Producción
Mantenimiento 30%
Desarrollo 70%
Por Hacer (ideas)
19
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
20
Anatomía de la tarjeta Kanban
21
Flujo de trabajo: desnivel1 • Colas Por Hacer (ideas)
Especificación En curso
Hecho
Implementación En curso
Hecho
Pruebas
Producción
22
Flujo de trabajo: desnivel2 • Carga de trabajo desequilibrada Por Hacer (ideas)
Especificación En curso
Hecho
Implementación En curso
Hecho
Pruebas
Producción
23
Limitar el trabajo en curso1 ¿Por qué?
24
Ejercicio 1.
Escribir los números 1-15, las letras A-Ñ y los ´números I – XV en el siguiente orden 1 2 3
A B C
I II III
4 5 6 Tomar el tiempo.
25
Ejercicio 2.
Escribir los números 1-15, las letras A-Ñ y los ´números I – XV en el siguiente orden 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Tomar el tiempo.
A B C …
26
Capacidad y límites
27
Trabajo en curso y límites
TiempoDeEntrega =
100 Casos de uso 2 Casos de uso por semana
Trabajo en curso Rendimiento
= 50 semanas
28
Limitar el trabajo en curso2 ¿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.
30
Flujo de trabajo: desnivel3 • Carga de trabajo desequilibrada Por Hacer (4)
Especificación (3) En curso
Hecho
Implementación (4) En curso
Hecho
Pruebas (3)
Producción
¿Qué hacer?
-
Ayudar a terminar una tarea en curso Encuentra un cuello de botella e intenta resolverlo Encuentra otra tarea útil
31
¿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.
32
Las mecánicas de Kanban en breve Pendiente (4)
10
Análisis (2)
Desarrollo (4)
En curso
Hecho
En curso
Hecho
9
8
5
4
Test (3)
A desplegar
Produc ción
1
11
6
2
12
7
3
13 14 Adaptado de www.getKanban.com
33
Establecer políticas explícitas de calidad ¿Por qué?
34
“La pizza mal hecha”
Mala calidad
Retrasos
Sobrecoste 35
Una de las maneras más eficaces para mejorar el rendimiento es de “No crear desperdicios” en lugar de “Eliminar los desperdicios”
36
Hacer las políticas explícitas: un ejemplo
Source: Accreditted Kanban Training course, D. J. Anderson
37
Medir y gestionar el flujo de trabajo ¿Por qué?
¿Cómo?
• Las métricas no son la herramienta de los directores, son la herramienta de todo el equipo
• Diariamente – delante del tablero
• 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
• Mensualmente – reuniones operativas • A través de la visualización de los siguientes aspectos: – Trabajo en curso – Cycle time – Calidad – Riesgos y Asuntos (incidencias de gestión) – Fecha actual de entrega vs. prevista – Rendimiento
38
Diagrama de flujo acumulado
Fuente: D. J. Anderson, Agile Management, Using Cumulative Flow Diagrams
39
Tiempo de entrega Objetivo
Media TiempoEntrega- Todos trabajos Tamaño
Días
Pequeño
8,2
Medio
12,5
Grande
17,3
40
Calidad Incidencias 180 160 140 120 100 80 60 40 20 0 ene
feb
mar
abr
Abiertas
may
jun
jul
ago
sep
Cerradas
Esfuerzo de corrección de incidencia (h) 8 7 6 5 4 3 2 1 0 ene
feb
mar
abr
may
jun
jul
ago
sep
41
Seguimiento diario 200
Incidencias
150 100 50
25 20 15 10 5 0
Asuntos bloqueantes
0 ene feb mar abr may jun jul ago sep Abiertas Cerradas
43
Realizar ciclos de retroalimentación ¿Por qué?
¿Cómo?
• Alinear las iniciativas a nivel de proyecto y de organización • Hacer posibles los cambios evolutivos • Realizar los beneficios de Kanban
Seguimiento operativo
Seguimiento diario
44
Seguimiento operativo Proyecto ArquiT
Por empezar Iter 32
En Desarrollo
Terminado
Iter 26 30/09
Iter 30 30/09
PRNS
Iter 1 28/02
Iter 6 30/03
PRMT
Iter 6 30/03
InfraeST
Iter 14 28/06
Iter 10
Iter 6
Iter 1
Iter 33
21/09 28/09
TaPro
Iter 7 30/05
Iter 8 30/05
30/09 Iter 3
ArquiT
PRNS
68%
52%
31/03/13
Iter 21
Iter 20
28/02/13
PRMT
40%
30/04/13
InfraeST
50%
30/04/13
30/06
30/03
30/04
TaPro
88%
28/02/13
Iter 2
Iter 4
30/03
30/07
Según plan Observar Crítico
45
Rendimiento 40 35 30 25 20 15 10 5 0 jul-12
ago-12
Entregados: a tiempo 70,00% 60,00%
sep-12
oct-12
Entegados: sin cumplir ANS
nov-12
dic-12
Media móvil 3 meses
59,38%
Entorno
50,00%
Personas
Proceso
40,63%
40,00%
Entregas tardes
30,00% 20,00% 10,00%
Producto
Datos
Métricas
0,00% Entegados: sin cumplir ANS
Entregados: a tiempo
47
Mejorar colaborando y evolucionar experimentando ¿Por qué?
¿Cómo?
• Hay que evolucionar en paralelo a los cambios en el contexto de negocio y las necesidades de los clientes
• Estudiando el sistema completo en base a los datos reales
• Periódicamente hay que tomar decisiones sobre cómo organizar y gestionar mejor el trabajo
• Teniendo en cuenta las visiones de los distintos implicados en el flujo. • En pasos pequeños hacia la visión.
48
La “rutina” de la mejora
Visión
Estado objetivo
Obstáculo Estado actual
49
• Ser ágil • Ser lean
↓ num. de errores
Reducir las improducti vidades
en producto
↓ esf. de gestión ↓ esf.de corrección de incidencias
Estado actual
51
Cultura de mejora continua
Seguimiento operativo
“Rutina” de la mejora
Seguimiento diario
55
Las 6 prácticas de Kanban • Visualizar el flujo de trabajo • Limitar el trabajo en curso
• Medir y gestionar el flujo de trabajo • Realizar ciclos de retroalimentación • Mejorar colaborando y evolucionar experimentando
Profundidad
• Establecer políticas explícitas de calidad
Reducir el re-trabajo
Enfoque en las necesidades del cliente
Acelerar los proyectos
Aumentar la colaboración en- Facilitar la coordinación entre los proyectos y entre- departamentos
Mejorar la actitud
Aumentar la previsibilidad Aumentar la agilidad del negocio Reducir los errores de integración Reducir la variabilidad en el rendimiento
Aumentar la visibilidad en el estado de los proyectos Equilibrar la carga de trabajo y la organización de los equipos
Reducir las incidencias
Eliminar los cuellos de botella Reducir las esperas Mejorar la gestión de los riesgos Reducir los costes de coordinación
Reducir la burocracia Reducir el esfuerzo de corrección de incidencias
Cumplir los ANS Reducir los tiempos de entrega
Facilitar la transformación organizacional 58
Contenido Pendiente
En curso
Hecho
59
Sobrecarga de trabajo
“Mi motivación para adoptar los sistemas kanban fué eliminar muri, reducir mura y facilitar un camino evolutivo al cambio.” Variación en el flujo
David J. Anderson
60
El propósito de Kanban es de equilibrar la capacidad (el rendimiento) y la demanda.
61
Lean pretende que la reducción del tiempo de entrega aumenta la productividad y la calidad mientras reduce los costes. Tiempo
desde
la idea
hasta su
puesta en producción
62
Año
Áreas de aplicación de Kanban
dev-Kanban
2013
ops - Kanban Kanban
2007
Proyectos grandes
Proyectos de desarrollo
Media& entertainment, juejos, etc
Proyectos de mantenimiento Garantías
Operaciones Servicios Hot line
Área
Mantenimiento de aplicaciones TI
63
Kanban … … no es necesario, si se cumplen las siguientes condiciones:
… no funcionará, si:
• La capacidad supera la demanda
• El Jefe o el Cliente no tiene paciencia para esperar que el cambio evolutivo de efecto
• Especialistas con la capacitación necesaria siempre están disponibles • Siempre se dispone de la información necesaria para realizar un trabajo
• No se quiere implementar.
• El flujo de trabajo es suave y nada lo interrumpe • El trabajo no varía en tipo, complejidad o tamaño
64
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 • Evolucionar a través de la eliminación de los cuellos de botella, los desperdicios en el flujo de trabajo y la variabilidad que afecta al rendimiento.
65
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.
66
Kanban: Valores, principios y prácticas
Enfoque en el cliente 67 6
Contenido Pendiente
En curso
Hecho
68
Kanban y Scrum … no es sólo el tablero
Kanban
Scrum
1. Visibilidad en el trabajo en curso en el flujo
1. Una vista simple de las tareas
2. Enfoque en el flujo completo
2. Enfoque principalmente en Hecho
3. “Inicialmente respetar los roles, las responsabilidades y los cargos de trabajo” 4. Flujo continuo sin paradas y re-arranques
3. Roles definidos: Scrum master, Dueño de Producto, Scrum team 4. Sprints
5. Diagrama de flujo acumulado
5. Gráfico Burndown
6. Profundidad de Kanban
6. Scrum o Scrumbut
69
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)
70
Kanban y Scrum: diferencias Scrum
Kanban
Prescribe iteraciones fijas, p.ej. 4 semanas o 30 días
Separa las cadencias de planificación y de entrega. Puede ser dirigido por eventos en lugar de iterativo.
El equipo se compromete a entregar una cantidad de trabajo determinada para la iteración
El equipo se compromete a: (1) entregar valor (2) gestionar el flujo (3) gestionar la utilización de los recursos
Utiliza Velocidad como métrica principal de planificación
Utiliza Tiempo de entrega como métrica principal de planificación y mejora de procesos
Los elementos tienen que ser divididos para que se puedan implementar en 1 sprint
No hay un tamaño prescrito
Limita el trabajo en curso indirectamente (a través de los sprints)
Limita el trabajo en curso explícitamente
Típicamente no se pueden añadir elementos (stories) nuevos durante el sprint
Elementos nuevos se pueden añadir cuando la capacidad lo permita
Prescribe 3 roles: PO, SM, Equipo
No prescribe roles
71
Inconveniencias en Scrum • A veces hace falta cambiar el backlog más frecuentemente que el timebox lo permita • Falta un mecanismo que limita las multi-tareas • La planificación de los sprints implícitamente anima a las personas a pre-comprometerse a cumplir un trabajo sin saber si la capacidad lo permitirá • A veces se empiezan demasiadas stories a 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 stories está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-por-objetivos • Es difícil gestionar las interrupciones a lo largo del sprint • Difícil de aplicar en equipos grandes
72
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.
73
Kanban and Lean “The two pillars of the Toyota Production System are just-intime and automation with a human touch, or autonomation. The tool used to operate the system is kanban.” Taiichi Ohno • Kanban está basado en los principios Lean. • Tanto Lean como Kanban están – Enfocados en la eficiencia del flujo de trabajo – Concentrados en las necesidades del cliente – Tratando de crear valor lo más rápido posible manteniendo las actividades redundantes al mínimo.
• Lean es el destino. • Kanban es el método de gestión diaria del trabajo
basado en conocimientos para cumplir las expectativas de los clientes con la mínima capacidad posible de recursos.
74
Kanban yCMMI Soporte a la gestión del cambio organizacional Enfoque en el flujo de trabajo, no simplemente en los procesos estáticos Guía sobre prácticas específicas Gestión de proyectos ligera Calidad de producto integrada Guía sobre OPD, OT, DAR Análisis causal desde día1, no a Nivel5 Líneas base de rendimiento de proceso desde día 1, no a N4 Modelos de rendimiento de procesos
75
Contenido Pendiente
En curso
Hecho
76
¿Qué obstáculos ves para empezar a usarlo?
¿Para qué nos puede ayudar en la empresa?
77
Próximos pasos CURSOS Y SERVICIOS
En curso
Hecho
78
Eskerrik asko!
[email protected] @tbozheva
www.berriprocess.com
79