SlideShare una empresa de Scribd logo
Kanban II
Sesión 6a

Metodologías Ágiles de Desarrollo de Software
Domingo Gallardo, DCCIA, Univ. Alicante
Juego: Pasar las monedas

Metodologías Ágiles de Desarrollo de Software
Domingo Gallardo, DCCIA, Univ. Alicante

2
Cada encargado:
•Pone en marcha el cronómetro cuando su trabajador
recibe la moneda #1
•Para el cronómetro cuando el trabajador envía su moneda #20

3 rondas
¿Cuánto tarda
cada trabajador?

Lisa

3 rounds
Ronda 1rounds2
3 Ronda
How long did each
worker take?

How long did each
worker take?

Lisa

David

Lisa
David

3 rounds

David
Jack

Martín

Maria
Jack

María
¿Cuándo recibe
el cliente la
primera
moneda?

How long did each
When did the
worker take?
customer receive
the first coin?
When did the
When did the
customer receive
customer receive
the first coin?
the last coin?
When did the
customer receive

Maria
Lisa

Round
A

David

the

¿Cuándo recibe
el cliente la
última moneda?

Round
A
Round
A

Each manager:
•  Start the timer when your worker receives coin #1
Each the timer when your worker sends coin #20
•  Stop manager:
Ronda your worker del batch 20
•  Start the timer when 1: tamaño receives coin #1
Ronda 3 the timer when your worker sends coin #20
Round A: Batch size 20
•  Round
RoundStop
B
Round
B

C
Round
C

Round A: Batch size 20

Each manager:Round B: Batch size 5
Ronda 2: tamaño del batch #1
•  Start the timer when your worker receives coin5
Round B: Batch size 5
•  Stop the timer when your worker sends coin #20
Round
B

Round
C

Round A: Batch size 20
Round C: Batch size 1

Round C: Batch size 1
Ronda 3: tamaño del batch 1
Round B: Batch size 5

last coin?

Jack
Henrik Kniberg

216

Maria

Henrik Kniberg
When did the
customer receive
the first coin?

Round C: Batch size 1

216

Metodologías Ágiles de Desarrollo de Software
Domingo Gallardo, DCCIA, Univ. Alicante

3
Resultado típico

Metodologías Ágiles de Desarrollo de Software
Domingo Gallardo, DCCIA, Univ. Alicante

4
Algunas preguntas
•
•

¿Qué ha pasado con el tiempo total? ¿Por qué?

•

¿Cómo se sentían en cada ronda? ¿Ha sido estresante? ¿Cuándo ha
sido más calmado?

•
•
•

¿Se puede trasladar esto al desarrollo de software?

¿Qué ha pasado con el tiempo de cada trabajador individual? ¿Por
qué?

¿Qué representan las monedas?
¿Qué no es aplicable en el desarrollo de software?

Metodologías Ágiles de Desarrollo de Software
Domingo Gallardo, DCCIA, Univ. Alicante

5
Resumen prácticas Kanban
1. Visualizar el flujo de trabajo
2. Limitar el Work In Progress
3. Medir y optimizar el flujo (el tiempo de ciclo o lead time)
4. Hacer explícitas las políticas
• Definition of Done (Definición de Hecho)
• Classes of Service (Clases de servicios)
• Service Level Agreement (Acuerdos de nivel de servicios)
5. Retroalimentación y mejora continua

•
•
•

Ritmo y cadencia
Daily Standups (Reuniones diarias)
Retrospectivas

Metodologías Ágiles de Desarrollo de Software
Domingo Gallardo, DCCIA, Univ. Alicante

6
1. Visualizar el flujo de trabajo

Metodologías Ágiles de Desarrollo de Software
Domingo Gallardo, DCCIA, Univ. Alicante
Flujo de trabajo
•

Cada empresa de desarrollo de software tiene su propio flujo de
trabajo

•

Para aplicar Kanban debemos empezar identificando el flujo de trabajo

•
•
•
•

¿Qué son los ítems de trabajo (work items)?
¿Por qué fases pasan?
¿Existen distintos tipos de ítems?
¿Su tamaño tiene mucha variabilidad?

Metodologías Ágiles de Desarrollo de Software
Domingo Gallardo, DCCIA, Univ. Alicante

8
Historias de usuario

