Vous êtes sur la page 1sur 42

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 - 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 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 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 “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 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 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 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 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 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 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 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

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

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

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

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

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

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

a) Visualizar el trabajo
El objetivo de esta visualización es que 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

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

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

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

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

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

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

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 Entrega
la tarea

UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 26


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

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 Inicio del Entrega


la tarea trabajo

UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 28


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 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 - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 31


Clase
Metodologías de Programación II 3

7.2. Scrumban

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 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 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 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 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 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. Scrumban

Scrum Scrumban

Pizarrón
Herramientas Backlog Pizarrón
Burndown
Sí No
Iteraciones
(sprints) (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. Scrumban

Scrum Scrumban

Estimaciones Sí No
Puede ser
Equipo Multidisciplinario
especializado
Se pasan al Se agregan a la
Cambios
siguiente sprint columna “hacer”

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. Scrumban

Scrum Scrumban

Diaria
Reuniones Planificación Diaria
Retrospectiva

Controlado Se agregan
WIP por el contenido a la columna
del sprint “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. Scrumban

Scrum Scrumban

Impedimentos Solución inmediata Se evitan


Product Owner
Roles Scrum Master Equipo + Otros
Equipo

UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 41


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). "ScrumBan 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

Vous aimerez peut-être aussi