3.2 Kanban. Tema 3: Scrum y Kanban. Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ. Alicante, 2014-15

Documentos relacionados
Kanban II. Sesión 6a. Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ. Alicante

Introducción a Kanban

5.1 Historias de usuario

Kanban vs. Scrum. Sesión 6b. Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ. Alicante

1.3 - Desarrollo Lean

Desarrollo Agil. Introduccion a desarrollo agil. Periodo: Inicio: Ago 14, 2012 Termino: Nov 27, 2012

Incremento continuo con KANBAN

La alternativa. ágil. V5.7

Metodología ágil scrumban en el proceso de desarrollo y mantenimiento de software de la norma moprosoft

Kanban. Su uso en el desarrollo de software. Autor: Norberto Figuerola

DES. Fundamento Institucional. Objetivos. Alcance

con Scrum y Kanban Gustavo Quiroz Madueño Open Edge Technologies

Guía rápida pero no milagrosa para la Implementación de Kanban

4.1.1_Reunión de Planificación de Sprint (Sprint Planning Meeting) 4.1.2_Objetivo del Sprint (Sprint Goal) 4.1.4_Revisión de Sprint (Sprint Review)

SÍNTESIS Y PERSPECTIVAS

MADS 1.2- Introducción a la asignatura. Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ.

Lean Kanban: el método de gestión de las empresas competitivas. Teodora

Planificación en Team Foundation Server 2010

Aplicación de metodologías Ágiles en TI. Elsa Mangione, PMP, PMI-ACP, CSM II Reunión de Miembros Abierta. Mendoza, 2013.

helpdesk Quobis Manual de usuario Documento: Documento Técnico Manual de usuario del Zendesk Versión 0.1 Fecha : 30/10/13 Autor Eduardo Alonso

Qué es Scrum? Basado en el texto Explicando Scrum a mi abuela de Jorge Serrano - MVP Visual Developer - Visual Basic

TUTORIAL: Cómo puedo instalar el Renault Media Nav Toolbox? TUTORIAL: Cómo puedo crear una "huella digital" del dispositivo en un dispositivo de

Desarrollo Ágil. Introducción a desarrollo ágil. Periodo: Inicio: Ago 14, 2012 Termino: Nov 27, 2012

SIMULACIONES ACTIO 2012

Guía de Apoyo Project Professional

Introducción. Cómo utilizar el sistema. Tools : Portal de Cliente de Atlas - Manual para clientes

El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos.

Gestión de proyectos

Resumen de la solución SAP SAP Technology SAP Afaria. Gestión de la movilidad empresarial para mayor ventaja competitiva

XI Encuentro Danysoft Sala TFS. Descubriendo TFS

Administración Colaborativa de Riesgos

PROGRAMA FORMACIÓN ACTIO 2013

Centro de Capacitación en Informática

Lean Kanban: el método

4 a 8 semanas. Equipos pequeños 5 a 9 miembros. Informal. Cara a cara. En cada entrega el cliente dará su aportación. Sólo documentación básica

Desarrollo Ágil. Introducción a desarrollo ágil. Periodo: Inicio: Ago 14, 2012 Termino: Nov 27, 2012

La Administración de Proyectos

Gestión de Oportunidades

Value Stream Mapping, un enfoque de sistemas en el mundo empresarial. MI Alfonso Cipriano Octaviano Villasana

Administrador de Proyectos Seis Sigma

Artículo dedicado a la Innovación y Mejores Prácticas en la Ingeniería de Negocios

Caso práctico de Cuadro de Mando con Tablas Dinámicas

Simulaciones y Juegos formativos

Manual del Investigador de OpenClinica

Gestión de Equipos de Desarrollo. Max Déboli Director de Desarrollo Lagash MVP Azure

CAPÍTULO 1 1. INTRODUCCIÓN. En el capítulo siguiente se presentan los antecedentes de la empresa de

Mesa de Ayuda Interna

MICROSOFT PROJECT 2010

/05/2009

La Tecnología líder en Simulación

MANUAL DEL USUARIO: EDITOR E-COMMERCE

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática

Mantenimiento Limpieza

Implantación aplicación Concerto en ANAV para la planificación de modificaciones de diseño

Manual CMS Mobincube


Trebelius SISTEMA INTEGRADO DE GESTION DE CLINICAS

PROPÓSITO... 2 DETERMINANTES PARA UNA BUENA EXPERIENCIA DE USO...

Introducción a la asignatura MADS-1.0

6 Anexos: 6.1 Definición de Rup:

Mejora Ágil de Procesos

Project Ing. Christian Ovalle

Está creado como un organizador y gestor de tareas personalizables para generar equipos de alto desempeño en diferentes rubros de empresas.

Análisis y cuantificación del Riesgo

Desarrollo ecológico. Beneficios de la integración continua en desarrollos Agile 23/04/2015