Como estudiante
quiero generar un PDF con mi expediente
para guardar un resumen de mi expediente
y poder entregarlo a quien me lo pida

Una historia no se resuelve con
un método de un API.
Debemos implementar todos sus
aspectos: interfaz de usuario,
código de cliente, servidor, base
de datos, etc.

Como <rol>
quiero <característica>
para <beneficio>
Independent
Negotiable
Valuable
Estimable
Small
Testable
Acrónimo creado por Bill Wake
www.xp123.com

Metodologías Ágiles de Desarrollo de Software
Domingo Gallardo, DCCIA, Univ. Alicante

9
Historias de usuario e ítems de trabajo
•

Si las historias de usuario tienen un tamaño demasiado grande, las
debemos dividir en tareas más pequeñas

•

Todas las historias deben ir acompañadas de criterios de aceptación
(lo primero que debemos hacer si desarrollamos con TDD)

•

Escribiremos las tareas en forma de ítems de trabajo en etiquetas que
pegaremos en el tablero Kanban

•

Los ítems de trabajo sí que pueden ser partes “horizontales” del
proyecto

Metodologías Ágiles de Desarrollo de Software
10
Domingo Gallardo, DCCIA, Univ. Alicante
Post-it con el ítem de trabajo
•

Descripción del ítem de trabajo.
Concisa, precisa y entendible por
todos los miembros del equipo.

•
•
•
•

Fecha de comienzo

•

10-10-13

24-10-13

Código de identificación con el
que podemos encontrar más
información sobre el ítem en otro
lugar (sistema on-line, etc.)

•

Plazo de finalización
Tamaño del ítem (S,M,L)
Quién está trabajando en el ítem.
Lo ideal sería un avatar pegado
encima de la etiqueta.

Indicador de progreso (cuánto se
ha avanzado en el ítem)

#TSK: 1304
CREAR PDF CON LA
FICHA INFORMATIVA
DEL ESTUDIANTE

M
@ Avatars: nitsnets

Metodologías Ágiles de Desarrollo de Software
11
Domingo Gallardo, DCCIA, Univ. Alicante
Tipos de trabajo
•

Tipos de trabajos

•
•
•
•

Nuevas características (historias de usuario)
Solucionar bugs y deuda técnica
Tareas de soporte

Etiqueta distinta para cada uno

Kanban in Action
Metodologías Ágiles de Desarrollo de Software
12
Domingo Gallardo, DCCIA, Univ. Alicante
El tablero Kanban
•

El objetivo principal del tablero Kanban es mostrar visualmente en qué
está trabajando el equipo en un momento dado

•

Principales utilidades:

•

Elemento fundamental para la reflexión, la comunicación y la discusión
en las reuniones de pie diarias

•

Medir distintas métricas relacionadas con el flujo: número de ítems
terminados por semana, WIP

•

Definir políticas estrictas de flujo de trabajo y de terminación
(Definition of Done)

Metodologías Ágiles de Desarrollo de Software
13
Domingo Gallardo, DCCIA, Univ. Alicante
Un ejemplo de tablero Lean from the Trenches

Henrik Kniberg, Lean From the Trenches
Metodologías Ágiles de Desarrollo de Software
14
Domingo Gallardo, DCCIA, Univ. Alicante
Políticas en el tablero

Henrik Kinberg, Lean From the Trenches

Metodologías Ágiles de Desarrollo de Software
15
Domingo Gallardo, DCCIA, Univ. Alicante
Diferentes tipos de trabajo

Henrik Kniberg, Lean From the Trenches
Metodologías Ágiles de Desarrollo de Software
16
Domingo Gallardo, DCCIA, Univ. Alicante
Buffers

Henrik Kniberg, Lean From the Trenches
Metodologías Ágiles de Desarrollo de Software
17
Domingo Gallardo, DCCIA, Univ. Alicante
Estadísticas

Henrik Kniberg, Lean From the Trenches

Metodologías Ágiles de Desarrollo de Software
18
Domingo Gallardo, DCCIA, Univ. Alicante
Escalar el tablero: tres equipos
trabajando en el mismo proyecto

Henrik Kniberg, Lean From the Trenches

Metodologías Ágiles de Desarrollo de Software
19
Domingo Gallardo, DCCIA, Univ. Alicante
2. Limitar el WIP

