Kanban épico: gestión visual de desarrollos de software y servicios TI
Teodora Bozheva
2
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.
• 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
[email protected] @tbozheva
www.berriprocess.com
3
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
4
Contenido
4
Pendiente En curso Hecho
5
Motivación para Kanban en el dominio de TI
Kanban es sobre los cambios evolutivos.
• 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
6
Flujo de trabajo/valor
7
Flujo de las actividades de desarrollo de software
Desglosar RU en RT
RT
Requisitos de usuario
Crear AF TS
Crear Diseños orgánicos
TS
Codificar y probar componentes
TS
AF
Desplegar y versionar
componentes TS
AO
Subida a Producción
TS
Subida a PrePro TS
Software verificado
FIP
Pruebas de acep- tación en Desarrollo
VAL
Pruebas de aceptación en PrePro
VAL
Analizar funcionalidades
VAL
Peer review
Software validado
Toma de RU RU
Código
8
PUSH vs. PULL
Proceso PUSH
Proceso PULL
PUSH
Customer PULL
9
¿Qué es un sistema PULL?
• Nuevo trabajo entra en el sitema (PULL), si existe capacidad de llevarse a cabo.
10
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
45%
19%
16%
13%
7%
Features and Function Usage
Never
Rarely
Sometimes
Often
Always
Standish Group report, 2010
11
UN EJEMPLO PRÁCTICO
12
kanban
Un kanban indica la disponibilidad de asumir
trabajo o realizar un servicio
13
El SISTEMA kanban
Por Hacer (ideas)
Especificación (3) Implementación (4) Pruebas (3) Producción
En curso Hecho En curso Hecho
Des
arro
llo
70%
M
ante
nim
ient
o 30
%
Los kanban son virtuales
• Flujo de trabajo • PULL • kanban
14
“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.” Taiichi Ohno
15
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
16
Contenido Pendiente En curso Hecho
17
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.
18
Visualizar el flujo de trabajo
¿Cómo? • Mapa del flujo de valor • Red de creación de conocimientos
Idea Especificación Implementación Pruebas Producción
Pendiente En curso Hecho
Preparación de la oferta
Presentación de la oferta Negociación Firma de
contrato
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
19
Visualizar el sistema de trabajo: Tablero Kanban
Por Hacer (ideas)
Especificación Implementación Pruebas Producción
En curso Hecho En curso Hecho
Desa
rrol
lo
70%
M
ante
nim
ient
o 30
%
20
Tablero Kanban: ¿qué aporta?
Enfoque en el flujo completo
Transparencia
Fácil identificación de los desperdicios
Prioridades claras
Proceso claro y en función de la demanda
21
Anatomía de la tarjeta Kanban
22
Flujo de trabajo: desnivel1
• Colas
Por Hacer (ideas)
Especificación Implementación Pruebas Producción
En curso Hecho En curso Hecho
23
Flujo de trabajo: desnivel2
• Carga de trabajo desequilibrada
Por Hacer (ideas)
Especificación Implementación Pruebas Producción
En curso Hecho En curso Hecho
24
Limitar el trabajo en curso1
¿Por qué?
25
Ejercicio
1. Escribir los números 1-15, las letras A-Ñ y los ´números I – XV en el siguiente orden
A B C
1 2 3
I II III 4
5 6 Tomar el tiempo.
26
Ejercicio
2. Escribir los números 1-15, las letras A-Ñ y los ´números I – XV en el siguiente orden
A B C …
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Tomar el tiempo.
27
Capacidad y límites
28
Trabajo en curso y límites
Rendimiento TiempoDeEntrega
Trabajo en curso =
2 Casos de uso por semana 50 semanas 100 Casos de uso
=
30
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.
31
Flujo de trabajo: desnivel3
• Carga de trabajo desequilibrada
Por Hacer (4)
Especificación (3) Implementación (4) Pruebas (3) Producción
En curso Hecho En curso Hecho
¿Qué hacer?
- Ayudar a terminar una tarea en curso - Encuentra un cuello de botella e intenta
resolverlo - Encuentra otra tarea útil
32
¿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.
33
Pendiente (4)
Análisis (2) Desarrollo (4) Test (3) A desplegar
Produc ción
En curso Hecho En curso Hecho
1
2
3
5
6
7
4 9 8 10
13
11
12
14
Las mecánicas de Kanban en breve
Adaptado de www.getKanban.com
34
Establecer políticas explícitas de calidad ¿Por qué?
35
“La pizza mal hecha”
Mala calidad Retrasos Sobrecoste
36
Una de las maneras más eficaces para mejorar el rendimiento es de
“No crear desperdicios”
en lugar de
“Eliminar los desperdicios”
37
Hacer las políticas explícitas: un ejemplo
Source: Accreditted Kanban Training course, D. J. Anderson
38
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
– Cycle time
– Calidad
– Riesgos y Asuntos (incidencias de gestión)
– Fecha actual de entrega vs. prevista
– Rendimiento
39
Diagrama de flujo acumulado
Fuente: D. J. Anderson, Agile Management, Using Cumulative Flow Diagrams
40
Tiempo de entrega
Objetivo
Media TiempoEntrega- Todos trabajos
Tamaño Días Pequeño 8,2
Medio 12,5 Grande 17,3
41
Calidad
0
1
2
3
4
5
6
7
8
ene feb mar abr may jun jul ago sep
Esfuerzo de corrección de incidencia (h)
020406080
100120140160180
ene feb mar abr may jun jul ago sep
Incidencias
Abiertas Cerradas
43
Seguimiento diario
05
10152025
Asuntos bloqueantes
0
50
100
150
200
ene feb mar abr may jun jul ago sep
Incidencias
Abiertas Cerradas
44
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
45
Seguimiento operativo
Proyecto Por empezar En Desarrollo Terminado
ArquiT
PRNS
PRMT
InfraeST
TaPro
Iter 1 28/02
Iter 21 Iter 20 Iter 26 30/09
Iter 30 30/09
Iter 32 21/09
Iter 33 28/09
Iter 6 30/03
Iter 6 30/03
Iter 7 30/05
Iter 8 30/05
Iter 10 30/06
Iter 14 28/06
Iter 1 30/03
Iter 3 30/04
Iter 2 30/03
Iter 4 30/07
Iter 6 30/09
Según plan ArquiT
31/03/13 68%
PRNS
28/02/13 52%
PRMT
30/04/13 40%
InfraeST
30/04/13 50%
TaPro
28/02/13 88%
Observar
Crítico
47
Rendimiento
0
5
10
15
20
25
30
35
40
jul-12 ago-12 sep-12 oct-12 nov-12 dic-12
Entregados: a tiempo Entegados: sin cumplir ANS Media móvil 3 meses
59,38%
40,63%
0,00%
10,00%
20,00%
30,00%
40,00%
50,00%
60,00%
70,00%
Entegados: sincumplir ANS
Entregados: a tiempo
Entregas tardes
Personas Entorno Proceso
Métricas Datos Producto
48
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.
49
La “rutina” de la mejora
Estado actual
Estado objetivo
Visión
Obstáculo
51
Estado actual
Reducir las improducti
vidades
• Ser ágil • Ser lean
↓ esf.de corrección de incidencias
↓ esf. de gestión
↓ num. de errores en producto
55
Cultura de mejora continua
Seguimiento operativo
“Rutina” de la mejora
Seguimiento diario
Las 6 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
Prof
undi
dad
58
Facilitar la coordinación entre los proyectos
Aumentar la visibilidad en el estado de los proyectos
Aumentar la colaboración en- y entre- departamentos
Equilibrar la carga de trabajo y la organización de los equipos
Cumplir los ANS
Aumentar la agilidad del negocio
Reducir la burocracia Reducir las incidencias
Reducir los tiempos de entrega Reducir los costes de coordinación
Mejorar la gestión de los riesgos
Mejorar la actitud
Aumentar la previsibilidad
Reducir la variabilidad en el rendimiento
Reducir los errores de integración
Reducir el re-trabajo Enfoque en las necesidades del cliente
Reducir las esperas Eliminar los cuellos de botella Reducir el esfuerzo de
corrección de incidencias
Facilitar la transformación organizacional
Acelerar los proyectos
59
Contenido
Pendiente En curso Hecho
60
“Mi motivación para adoptar los sistemas kanban fué eliminar muri, reducir mura y facilitar un camino
evolutivo al cambio.”
David J. Anderson
Sobrecarga de trabajo
Variación en el flujo
61
El propósito de Kanban es de equilibrar la capacidad (el rendimiento) y la demanda.
62
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
63
Áreas de aplicación de Kanban
Proyectos de mantenimiento
Garantías
Proyectos de desarrollo
Proyectos grandes
Operaciones Servicios Hot line
Kanban
dev-Kanban ops - Kanban
2007
2013
Año
Área
Mantenimiento de aplicaciones TI
Media& entertainment, juejos, etc
64
Kanban …
… no es necesario, si se cumplen las siguientes condiciones: • 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
… no funcionará, si: • El Jefe o el Cliente no tiene paciencia
para esperar que el cambio evolutivo de efecto
• No se quiere implementar.
65
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.
66
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.
67
Kanban: Valores, principios y prácticas
67
Enfoque en el cliente
68
Contenido
Pendiente En curso Hecho
69
Kanban y Scrum
Kanban Scrum
… no es sólo el tablero
1. Visibilidad en el trabajo en curso en el flujo
2. Enfoque en el flujo completo
3. “Inicialmente respetar los roles, las responsabilidades y los cargos de trabajo”
4. Flujo continuo sin paradas y re-arranques
5. Diagrama de flujo acumulado
6. Profundidad de Kanban
1. Una vista simple de las tareas
2. Enfoque principalmente en Hecho
3. Roles definidos: Scrum master, Dueño de Producto, Scrum team
4. Sprints
5. Gráfico Burndown
6. Scrum o Scrumbut
70
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)
71
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
72
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
73
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.
74
Kanban and Lean
• 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.
“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.”
Taiichi Ohno
• 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.
75
Kanban yCMMI
Gestión de proyectos ligera
Calidad de producto integrada
Análisis causal desde día1, no a Nivel5
Líneas base de rendimiento de proceso desde día 1, no a N4
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
Modelos de rendimiento de procesos
Guía sobre OPD, OT, DAR
76
Contenido
Pendiente En curso Hecho
77
¿Para qué nos puede ayudar en la empresa?
¿Qué obstáculos ves para empezar a
usarlo?
78
Próximos pasos
CURSOS Y SERVICIOS En curso Hecho