Certified Scrum Developer (CSD), Módulo 3 y Track Completo

El proceso de Instalación de Microsoft SQL Server 2008

Metodologías Ágiles Desde una Perspectiva de Project Management. Fernando Contreras Velásquez Project Management & Engineering Services.

Actualmente existen dos maneras de enviar y publicar las estadísticas en la página web de la Federación Española de Baloncesto:

SSTQB. Nivel Fundamentos. Examen ejemplo. Programa de estudios 2010

PROCESO DE VENTA CONSULTIVA MÓDULO DE GESTIÓN DE OPORTUNIDADES DE NEGOCIO

PRU. Fundamento Institucional. Objetivos. Alcance

Tema 5. Gestión de Proyectos (ISG3)

Gestión de Proyectos con Metodologías Ágiles (Scrum)

ing Solution La forma más efectiva de llegar a sus clientes.

Agile, Scrum & extreme Progammig

CONSTRUCCIÓN DEL PROCESO ADMINISTRADOR DE PROYECTOS SEIS SIGMA Bizagi Process Modeler

Gestión de la Configuración

+ Cómo ahorrar dinero con Software Quality

Soluciones Informáticas para Teoría de Restricciones (TOC)

La ventana de Microsoft Excel

App para realizar consultas al Sistema de Información Estadística de Castilla y León

MOC Mastering Microsoft Project 2010

COPPEL MANUAL TÉCNICO MCC DE SISTEMAS PROGRAMACIÓN DESCRIPCIÓN DEL PROCESO DE ARQUITECTURA DE SOFTWARE

Reporte inicial. Metodología

Sistemas de control Outdoor solutions

MANUAL DE NAVEGACIÓN DEL SIIA-WEB versión PRONAD

Parametrización Scrum - Template Confluence

Introducción al Valor Acumulado

Cómo sabes si tus esfuerzos en Social Media te están dando resultados? Para eso hay que medir, y Google Analytics ha venido a ayudarnos.

Diagrama de GANTT. Cómo crear un diagrama de GANTT

Decisión: Indican puntos en que se toman decisiones: sí o no, o se verifica una actividad del flujo grama.

TUTORIAL BÁSICO. Gestión de actividades

CALIDAD DE SOFTWARE (CSO) Práctica 2: Calidad de Arquitecturas Software. Introducción a ATAM

La medición funcional de software con SCRUM

ANÁLISIS Y GESTIÓN DEL DESARROLLO DE SOFTWARE TEMA 5: LA PLANIFICACIÓN DEL PRODUCTO

Base de datos en Excel

Seminario Electrónico de Soluciones Tecnológicas sobre Content Networking

Mantenimiento de Sistemas de Información

PROCEDIMIENTO ESPECÍFICO. Código S-VII-01 Edición 0

Transcripción:

3.2 Kanban Tema 3: Scrum y Kanban

Introducción a Kanban

Historia Orígenes en los sistemas de fabricación lean y en los sistemas pull Entre 2003 y 2010 trabajo de David J. Anderson en los equipos de desarrollo de Microsoft y Corbis para adaptar estos sistemas al desarrollo de software Presentación en sociedad en la conferencia Agile 2007 en Washington Crece el interés: 6 presentaciones en Agile 2008 en Toronto Publicación del libro de David J. Anderson en 2010 Aceptación por la comunidad ágil e integración con la metodología más aceptada en este momento: Scrum David J. Anderson Kanban 3

Motivaciones Conseguir un ritmo de trabajo sostenible en el desarrollo de software Visualizar en todo momento la carga de trabajo del equipo de desarrollo (WIP: Work In Progress, trabajo en progreso) Visualizar y estandarizar el flujo de trabajo de las historias de usuario Políticas explícitas (definition of Done, límites WIP, etc.) Kanban 4

Qué equipo necesita mejorar? Todo Doing Done this week Todo Doing Done this week Avg lead time: 20 days Avg lead time: 3 days Henrik Kniberg Kanban 5

Jardines Imperiales de Tokio En las entradas dan a cada persona una tarjeta que hay que devolver a la salida No se cobra en ningún momento Para qué sirve la tarjeta? Límite en el número de personas dentro del recinto (WIP) Kanban 6

Kanban in a nutshell Visualizar el flujo de trabajo 1. Dividir el trabajo en pequeñas partes, escribir cada elemento en una tarjeta y ponerla en un tablero 2. Crear un tablero compartido por el equipo, dividido en columnas que identifican en qué parte del flujo de trabajo se encuentra el elemento Henrik Kniberg Limitar el WIP (Work In Progress, trabajo en progreso): asignar un límite al número de elementos que puede haber en cada estado del flujo de trabajo Medir el tiempo medio de terminación de un elemento (llamado lead time o cycle time) y optimizar el proceso para hacerlo tan pequeño y predecible como sea posible Kanban 7