Metodologías Ágiles de Desarrollo de Software
Domingo Gallardo, DCCIA, Univ. Alicante
Límite de trabajos en progreso

Henrik Kniberg, Lean From the Trenches

Metodologías Ágiles de Desarrollo de Software
21
Domingo Gallardo, DCCIA, Univ. Alicante
Un límite por estado del flujo

Metodologías Ágiles de Desarrollo de Software
22
Domingo Gallardo, DCCIA, Univ. Alicante
¿Por qué limitar el WIP?
•
•

Evitar exceso de multitarea

•

El límite del WIP debe establecerse por consenso entre todos los
implicados en el proyecto

•

La tensión creada por establecer un WIP obliga a discusiones y
análisis beneficiosos para el equipo y el proyecto

Evitar sobrecargas en las siguientes partes de la cadena de proceso
(downstream)

Metodologías Ágiles de Desarrollo de Software
23
Domingo Gallardo, DCCIA, Univ. Alicante
Limitando el WIP se aumenta el
throughput

© Henrik Kniberg
Metodologías Ágiles de Desarrollo de Software
24
Domingo Gallardo, DCCIA, Univ. Alicante
¿Cuál es el límite óptimo?
•
•

Se obtiene midiendo, experimentando y mejorando

•

Estudiar el flujo y optimizar el límite (Kanban es un proceso empírico)

Empezar usando alguna regla sencilla: 2n-1, siendo n el número de
personas trabajando en esa fase

Metodologías Ágiles de Desarrollo de Software
25
Domingo Gallardo, DCCIA, Univ. Alicante
Optimizar el límite de WIP

© Henrik Kniberg
Metodologías Ágiles de Desarrollo de Software
26
Domingo Gallardo, DCCIA, Univ. Alicante
El límite de WIP obliga a terminar
•

Frase importante en Kanban

Stop starting, start finishing
•

El límite de WIP obliga al equipo a centrarse en terminar tareas antes de
poder acometer nuevas

Metodologías Ágiles de Desarrollo de Software
27
Domingo Gallardo, DCCIA, Univ. Alicante
Clases de servicio
•

En Kanban se pueden definir condiciones adicionales que afectan al
límite de WIP según la clase de servicio (class of service) del ítem de
trabajo

•

Ejemplo muy común: clase “Expedite”

•
•

Ítems urgentes que tienen prioridad sobre el resto
Se define un carril adicional en el tablero para ellos con un WIP de 1
(carril rápido o fast lane)

Metodologías Ágiles de Desarrollo de Software
28
Domingo Gallardo, DCCIA, Univ. Alicante
3. Medir y optimizar el flujo de trabajo

Metodologías Ágiles de Desarrollo de Software
Domingo Gallardo, DCCIA, Univ. Alicante
Cadena de valor
•

La definición de la cadena de valor (value chain) por la que pasan los
ítems de trabajo es importante tanto para analizar el flujo como para
construir el tablero Kanban

Eficiencia
del ciclo de
proceso

Henrik Kniberg & Mattias Skarin, Kanban and Scrum, InfoQ
Metodologías Ágiles de Desarrollo de Software
30
Domingo Gallardo, DCCIA, Univ. Alicante
Cycle Time o Lead Time
•

Tiempo medio que tarda un ítem de trabajo en ser procesado

Henrik Kniberg, Lean from the Trenches

Metodologías Ágiles de Desarrollo de Software
31
Domingo Gallardo, DCCIA, Univ. Alicante
Throughput
•

•

•

En el mundo de los negocios y de los
procesos de fabricación, el Throughput
(rendimiento) es el ritmo al que un
negocio es capaz de producir un
producto o un servicio para una unidad
de tiempo determinada
En teoría de la información o redes se
considera que el throughput es el ratio
medio de mensajes correctos enviados
a través de un canal
En el mundo de la informática es el ratio
de respuestas (SQL, peticiones HTTP,
etc.) por unidad del tiempo que realiza
el sistema

Metodologías Ágiles de Desarrollo de Software
32
Domingo Gallardo, DCCIA, Univ. Alicante
Objetivo: reducir la variabilidad
•
•
•

En Kanban se mide el throughput en ítems terminados
Se estima en número de ítems
Se supone que todos los ítems tienen tamaño similar

