Clase Metodologas de Programacin II 3 Clase 7

  • Slides: 42
Download presentation
Clase Metodologías de Programación II 3 Clase 7 Kanban y Scrumban UNAJ - Instituto

Clase Metodologías de Programación II 3 Clase 7 Kanban y Scrumban UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 1

Clase Metodologías de Programación II 3 Clase 7 – Parte I Kanban UNAJ -

Clase Metodologías de Programación II 3 Clase 7 – Parte I Kanban UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 2

Clase Metodologías de Programación II 3 7. 1. Kanban La palabra “kanban” deriva del

Clase Metodologías de Programación II 3 7. 1. Kanban La palabra “kanban” deriva del japonés y significa “tablero visual”. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 3

Clase Metodologías de Programación II 3 7. 1. Kanban Es un sistema de información

Clase Metodologías de Programación II 3 7. 1. Kanban Es un sistema de información que controla de modo armónico la fabricación de los productos necesarios en la cantidad y tiempo necesarios en cada uno de los procesos que tienen lugar tanto en el interior fábrica como entre distintas empresas. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 4

Clase Metodologías de Programación II 3 7. 1. Kanban Se lo conoce también como

Clase Metodologías de Programación II 3 7. 1. Kanban Se lo conoce también como “sistema de tarjetas” porque en su implementación más sencilla utiliza tarjetas que se pegan en los contenedores de materiales y que se despegan cuando estos contenedores son utilizados, para asegurar la reposición de dichos materiales. Las tarjetas y otros métodos más modernos de visualización de flujo, actúan de testigo del proceso de producción. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 5

Clase Metodologías de Programación II 3 7. 1. Kanban El Kanban se considera como

Clase Metodologías de Programación II 3 7. 1. Kanban El Kanban se considera como subsistema del JIT ("Just In Time" o justo a tiempo). UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 6

Clase Metodologías de Programación II 3 7. 1. Kanban En el contexto de desarrollo

