1.4.4 Kanban
El método Kanban se deriva del sistema de producción Lean desarrollado en Toyota. "Kanban" es una palabra japonesa que significa "tablero". El tablero, o tablero Kanban como se le llama, desempeña un papel importante en la metodología Kanban. Este tablero muestra los elementos de trabajo en cada etapa del proceso de producción, según lo definido por el equipo.
He aquí un ejemplo sencillo de este tipo de tablero
Los cinco principios de Kanban
Visualizar el flujo de trabajo
Los proyectos de trabajo intelectual, por definición, manipulan el conocimiento, que es intangible e invisible. Por lo tanto, tener alguna forma de visualizar el flujo de trabajo es muy importante para organizarlo, optimizarlo y seguirlo.
Limitar el trabajo en curso
Limitar la cantidad de trabajo en curso mejora la productividad, aumenta la visibilidad de los problemas y los cuellos de botella y facilita la mejora continua. Esto hace que sea más fácil que el equipo identifique problemas y minimice el desperdicio, y el costo asociado con los cambios. Además, se consigue un "tirón" constante del trabajo pendiente, a través del esfuerzo de desarrollo, ya que el trabajo nuevo sólo puede avanzar a medida que se completa el trabajo existente.
Gestionar el flujo de trabajo
El seguimiento del flujo de trabajo a través de un sistema permite identificar los problemas y medir la eficacia de los cambios.
Explicite las políticas de procesos
Es importante explicar claramente cómo funcionan las cosas para que el equipo pueda debatir abiertamente las mejoras, de forma objetiva y no emocional o subjetiva.
Mejorar la colaboración
Mediante la medición y la experimentación científicas, el equipo debe apropiarse colectivamente de los procesos que utiliza y mejorarlos.
El sistema pull de Kanban
Kanban tiene varias características distintivas que lo diferencian de Scrum, XP y la metodología ágil genérica. La principal diferencia que debe entender es que los equipos Kanban emplean un "sistema pull" para mover el trabajo a través del proceso de desarrollo, en lugar de planificar su trabajo en iteraciones de tiempo limitado. Cada vez que un equipo Kanban completa un elemento de trabajo, desencadena un "pull" para jalar el siguiente elemento en el que trabajarán.
Como veremos, en el tablero Kanban sólo hay un número determinado de espacios disponibles para cada columna, y cada vez que hay un espacio vacío en el tablero, es una señal para que el equipo extraiga trabajo de las etapas anteriores, si hay algún elemento disponible. Así, el trabajo se extrae continuamente del lado izquierdo del tablero hacia el lado derecho.
Este sistema pull podría parecer lo mismo que mover elementos de trabajo a través del proceso, de izquierda a derecha en un tablero de tareas ágil, pero no lo es. En un tablero Kanban, la capacidad es lo que indica y restringe al equipo que lleve los elementos de trabajo a la siguiente fase del proceso. Por lo contrario, en un tablero de tareas ágiles, el equipo simplemente mueve los elementos de trabajo de izquierda a derecha para mostrar su estado en el proceso.
Este sistema pull significa que Kanban hace mucho menos hincapié en las iteraciones que los métodos ágiles. Aunque un equipo Kanban puede utilizar iteraciones si lo desea, el mecanismo de tracción que acabamos de describir significa que no hay necesidad de ello. Por supuesto, la mayoría de las organizaciones querrán que el equipo se comprometa a una cadencia de entrega que defina la frecuencia con la que los incrementos de trabajo estarán disponibles para su consumo. Sin embargo, la cadencia de desarrollo del equipo no necesita estar acoplada a esa cadencia de entrega, o a cualquier agregación de la misma.
Por ejemplo, un equipo ágil puede decidir utilizar iteraciones de dos semanas con lanzamientos en un entorno de prueba, así como lanzamientos en vivo a los clientes cada trimestre. Por lo tanto, dentro de cada plazo trimestral (13 semanas), normalmente tendrían aproximadamente seis iteraciones de trabajo realizadas (13/2= 6.5). Por lo tanto, el equipo sabe que tendrá seis iteraciones entre cada versión principal y planificará sus características e historias en consecuencia.
Por lo contrario, un equipo Kanban todavía podría tener lanzamientos trimestrales al cliente, pero no utilizarían ninguna iteración intermedia. En su lugar, cualquier paquete de trabajo aceptado que tengan listo sería candidato para la siguiente versión. Todavía pueden planificar y realizar un seguimiento de su trabajo para los lanzamientos, pero en lugar de utilizar métricas de velocidad como los puntos aceptados por iteración, utilizarían métricas de tiempo de ciclo, tiempo de entrega y rendimiento (como se describe más adelante).
Límites WIP (work in progress) en Kanban
Los límites de trabajo en curso se explicarán con más detalle más adelante, pero básicamente, este término se refiere a limitar el número de elementos que pueden estar en un determinado estado de progreso, definido por las columnas del tablero Kanban del equipo. Una vez que se alcanza el límite en la parte superior de una columna, no se pueden mover nuevos elementos a esa columna hasta que se mueva otro elemento.
Este es un ejemplo de un tablero Kanban con límites WIP:
Límites WIP (work in progress) en Kanban
En esta figura, vemos el backlog de los equipos en la primera columna. La segunda columna muestra que hay tres historias de usuario seleccionadas actualmente para su desarrollo, lo que está bien, ya que el límite de trabajo en curso en la parte superior de esa columna es de cuatro. Las columnas Desarrollo y Aceptación también tienen límites de trabajo en curso: tres y dos, respectivamente.
¿Por qué es tan importante limitar el trabajo en curso? La razón es que reducir el trabajo en curso aumenta la productividad de un equipo: acelera el ritmo al que se completa el trabajo. Si esta afirmación parece discutible, la relación entre el trabajo en curso y la productividad ha sido demostrada matemáticamente por la Ley de Little, como se ilustra a continuación. Esta ley demuestra que la duración de una cola (el tiempo que se tarda en terminar el trabajo) es proporcional a su tamaño (la cantidad de trabajo en curso). En otras palabras, las colas que limitan el trabajo en curso terminan antes.
La metodología de desarrollo Kanban ha contribuido a popularizar los tableros de tareas con límites WIP y los sistemas pull creados limitando el WIP. También da permiso y anima a los miembros del equipo a probar nuevos enfoques y cambiar procesos. Con un modelo de extracción continua, las iteraciones pueden no ser necesarias y, por tanto, actividades como la creación de estimaciones pueden considerarse un desperdicio y reducirse o eliminarse por completo.
A continuación, realizaremos ejercicios basado en lo que ha visto y escuchado en el video. Por favor, responda las siguientes preguntas.
| Opción correcta | Opciones |
|---|---|
|
|
a) Iteración rápida. |
|
|
b) Tablero. |
|
|
c) Reunión diaria. |
|
|
d) Entrega continua. |
| Opción correcta | Opciones |
|---|---|
| a) Iteración rápida. | |
| ✓ | b) Tablero. |
| c) Reunión diaria. | |
| d) Entrega continua. | |
| Sustento | En el contexto de gestión de proyectos, "Kanban" es un término japonés que significa "tablero". Este tablero se utiliza para visualizar el flujo de trabajo y gestionar las tareas a lo largo del proceso de desarrollo. |
| Opción correcta | Opciones |
|---|---|
|
|
a) Evitar la colaboración entre equipos. |
|
|
b) Limitar el trabajo en curso. |
|
|
c) Planificar todo el proyecto desde el principio. |
|
|
d) Centrarse únicamente en la entrega al final del ciclo. |
| Opción correcta | Opciones |
|---|---|
| a) Evitar la colaboración entre equipos. | |
| ✓ | b) Limitar el trabajo en curso. |
| c) Planificar todo el proyecto desde el principio. | |
| d) Centrarse únicamente en la entrega al final del ciclo. | |
| Sustento | Uno de los principios clave de Kanban es limitar el trabajo en curso (WIP), lo que ayuda a identificar cuellos de botella y mejorar la eficiencia al evitar que el equipo se sature con demasiadas tareas a la vez. |
| Opción correcta | Opciones |
|---|---|
|
|
a) Un método para acelerar el flujo de trabajo completando tareas más rápido. |
|
|
b) Un enfoque para empujar trabajo a los equipos independientemente de su capacidad. |
|
|
c) Un sistema donde las tareas se jalarán hacia adelante solo cuando haya capacidad disponible. |
|
|
d) Una técnica para forzar la finalización de tareas antes de comenzar nuevas. |
| Opción correcta | Opciones |
|---|---|
| a) Un método para acelerar el flujo de trabajo completando tareas más rápido. | |
| b) Un enfoque para empujar trabajo a los equipos independientemente de su capacidad. | |
| ✓ | c) Un sistema donde las tareas se jalarán hacia adelante solo cuando haya capacidad disponible. |
| d) Una técnica para forzar la finalización de tareas antes de comenzar nuevas. | |
| Sustento | En Kanban, un sistema "pull" significa que las tareas se mueven hacia adelante en el proceso solo cuando hay capacidad disponible, evitando la sobrecarga del equipo y manteniendo un flujo de trabajo más eficiente y manejable. |
| Opción correcta | Opciones |
|---|---|
|
|
a) Reduce la necesidad de comunicación entre el equipo. |
|
|
b) Aumenta la complejidad del proceso. |
|
|
c) Mejora la capacidad del equipo para identificar problemas y cuellos de botella. |
|
|
d) Hace que el trabajo sea más predecible y menos flexible. |
| Opción correcta | Opciones |
|---|---|
| a) Reduce la necesidad de comunicación entre el equipo. | |
| b) Aumenta la complejidad del proceso. | |
| ✓ | c) Mejora la capacidad del equipo para identificar problemas y cuellos de botella. |
| d) La necesidad de asegurar que toda la documentación esté completa antes de cualquier entrega de software. | |
| Sustento | Visualizar el flujo de trabajo en un tablero Kanban permite al equipo ver claramente el estado de cada tarea, lo que facilita la identificación de problemas y cuellos de botella que pueden estar ralentizando el proceso, permitiendo una intervención oportuna para mejorar el flujo de trabajo. |