Metodologías Ágiles de Desarrollo de Software
33
Domingo Gallardo, DCCIA, Univ. Alicante
Work-In-Progress

Metodologías Ágiles de Desarrollo de Software
34
Domingo Gallardo, DCCIA, Univ. Alicante
Ley de Little
•

Relaciona los tres conceptos importantes del flujo:

•
•
•

Througput (TP)
Work-in-Progress (WIP)
Lead Time (LT)

Metodologías Ágiles de Desarrollo de Software
35
Domingo Gallardo, DCCIA, Univ. Alicante
¿Cómo reducir el tiempo de ciclo?
•

Dos formas:

•
•

Aumentar el Througuput
Reducir el Work-In-Progress
Work-In-Progress

LT =

WIP
TP

Lead Time
Throughput

Metodologías Ágiles de Desarrollo de Software
36
Domingo Gallardo, DCCIA, Univ. Alicante
Receta para el cambio a Kanban

Metodologías Ágiles de Desarrollo de Software
Domingo Gallardo, DCCIA, Univ. Alicante
Receta para el cambio a Kanban
1. Centrarse en la calidad (Focus on Quality)
2. Reducir el Work-In-Progress (Reduce Work-in-Progress)
3. Entregar con más frecuencia (Deliver Often)
4. Equilibrar la demanda con el rendimiento (Balance Demand against
Throughput)
5. Priorizar (Prioritize)
6. Atacar las fuentes de la variabilidad para mejorar la predictibilidad
(Attack Sources of Variability to Improve Predictability)

David J. Anderson, Kanban, Cap. 3

Metodologías Ágiles de Desarrollo de Software
38
Domingo Gallardo, DCCIA, Univ. Alicante

Más contenido relacionado

PPTX
Introducción al modelo 'agile' de Spotify.pptx
PPTX
Capítulo 4 el contexto global y sus implicancias
PDF
Scrum - Dian Sigit Prastowo
PPTX
Agile Processes - Scrum
PPT
Pensamiento estratégico y diagnóstico
DOCX
Reporte de lectura estrategias del oceano azul copia
DOCX
Escuela de planificación
PPTX
TALLER: LA PROSPECTIVA COMO HERRAMIENTA DE ÉXITO PARA EMPRENDEDORES E INNO...
Introducción al modelo 'agile' de Spotify.pptx
Capítulo 4 el contexto global y sus implicancias
Scrum - Dian Sigit Prastowo
Agile Processes - Scrum
Pensamiento estratégico y diagnóstico
Reporte de lectura estrategias del oceano azul copia
Escuela de planificación
TALLER: LA PROSPECTIVA COMO HERRAMIENTA DE ÉXITO PARA EMPRENDEDORES E INNO...

Destacado (20)

PDF
Fundamentos de las metodologías ágiles
PDF
Certificaciones tecnológicas
PPTX
Groovy&Grails: desarrollo rápido de aplicaciones
PDF
Seguridad en dispositivos móviles
PDF
Certificaciones Tecnológicas: La acreditación del experto
PDF
Herramientas gestion proyectos
PDF
Privacidad internet
PDF
Inteligencia Colectiva
PDF
Por su seguridad
PDF
Groovy&Grails: desarrollo rápido de aplicaciones
PDF
Git and git flow
PDF
Manual de uso de la web 2.0
PDF
Continuous Delivery
PDF
Working with the AOSP - Linaro Connect Asia 2013
PDF
Framework de test spock
PDF
Metodologías agiles de desarrollo de software
PDF
Testing NodeJS Security
PDF
Cuarta Edición del Curso Online de Especialización en Seguridad Informática p...
PDF
Configurar y utilizar Latch en Magento
PDF
Footprinting tools for security auditors
Fundamentos de las metodologías ágiles
Certificaciones tecnológicas
Groovy&Grails: desarrollo rápido de aplicaciones
Seguridad en dispositivos móviles
Certificaciones Tecnológicas: La acreditación del experto
Herramientas gestion proyectos
Privacidad internet
Inteligencia Colectiva
Por su seguridad
Groovy&Grails: desarrollo rápido de aplicaciones
Git and git flow
Manual de uso de la web 2.0
Continuous Delivery
Working with the AOSP - Linaro Connect Asia 2013
Framework de test spock
Metodologías agiles de desarrollo de software
Testing NodeJS Security
Cuarta Edición del Curso Online de Especialización en Seguridad Informática p...
Configurar y utilizar Latch en Magento
Footprinting tools for security auditors
Publicidad