Clase Metodologías de Programación II 3 7. 1. Kanban En el contexto de desarrollo de software, Kanban es un sistema visual de gestión de procesos que indica qué, cuándo y cuánto producir. Está inspirado en el Toyota Production System, desarrollado entre 1948 y 1975. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 7

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 1. Principios de

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 1. Principios de Kanban a) Comenzar con lo actual. b) Aplicar cambios incrementales. c) Respetar lo establecido. d) Liderazgo en todos los niveles. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 8

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 1. Principios de

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 1. Principios de Kanban a) Comenzar con lo actual El método Kanban se inicia con las funciones y procesos que ya se tienen y estimula cambios continuos, incrementales y evolutivos al sistema. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 9

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 1. Principios de

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 1. Principios de Kanban b) Aplicar cambios incrementales Todos deben estar de acuerdo en que la manera de hacer mejoras en el sistema es el cambio continuo, gradual y evolutivo. Los cambios fuertes pueden parecer más eficaces, pero fracasan más debido a la resistencia y el miedo en la organización. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 10

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 1. Principios de

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 1. Principios de Kanban c) Respetar lo establecido Para facilitar el cambio futuro conviene respetar los roles, responsabilidades y cargos actuales, eliminando los temores iniciales. Esto permite obtener un mayor apoyo a la iniciativa Kanban. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 11

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 1. Principios de

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 1. Principios de Kanban d) Liderazgo en todos los niveles Kanban promueve acciones de liderazgo desde las personas de bajo rango hasta los gerentes. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 12

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas a) Visualizar el trabajo. b) Determinar el límite del WIP. c) Medir el lead time. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 13

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas a) Visualizar el trabajo Kanban se base en el desarrollo incremental, dividiendo el trabajo en partes. Una de las principales aportaciones es que utiliza técnicas visuales para ver la situación de cada tarea, y que se representa en pizarras llenas de post-it. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 14

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas a) Visualizar el trabajo Normalmente cada una de las partes del trabajo se escribe en un post-it y se pega en un pizarrón. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 15

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas a) Visualizar el trabajo Los post-it pueden tener información variada, aunque en particular deberían tener la estimación de la duración de la tarea. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 16

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas a) Visualizar el trabajo La pizarra tiene tantas columnas como estados por los que puede pasar la tarea. Por ejemplo, “en espera de ser desarrollada”, “en análisis”, “en diseño”, etc. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 17

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas a) Visualizar el trabajo UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 18

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas a) Visualizar el trabajo El objetivo de esta visualización es quede claro el trabajo a realizar, en qué está trabajando cada persona, que todo el mundo tenga algo que hacer y el tener clara la prioridad de las tareas. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 19

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas a) Visualizar el trabajo UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 20

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas b) Límite del WIP Una de las principales ideas del Kanban es que el trabajo en curso (Work In Progress) debería estar limitado, es decir, que el número de tareas que se pueden realizar en cada fase debe ser algo conocido. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 21

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas b) Límite del WIP Independientemente del tamaño y la complejidad de un proyecto, hay una cantidad de trabajo óptima que se puede realizar sin sacrificar eficiencia. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 22

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas b) Límite del WIP Cantidad de tareas simultáneas 10 3 Una semana Un día 15 tareas en una semana UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 23

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas b) Límite del WIP En Kanban se deben definir cuántas tareas como máximo se pueden realizar en cada fase del ciclo de trabajo. Por ejemplo: 4 tareas en desarrollo y 2 tareas de pruebas. A esos números se los llama límite del WIP (work in progress). UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 24

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas b) Límite del WIP UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 25

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas c) Medir el lead time El tiempo que se tarda en terminar cada tarea se debe medir, y se llama “lead time”. El “lead time” cuenta desde que se hace una petición hasta que se concreta la entrega. Lead Time Creación de la tarea UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática Entrega 26

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas c) Medir el lead time Kanban también suele utilizar el “cycle time”. Es otra métrica que mide el tiempo, pero desde que el comienza hasta que termina el trabajo efectivo sobre una tarea. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 27

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 2. Principales reglas c) Medir el lead time El “lead time” mide lo que ven y esperan los clientes, mientras el “cycle time” mide más el rendimiento del proceso. Lead Time Cycle Time Creación de la tarea Inicio del trabajo UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática Entrega 28

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 3. Roles La

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 3. Roles La metodología Kanban no prescribe roles. Tener un papel asignado y las tareas asociadas a dicho papel crean una identidad en el individuo. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 29

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 3. Roles Por

Clase Metodologías de Programación II 3 7. 1. Kanban 7. 1. 3. Roles Por lo tanto, pedir que adopten un nuevo papel o un nuevo puesto de trabajo puede ser entendido como un ataque a su identidad. Habría una resistencia al cambio. Kanban trata de evitar esa resistencia emocional y entiende que la ausencia de papeles es una ventaja para el equipo. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 30

Clase Metodologías de Programación II 3 Clase 7 – Parte II Scrumban UNAJ -

Clase Metodologías de Programación II 3 Clase 7 – Parte II Scrumban UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 31

Clase Metodologías de Programación II 3 7. 2. Scrumban es una metodología derivada de

Clase Metodologías de Programación II 3 7. 2. Scrumban es una metodología derivada de los métodos de desarrollo Scrum y Kanban. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 32

Clase Metodologías de Programación II 3 7. 2. Scrumban 7. 2. 1 Uso Es

Clase Metodologías de Programación II 3 7. 2. Scrumban 7. 2. 1 Uso Es un modelo de desarrollo especialmente adecuado para proyectos: -De mantenimiento; -Con historias de usuario que varíen con frecuencia; -En los que surjan errores de programación inesperados durante todo el ciclo de desarrollo. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 33

Clase Metodologías de Programación II 3 7. 2. Scrumban 7. 2. 1 Uso Para

