kanban épico: gestión visual de desarrollos de software y

71
Kanban épico: gestión visual de desarrollos de software y servicios TI Teodora Bozheva

Upload: others

Post on 27-Jun-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Kanban épico: gestión visual de desarrollos de software y

Kanban épico: gestión visual de desarrollos de software y servicios TI

Teodora Bozheva

Page 2: Kanban épico: gestión visual de desarrollos de software y

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

Page 3: Kanban épico: gestión visual de desarrollos de software y

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

Page 4: Kanban épico: gestión visual de desarrollos de software y

4

Contenido

4

Pendiente En curso Hecho

Page 5: Kanban épico: gestión visual de desarrollos de software y

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

Page 6: Kanban épico: gestión visual de desarrollos de software y

6

Flujo de trabajo/valor

Page 7: Kanban épico: gestión visual de desarrollos de software y

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

Page 8: Kanban épico: gestión visual de desarrollos de software y

8

PUSH vs. PULL

Proceso PUSH

Proceso PULL

PUSH

Customer PULL

Page 9: Kanban épico: gestión visual de desarrollos de software y

9

¿Qué es un sistema PULL?

• Nuevo trabajo entra en el sitema (PULL), si existe capacidad de llevarse a cabo.

Page 10: Kanban épico: gestión visual de desarrollos de software y

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

Page 11: Kanban épico: gestión visual de desarrollos de software y

11

UN EJEMPLO PRÁCTICO

Page 12: Kanban épico: gestión visual de desarrollos de software y

12

kanban

Un kanban indica la disponibilidad de asumir

trabajo o realizar un servicio

Page 13: Kanban épico: gestión visual de desarrollos de software y

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

Page 14: Kanban épico: gestión visual de desarrollos de software y

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

Page 15: Kanban épico: gestión visual de desarrollos de software y

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

Page 16: Kanban épico: gestión visual de desarrollos de software y

16

Contenido Pendiente En curso Hecho

Page 17: Kanban épico: gestión visual de desarrollos de software y

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.

Page 18: Kanban épico: gestión visual de desarrollos de software y

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

Page 19: Kanban épico: gestión visual de desarrollos de software y

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

%

Page 20: Kanban épico: gestión visual de desarrollos de software y

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

Page 21: Kanban épico: gestión visual de desarrollos de software y

21

Anatomía de la tarjeta Kanban

Page 22: Kanban épico: gestión visual de desarrollos de software y

22

Flujo de trabajo: desnivel1

• Colas

Por Hacer (ideas)

Especificación Implementación Pruebas Producción

En curso Hecho En curso Hecho

Page 23: Kanban épico: gestión visual de desarrollos de software y

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

Page 24: Kanban épico: gestión visual de desarrollos de software y

24

Limitar el trabajo en curso1

¿Por qué?

Page 25: Kanban épico: gestión visual de desarrollos de software y

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.

Page 26: Kanban épico: gestión visual de desarrollos de software y

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.

Page 27: Kanban épico: gestión visual de desarrollos de software y

27

Capacidad y límites

Page 28: Kanban épico: gestión visual de desarrollos de software y

28

Trabajo en curso y límites

Rendimiento TiempoDeEntrega

Trabajo en curso =

2 Casos de uso por semana 50 semanas 100 Casos de uso

=

Page 29: Kanban épico: gestión visual de desarrollos de software y

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.

Page 30: Kanban épico: gestión visual de desarrollos de software y

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

Page 31: Kanban épico: gestión visual de desarrollos de software y

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.

Page 32: Kanban épico: gestión visual de desarrollos de software y

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

Page 33: Kanban épico: gestión visual de desarrollos de software y

34

Establecer políticas explícitas de calidad ¿Por qué?

Page 34: Kanban épico: gestión visual de desarrollos de software y

35

“La pizza mal hecha”

Mala calidad Retrasos Sobrecoste

Page 35: Kanban épico: gestión visual de desarrollos de software y

36

Una de las maneras más eficaces para mejorar el rendimiento es de

“No crear desperdicios”

en lugar de