Similar a Kanban (20)

PDF
Introducción a Kanban
PDF
Introducción a kanban en la gestión de proyectos
PDF
¡A todo Kanban! ~ Introducción a kanban
PPTX
Taller: Kanban Avanzado. Superando el Limitar el WIP
PPTX
10 - Unidad 3: PROCESOS TI - 3.2 Kanban
PPTX
Modelo de desarrollo de software Agil Ingenieria de software.pptx
PPTX
PPTX
El manifiesto y los principios ágiles
PDF
Elmanifiestoylosprincipiosgiles 131007145716-phpapp01
PPTX
Metodologias agiles
PDF
Metodologias de desarrollo para ingenieria de sistemas
PPTX
Metodologiasagiles
PDF
Desarrollo ágil Webprendedor UC 2010
PDF
Hacia una filosofia ágil
PDF
Kanban vs Scrum : Flexibilizando el desarrollo TI
PPT
Introducción a las Metodologías Ágiles
PPTX
Metodologías ágiles.pptx
PDF
Principios Ágiles y Lean-Kanban
PPTX
Metodologia
PPTX
Overview of Agile & lean startup methodologies
Introducción a Kanban
Introducción a kanban en la gestión de proyectos
¡A todo Kanban! ~ Introducción a kanban
Taller: Kanban Avanzado. Superando el Limitar el WIP
10 - Unidad 3: PROCESOS TI - 3.2 Kanban
Modelo de desarrollo de software Agil Ingenieria de software.pptx
El manifiesto y los principios ágiles
Elmanifiestoylosprincipiosgiles 131007145716-phpapp01
Metodologias agiles
Metodologias de desarrollo para ingenieria de sistemas
Metodologiasagiles
Desarrollo ágil Webprendedor UC 2010
Hacia una filosofia ágil
Kanban vs Scrum : Flexibilizando el desarrollo TI
Introducción a las Metodologías Ágiles
Metodologías ágiles.pptx
Principios Ágiles y Lean-Kanban
Metodologia
Overview of Agile & lean startup methodologies
Publicidad

Último (20)

PPTX
Presentación PASANTIAS AuditorioOO..pptx
PDF
Estrategia de apoyo tecnología miguel angel solis
PDF
ACTIVIDAD 2.pdf j
PDF
La electricidad y la electrónica .pdf n
PDF
Maste clas de estructura metálica y arquitectura
PPTX
Administración se srevidores de apliaciones
PDF
clase auditoria informatica 2025.........
PPTX
Presentación de Redes de Datos modelo osi
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
DOCX
Las nuevas tecnologías en la salud - enfermería técnica.
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
PDF
Estrategia de apoyo tecnología grado 9-3
PDF
Calidad desde el Docente y la mejora continua .pdf
PDF
Influencia-del-uso-de-redes-sociales.pdf
PDF
taller de informática - LEY DE OHM
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PPTX
Yogurt de tocosh (1).pptx preparacion receta
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
DOCX
Trabajo colaborativo Grupo #2.docxmkkkkkkl
Presentación PASANTIAS AuditorioOO..pptx
Estrategia de apoyo tecnología miguel angel solis
ACTIVIDAD 2.pdf j
La electricidad y la electrónica .pdf n
Maste clas de estructura metálica y arquitectura
Administración se srevidores de apliaciones
clase auditoria informatica 2025.........
Presentación de Redes de Datos modelo osi
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Las nuevas tecnologías en la salud - enfermería técnica.
REDES INFORMATICAS REDES INFORMATICAS.pptx
Estrategia de apoyo tecnología grado 9-3
Calidad desde el Docente y la mejora continua .pdf
Influencia-del-uso-de-redes-sociales.pdf
taller de informática - LEY DE OHM
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
Yogurt de tocosh (1).pptx preparacion receta
historia_web de la creacion de un navegador_presentacion.pptx
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
Trabajo colaborativo Grupo #2.docxmkkkkkkl