Clase Metodologías de Programación II 3 7. 2. Scrumban 7. 2. 1 Uso Para estos casos, los sprints de la metodología Scrum no son factibles, dado que los errores e impedimentos que surgirán a lo largo de las tareas son difíciles de determinar y por lo tanto no es posible estimar el tiempo que conlleva cada historia. Resulta mejor adoptar un flujo de trabajo continuo propio del modelo Kanban. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 34

Clase Metodologías de Programación II 3 7. 2. Scrumban 7. 2. 1 Uso Pueden

Clase Metodologías de Programación II 3 7. 2. Scrumban 7. 2. 1 Uso Pueden tomarse características de Scrum y de Kanban, pese a sus diferencias, por ejemplo: -Las reglas de Kanban son muchas menos que las de Scrum; -Kanban no define iteraciones mientras Scrum tiene los sprints; -Kanban limita explícitamente las tareas que se pueden realizar por fase (límite del WIP). UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 35

Clase Metodologías de Programación II 3 7. 2. Scrumban 7. 2. 2. Herencia Scrumban

Clase Metodologías de Programación II 3 7. 2. Scrumban 7. 2. 2. Herencia Scrumban toma de Scrum: a) Roles: cliente, equipo (con los diferentes perfiles que se necesiten). b) Reuniones: reunión diaria. c) Herramientas: pizarrón. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 36

Clase Metodologías de Programación II 3 7. 2. Scrumban 7. 2. 2. Herencia Scrumban

Clase Metodologías de Programación II 3 7. 2. Scrumban 7. 2. 2. Herencia Scrumban toma de Kanban: -Flujo visual. -Hacer lo que sea necesario, cuando sea necesario y sólo la cantidad necesaria. -Limitar el WIP. -Optimización del proceso. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 37

Clase Metodologías de Programación II 3 7. 2. Scrumban 7. 2. 3. Scrum vs.

Clase Metodologías de Programación II 3 7. 2. Scrumban 7. 2. 3. Scrum vs. Scrumban Herramientas Pizarrón Backlog Burndown Pizarrón Iteraciones Sí (sprints) No (flujo continuo) UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 38

Clase Metodologías de Programación II 3 7. 2. Scrumban 7. 2. 3. Scrum vs.

Clase Metodologías de Programación II 3 7. 2. Scrumban 7. 2. 3. Scrum vs. Scrumban Sí No Equipo Multidisciplinario Puede ser especializado Cambios Se pasan al siguiente sprint Se agregan a la columna “hacer” Estimaciones UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 39

Clase Metodologías de Programación II 3 7. 2. Scrumban 7. 2. 3. Scrum vs.

Clase Metodologías de Programación II 3 7. 2. Scrumban 7. 2. 3. Scrum vs. Scrumban Reuniones Diaria Planificación Retrospectiva Diaria WIP Controlado por el contenido del sprint Se agregan a la columna “hacer” UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 40

Clase Metodologías de Programación II 3 7. 2. Scrumban 7. 2. 3. Scrum vs.

Clase Metodologías de Programación II 3 7. 2. Scrumban 7. 2. 3. Scrum vs. Scrumban Scrum Impedimentos Solución inmediata Roles Product Owner Scrum Master Equipo UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática Scrumban Se evitan Equipo + Otros 41

Clase Metodologías de Programación II 3 Bibliografía -Anderson, D. (2010) "Kanban - Successful Evolutionary

Clase Metodologías de Programación II 3 Bibliografía -Anderson, D. (2010) "Kanban - Successful Evolutionary Change for your Technology Business". -Ladas, C. (2009). "Scrumban - Essays on Kanban Systems for Lean Software Development". -Mitchell, I. (2013). "Scrumban - or How to Get Leaner by Sprinting Less". -Robson, S. (2013). "Agile SAP: Introducing Flexibility, Transparency and Speed to SAP Implementations". -Singhal, J. (2013). "Scrum. Ban Guide: A Practical Guide and an Agile Practitioner's Essential Reference“. UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 42