“Eliminar los desperdicios”

Page 36: Kanban épico: gestión visual de desarrollos de software y

37

Hacer las políticas explícitas: un ejemplo

Source: Accreditted Kanban Training course, D. J. Anderson

Page 37: Kanban épico: gestión visual de desarrollos de software y

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

Page 38: Kanban épico: gestión visual de desarrollos de software y

39

Diagrama de flujo acumulado

Fuente: D. J. Anderson, Agile Management, Using Cumulative Flow Diagrams

Page 39: Kanban épico: gestión visual de desarrollos de software y

40

Tiempo de entrega

Objetivo

Media TiempoEntrega- Todos trabajos

Tamaño Días Pequeño 8,2

Medio 12,5 Grande 17,3

Page 40: Kanban épico: gestión visual de desarrollos de software y

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

Page 41: Kanban épico: gestión visual de desarrollos de software y

43

Seguimiento diario

05

10152025

Asuntos bloqueantes

0

50

100

150

200

ene feb mar abr may jun jul ago sep

Incidencias

Abiertas Cerradas

Page 42: Kanban épico: gestión visual de desarrollos de software y

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

Page 43: Kanban épico: gestión visual de desarrollos de software y

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

Page 44: Kanban épico: gestión visual de desarrollos de software y

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

Page 45: Kanban épico: gestión visual de desarrollos de software y

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.

Page 46: Kanban épico: gestión visual de desarrollos de software y

49

La “rutina” de la mejora

Estado actual

Estado objetivo

Visión

Obstáculo

Page 47: Kanban épico: gestión visual de desarrollos de software y

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

Page 48: Kanban épico: gestión visual de desarrollos de software y

55

Cultura de mejora continua

Seguimiento operativo

“Rutina” de la mejora

Seguimiento diario

Page 49: Kanban épico: gestión visual de desarrollos de software y

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

Page 50: Kanban épico: gestión visual de desarrollos de software y

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

Page 51: Kanban épico: gestión visual de desarrollos de software y

59

Contenido

Pendiente En curso Hecho

Page 52: Kanban épico: gestión visual de desarrollos de software y

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

Page 53: Kanban épico: gestión visual de desarrollos de software y

61

El propósito de Kanban es de equilibrar la capacidad (el rendimiento) y la demanda.

Page 54: Kanban épico: gestión visual de desarrollos de software y

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

Page 55: Kanban épico: gestión visual de desarrollos de software y

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

Page 56: Kanban épico: gestión visual de desarrollos de software y

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.

Page 57: Kanban épico: gestión visual de desarrollos de software y

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.

Page 58: Kanban épico: gestión visual de desarrollos de software y

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.

Page 59: Kanban épico: gestión visual de desarrollos de software y

67

Kanban: Valores, principios y prácticas

67

Enfoque en el cliente

Page 60: Kanban épico: gestión visual de desarrollos de software y

68

Contenido

Pendiente En curso Hecho

Page 61: Kanban épico: gestión visual de desarrollos de software y

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

Page 62: Kanban épico: gestión visual de desarrollos de software y

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)

Page 63: Kanban épico: gestión visual de desarrollos de software y

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

Page 64: Kanban épico: gestión visual de desarrollos de software y

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

Page 65: Kanban épico: gestión visual de desarrollos de software y

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.

Page 66: Kanban épico: gestión visual de desarrollos de software y

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.

Page 67: Kanban épico: gestión visual de desarrollos de software y

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

Page 68: Kanban épico: gestión visual de desarrollos de software y

76

Contenido

Pendiente En curso Hecho

Page 69: Kanban épico: gestión visual de desarrollos de software y

77

¿Para qué nos puede ayudar en la empresa?

¿Qué obstáculos ves para empezar a

usarlo?

Page 70: Kanban épico: gestión visual de desarrollos de software y

78

Próximos pasos

CURSOS Y SERVICIOS En curso Hecho

Page 71: Kanban épico: gestión visual de desarrollos de software y

79

[email protected] @tbozheva www.berriprocess.com

Eskerrik asko!