Kanban

  • 1. Kanban II Sesión 6a Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ. Alicante
  • 2. Juego: Pasar las monedas Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ. Alicante 2
  • 3. Cada encargado: •Pone en marcha el cronómetro cuando su trabajador recibe la moneda #1 •Para el cronómetro cuando el trabajador envía su moneda #20 3 rondas ¿Cuánto tarda cada trabajador? Lisa 3 rounds Ronda 1rounds2 3 Ronda How long did each worker take? How long did each worker take? Lisa David Lisa David 3 rounds David Jack Martín Maria Jack María ¿Cuándo recibe el cliente la primera moneda? How long did each When did the worker take? customer receive the first coin? When did the When did the customer receive customer receive the first coin? the last coin? When did the customer receive Maria Lisa Round A David the ¿Cuándo recibe el cliente la última moneda? Round A Round A Each manager: •  Start the timer when your worker receives coin #1 Each the timer when your worker sends coin #20 •  Stop manager: Ronda your worker del batch 20 •  Start the timer when 1: tamaño receives coin #1 Ronda 3 the timer when your worker sends coin #20 Round A: Batch size 20 •  Round RoundStop B Round B C Round C Round A: Batch size 20 Each manager:Round B: Batch size 5 Ronda 2: tamaño del batch #1 •  Start the timer when your worker receives coin5 Round B: Batch size 5 •  Stop the timer when your worker sends coin #20 Round B Round C Round A: Batch size 20 Round C: Batch size 1 Round C: Batch size 1 Ronda 3: tamaño del batch 1 Round B: Batch size 5 last coin? Jack Henrik Kniberg 216 Maria Henrik Kniberg When did the customer receive the first coin? Round C: Batch size 1 216 Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ. Alicante 3
  • 4. Resultado típico Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ. Alicante 4
  • 5. Algunas preguntas • • ¿Qué ha pasado con el tiempo total? ¿Por qué? • ¿Cómo se sentían en cada ronda? ¿Ha sido estresante? ¿Cuándo ha sido más calmado? • • • ¿Se puede trasladar esto al desarrollo de software? ¿Qué ha pasado con el tiempo de cada trabajador individual? ¿Por qué? ¿Qué representan las monedas? ¿Qué no es aplicable en el desarrollo de software? Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ. Alicante 5
  • 6. Resumen prácticas Kanban 1. Visualizar el flujo de trabajo 2. Limitar el Work In Progress 3. Medir y optimizar el flujo (el tiempo de ciclo o lead time) 4. Hacer explícitas las políticas • Definition of Done (Definición de Hecho) • Classes of Service (Clases de servicios) • Service Level Agreement (Acuerdos de nivel de servicios) 5. Retroalimentación y mejora continua • • • Ritmo y cadencia Daily Standups (Reuniones diarias) Retrospectivas Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ. Alicante 6
  • 7. 1. Visualizar el flujo de trabajo Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ. Alicante
  • 8. Flujo de trabajo • Cada empresa de desarrollo de software tiene su propio flujo de trabajo • Para aplicar Kanban debemos empezar identificando el flujo de trabajo • • • • ¿Qué son los ítems de trabajo (work items)? ¿Por qué fases pasan? ¿Existen distintos tipos de ítems? ¿Su tamaño tiene mucha variabilidad? Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ. Alicante 8
  • 9. Historias de usuario Como estudiante quiero generar un PDF con mi expediente para guardar un resumen de mi expediente y poder entregarlo a quien me lo pida Una historia no se resuelve con un método de un API. Debemos implementar todos sus aspectos: interfaz de usuario, código de cliente, servidor, base de datos, etc. Como <rol> quiero <característica> para <beneficio> Independent Negotiable Valuable Estimable Small Testable Acrónimo creado por Bill Wake www.xp123.com Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ. Alicante 9
  • 10. Historias de usuario e ítems de trabajo • Si las historias de usuario tienen un tamaño demasiado grande, las debemos dividir en tareas más pequeñas • Todas las historias deben ir acompañadas de criterios de aceptación (lo primero que debemos hacer si desarrollamos con TDD) • Escribiremos las tareas en forma de ítems de trabajo en etiquetas que pegaremos en el tablero Kanban • Los ítems de trabajo sí que pueden ser partes “horizontales” del proyecto Metodologías Ágiles de Desarrollo de Software 10 Domingo Gallardo, DCCIA, Univ. Alicante
  • 11. Post-it con el ítem de trabajo • Descripción del ítem de trabajo. Concisa, precisa y entendible por todos los miembros del equipo. • • • • Fecha de comienzo • 10-10-13 24-10-13 Código de identificación con el que podemos encontrar más información sobre el ítem en otro lugar (sistema on-line, etc.) • Plazo de finalización Tamaño del ítem (S,M,L) Quién está trabajando en el ítem. Lo ideal sería un avatar pegado encima de la etiqueta. Indicador de progreso (cuánto se ha avanzado en el ítem) #TSK: 1304 CREAR PDF CON LA FICHA INFORMATIVA DEL ESTUDIANTE M @ Avatars: nitsnets Metodologías Ágiles de Desarrollo de Software 11 Domingo Gallardo, DCCIA, Univ. Alicante
  • 12. Tipos de trabajo • Tipos de trabajos • • • • Nuevas características (historias de usuario) Solucionar bugs y deuda técnica Tareas de soporte Etiqueta distinta para cada uno Kanban in Action Metodologías Ágiles de Desarrollo de Software 12 Domingo Gallardo, DCCIA, Univ. Alicante
  • 13. El tablero Kanban • El objetivo principal del tablero Kanban es mostrar visualmente en qué está trabajando el equipo en un momento dado • Principales utilidades: • Elemento fundamental para la reflexión, la comunicación y la discusión en las reuniones de pie diarias • Medir distintas métricas relacionadas con el flujo: número de ítems terminados por semana, WIP • Definir políticas estrictas de flujo de trabajo y de terminación (Definition of Done) Metodologías Ágiles de Desarrollo de Software 13 Domingo Gallardo, DCCIA, Univ. Alicante
  • 14. Un ejemplo de tablero Lean from the Trenches Henrik Kniberg, Lean From the Trenches Metodologías Ágiles de Desarrollo de Software 14 Domingo Gallardo, DCCIA, Univ. Alicante
  • 15. Políticas en el tablero Henrik Kinberg, Lean From the Trenches Metodologías Ágiles de Desarrollo de Software 15 Domingo Gallardo, DCCIA, Univ. Alicante
  • 16. Diferentes tipos de trabajo Henrik Kniberg, Lean From the Trenches Metodologías Ágiles de Desarrollo de Software 16 Domingo Gallardo, DCCIA, Univ. Alicante
  • 17. Buffers Henrik Kniberg, Lean From the Trenches Metodologías Ágiles de Desarrollo de Software 17 Domingo Gallardo, DCCIA, Univ. Alicante
  • 18. Estadísticas Henrik Kniberg, Lean From the Trenches Metodologías Ágiles de Desarrollo de Software 18 Domingo Gallardo, DCCIA, Univ. Alicante
  • 19. Escalar el tablero: tres equipos trabajando en el mismo proyecto Henrik Kniberg, Lean From the Trenches Metodologías Ágiles de Desarrollo de Software 19 Domingo Gallardo, DCCIA, Univ. Alicante
  • 20. 2. Limitar el WIP Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ. Alicante
  • 21. Límite de trabajos en progreso Henrik Kniberg, Lean From the Trenches Metodologías Ágiles de Desarrollo de Software 21 Domingo Gallardo, DCCIA, Univ. Alicante
  • 22. Un límite por estado del flujo Metodologías Ágiles de Desarrollo de Software 22 Domingo Gallardo, DCCIA, Univ. Alicante
  • 23. ¿Por qué limitar el WIP? • • Evitar exceso de multitarea • El límite del WIP debe establecerse por consenso entre todos los implicados en el proyecto • La tensión creada por establecer un WIP obliga a discusiones y análisis beneficiosos para el equipo y el proyecto Evitar sobrecargas en las siguientes partes de la cadena de proceso (downstream) Metodologías Ágiles de Desarrollo de Software 23 Domingo Gallardo, DCCIA, Univ. Alicante
  • 24. Limitando el WIP se aumenta el throughput © Henrik Kniberg Metodologías Ágiles de Desarrollo de Software 24 Domingo Gallardo, DCCIA, Univ. Alicante
  • 25. ¿Cuál es el límite óptimo? • • Se obtiene midiendo, experimentando y mejorando • Estudiar el flujo y optimizar el límite (Kanban es un proceso empírico) Empezar usando alguna regla sencilla: 2n-1, siendo n el número de personas trabajando en esa fase Metodologías Ágiles de Desarrollo de Software 25 Domingo Gallardo, DCCIA, Univ. Alicante
  • 26. Optimizar el límite de WIP © Henrik Kniberg Metodologías Ágiles de Desarrollo de Software 26 Domingo Gallardo, DCCIA, Univ. Alicante
  • 27. El límite de WIP obliga a terminar • Frase importante en Kanban Stop starting, start finishing • El límite de WIP obliga al equipo a centrarse en terminar tareas antes de poder acometer nuevas Metodologías Ágiles de Desarrollo de Software 27 Domingo Gallardo, DCCIA, Univ. Alicante
  • 28. Clases de servicio • En Kanban se pueden definir condiciones adicionales que afectan al límite de WIP según la clase de servicio (class of service) del ítem de trabajo • Ejemplo muy común: clase “Expedite” • • Ítems urgentes que tienen prioridad sobre el resto Se define un carril adicional en el tablero para ellos con un WIP de 1 (carril rápido o fast lane) Metodologías Ágiles de Desarrollo de Software 28 Domingo Gallardo, DCCIA, Univ. Alicante
  • 29. 3. Medir y optimizar el flujo de trabajo Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ. Alicante
  • 30. Cadena de valor • La definición de la cadena de valor (value chain) por la que pasan los ítems de trabajo es importante tanto para analizar el flujo como para construir el tablero Kanban Eficiencia del ciclo de proceso Henrik Kniberg & Mattias Skarin, Kanban and Scrum, InfoQ Metodologías Ágiles de Desarrollo de Software 30 Domingo Gallardo, DCCIA, Univ. Alicante
  • 31. Cycle Time o Lead Time • Tiempo medio que tarda un ítem de trabajo en ser procesado Henrik Kniberg, Lean from the Trenches Metodologías Ágiles de Desarrollo de Software 31 Domingo Gallardo, DCCIA, Univ. Alicante
  • 32. Throughput • • • En el mundo de los negocios y de los procesos de fabricación, el Throughput (rendimiento) es el ritmo al que un negocio es capaz de producir un producto o un servicio para una unidad de tiempo determinada En teoría de la información o redes se considera que el throughput es el ratio medio de mensajes correctos enviados a través de un canal En el mundo de la informática es el ratio de respuestas (SQL, peticiones HTTP, etc.) por unidad del tiempo que realiza el sistema Metodologías Ágiles de Desarrollo de Software 32 Domingo Gallardo, DCCIA, Univ. Alicante
  • 33. Objetivo: reducir la variabilidad • • • En Kanban se mide el throughput en ítems terminados Se estima en número de ítems Se supone que todos los ítems tienen tamaño similar Metodologías Ágiles de Desarrollo de Software 33 Domingo Gallardo, DCCIA, Univ. Alicante
  • 34. Work-In-Progress Metodologías Ágiles de Desarrollo de Software 34 Domingo Gallardo, DCCIA, Univ. Alicante
  • 35. Ley de Little • Relaciona los tres conceptos importantes del flujo: • • • Througput (TP) Work-in-Progress (WIP) Lead Time (LT) Metodologías Ágiles de Desarrollo de Software 35 Domingo Gallardo, DCCIA, Univ. Alicante
  • 36. ¿Cómo reducir el tiempo de ciclo? • Dos formas: • • Aumentar el Througuput Reducir el Work-In-Progress Work-In-Progress LT = WIP TP Lead Time Throughput Metodologías Ágiles de Desarrollo de Software 36 Domingo Gallardo, DCCIA, Univ. Alicante
  • 37. Receta para el cambio a Kanban Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ. Alicante
  • 38. Receta para el cambio a Kanban 1. Centrarse en la calidad (Focus on Quality) 2. Reducir el Work-In-Progress (Reduce Work-in-Progress) 3. Entregar con más frecuencia (Deliver Often) 4. Equilibrar la demanda con el rendimiento (Balance Demand against Throughput) 5. Priorizar (Prioritize) 6. Atacar las fuentes de la variabilidad para mejorar la predictibilidad (Attack Sources of Variability to Improve Predictability) David J. Anderson, Kanban, Cap. 3 Metodologías Ágiles de Desarrollo de Software 38 Domingo Gallardo, DCCIA, Univ. Alicante