Kanban 8

Kanban 9

Kanban 10

Kanban 11

Kanban 12

Kanban 13

Kanban 14

Juego: Pasar las monedas Kanban 15

3 rondas 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 Each manager: Start the timer when your worker receives coin #1 3 rounds Each Stop manager: the timer when your worker sends coin #20 Cuánto tarda cada Start the timer Ronda when 1: your tamaño worker receives del batch coin 20 #1 trabajador? Ronda 1 Ronda 2 Ronda 3 3 rounds Round A: Batch size 20 Round Round Stop Round the timer when your worker sends coin #20 Lisa David Martín María Cuándo recibe el cliente la primera moneda? Cuándo recibe el cliente la última moneda? How long did each worker take? How long did each worker take? Lisa Lisa David Jack David Maria Jack How long did each When worker did take? the customer Maria receive the first coin? When did the When customer did the receive customer receive the first coin? the last coin? When did the customer receive A Round A 3 rounds Lisa David Round A the last coin? Jack Henrik Kniberg Maria Henrik Kniberg When did the customer receive the first coin? When did the customer receive the last coin? B Round B Round B C Round C Round C Round A: Batch size 20 Round B: Batch size 5 Ronda 2: tamaño del batch 5 Round B: Batch size 5 Each manager: Start the timer when your worker receives coin #1 Stop the timer when your worker sends coin #20 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 Round C: Batch size 1 216 216 Kanban 16

Resultado típico Kanban 17

Algunas preguntas Qué ha pasado con el tiempo total? Por qué? Qué ha pasado con el tiempo de cada trabajador individual? 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é representan las monedas? Qué no es aplicable en el desarrollo de software? Kanban 18

One day in Kanban land Henrik Kniberlg, One day in Kanban land

One day in Kanban land ( Henrik Kniberg) Kanban 20

One day in Kanban land ( Henrik Kniberg) Kanban 21

One day in Kanban land ( Henrik Kniberg) Kanban 22

One day in Kanban land ( Henrik Kniberg) Kanban 23

One day in Kanban land ( Henrik Kniberg) Kanban 24

One day in Kanban land ( Henrik Kniberg) Kanban 25

One day in Kanban land ( Henrik Kniberg) Kanban 26

One day in Kanban land ( Henrik Kniberg) Kanban 27

One day in Kanban land ( Henrik Kniberg) Kanban 28

One day in Kanban land ( Henrik Kniberg) Kanban 29

One day in Kanban land ( Henrik Kniberg) Kanban 30

One day in Kanban land ( Henrik Kniberg) Kanban 31

One day in Kanban land ( Henrik Kniberg) Kanban 32

1. Visualizar el flujo de trabajo

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? Kanban 34

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 Los ítems de trabajo tampoco pueden ser demasiado pequeños 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> Como estudiante quiero generar un PDF con mi expediente para guardar un resumen de mi expediente y poder entregarlo a quien me lo pida Independent Negotiable Valuable Estimable Small Testable Acrónimo creado por Bill Wake www.xp123.com Kanban 35

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 Quién está trabajando en el ítem. Lo ideal sería un avatar pegado encima de la etiqueta. Plazo de finalización Código de identificación con el que podemos encontrar más información sobre el ítem en otro lugar (sistema online, etc.) Indicador de progreso (cuánto se ha avanzado en el ítem) Tamaño del ítem (S,M,L) 10-10-13 24-10-13 #TSK: 1304 CREAR PDF CON LA FICHA INFORMATIVA DEL ESTUDIANTE M @ Avatars: nitsnets Kanban 36

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) Kanban 37

Tablero Kanban http://ketiljensen.wordpress.com/2009/10/31/kanban-the-next-step-in-the-agile-evolution/ Kanban 38

Un sistema Kanban sencillo To Do Doing Done this week 5 3 Migrate invoicing reports to the new format amet, co nse ctetur amet, co nse ctetur amet, co nse ctetur 12 amet, co nse ctetur amet, co nse ctetur amet, co nse ctetur amet, co nse ctetur Lead time (days) 9 6 7 amet, co nse ctetur amet, co nse ctetur 3 5 3 Avg cycle time: 5 days 0 w1 w2 w3 w4 w5 w6 8 10 7 7 9 Henrik Kniberg Kanban 39

Kanban kick-start example ( Henrik Kniberg) Henrik Kniberg Next Analysis Development Acceptance Prod 2 3 3 2 2009-09-03 ipsum dolor sit amet, co nse ctetur adi pis cing elit nisl Ongoing 2009-09-02 amet, nse ctetur adi pis elit nisl Kanban kick-start example Done 2009-09-01 orem ipsum orem ipsum dolor dolor sit amet, co nse adi pis cing elit nisl Ongoing 2009-08-30 2009-09-08 amet, co adi pis cing elit nisl www.crisp.se/kanban/example xxxx kjd orem ipsum dj dolor d xxx sit Done 2009-08-27 amet, ctetur adi pis cing elit nisl Ongoing 2009-08-27 amet, adi pis cing elit nisl Done version 1.2 2009-11-16 2009-08-20 orem olor sit amet, co nse ctetur adi pis cing elit nisl 2009-08-20 2009-08-25 adi pis cing elit nisl 2009-08-22 amet, co 2009-09-02 orem ipsum dolor sit amet, co nse 2009-08-29 amet, nse ctetur adi pis cing elit nisl 2009-08-26 orem adi pis cing elit nisl 2009-08-25 ctetur adi pis cing elit nisl Definition of Done: Goal is clear First tasks defined Story split (if necessary) Definition of Done: Code clean & checked in on trunk Integrated & regression tested Running on UAT environment Definition of Done: Customer accepted Ready for production Feature / story Date when added to board 2009-08-20 2009-09-30 (description) Hard deadline (if applicable) = priority = panic Who is analyzing / testing right now Task / defect (description) (description) (description) Why (description) =task = completed = blocked (description) =defect = who is doing this right now What to pull first Panicfeatures (should be swarmed and kept moving. Interrupt other work and break WIP limits as necessary) Priority features Hard deadline features (only if deadline is at risk) Oldest features Kanban 40

Ejemplos de tableros Kanban Mattias Skarin, 10 kanban boards and their context Kanban 41

Ejemplos de tableros Kanban Mattias Skarin, 10 kanban boards and their context Kanban 42

Ejemplos de tableros Kanban Mattias Skarin, 10 kanban boards and their context Kanban 43

Kanban evoluciona en cada equipo Kanban 44

Un ejemplo de tablero - Lean from the Trenches Henrik Kniberg, Lean From the Trenches Kanban 45

Políticas en el tablero Henrik Kinberg, Lean From the Trenches Kanban 46

Diferentes tipos de trabajo Henrik Kniberg, Lean From the Trenches Kanban 47

Buffers Henrik Kniberg, Lean From the Trenches Kanban 48

Estadísticas Henrik Kniberg, Lean From the Trenches Kanban 49

Escalar el tablero: tres equipos trabajando en el mismo proyecto Henrik Kniberg, Lean From the Trenches Kanban 50

Tablero on-line? Problemas principales No visible en un lugar del espacio de trabajo Poca resolución de pantalla y necesidad de hacer scroll para ver todo de un vistazo Falta de flexibilidad Ventajas Cálculo automático de diagramas y velocidades Consultas ( Qué está haciendo Fulanito? Cuánto tiempo lleva esta tarea aparcada?,...) Solución Actualizar diariamente una copia del tablero físico en alguna herramienta on-line Kanban 51

2. Limitar el WIP

Límite de trabajos en progreso Henrik Kniberg, Lean From the Trenches Kanban 53

Un límite por estado del flujo Kanban 54

Por qué limitar el WIP? Evitar exceso de multitarea Evitar sobrecargas en las siguientes partes de la cadena de proceso (downstream) 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 Kanban 55

Limitando el WIP se aumenta el throughput Henrik Kniberg Kanban 56

Cuál es el límite óptimo? Se obtiene midiendo, experimentando y mejorando Empezar usando alguna regla sencilla: 2n-1, siendo n el número de personas trabajando en esa fase Estudiar el flujo y optimizar el límite (Kanban es un proceso empírico) Kanban 57

Optimizar el límite de WIP Henrik Kniberg Kanban 58

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 Kanban 59

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 Nuevas características (historias de usuario) Solucionar bugs y deuda técnica Tareas de soporte 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) Kanban in Action Kanban 60

3. Medir y optimizar el flujo (tiempo medio de terminación)

Tiempo medio de terminación (cycle time o lead time) Tiempo medio que tarda un ítem de trabajo en ser procesado en cada paso Equivalente al número de ítems terminados por unidad de tiempo Se suele analizar su evolución a lo largo del proyecto usando lo que se denomina diagrama de flujo acumulativo Henrik Kniberg, Lean from the Trenches Su cálculo es muy sencillo: basta una hoja de cálculo (o incluso una pizarra) Diagrama de fujo acumulativo Kanban 62

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 y detectar cuellos de botella Eficiencia del ciclo de proceso Henrik Kniberg & Mattias Skarin, Kanban and Scrum, InfoQ Kanban 63

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 Kanban 64

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 Kanban 65

Bibliografía Libros básicos Marcus Hammarberg, Joakim Sunden, Kanban in Action Henrik Kniberg, Kanban and Scrum, pp. 1-51 Libros avanzados David J. Anderson, Kanban Kanban 66