Si alguna vez ha pedido comida en una franquicia de comida rápida, entonces, ¡ha visto a Kanban en acción! Una vez que el cajero toma su pedido, entra en una cola de «To Do». El próximo trabajador disponible en la estación correspondiente avanza el pedido a la cola de «Hacer» preparando el sándwich o llenando la bebida trabajando en elementos individuales del pedido. A medida que se le entrega cada artículo del pedido y todos los artículos se marcan como completados, ¡el pedido pasa a la cola «Terminado»! ¡Kanban es un marco basado en procesos que se destaca más por mejorar continuamente el proceso que por buscar el proceso perfecto!
Kanban es un término japonés que significa “señal visual”. Limitada por los recursos y suministros, la industria automotriz en Japón siempre buscó aumentar la productividad y el rendimiento buscando continuamente mejorar el “tiempo de comercialización” mientras otorgaba autonomía a las personas más cercanas al trabajo para mejorar el proceso (Sugimori, Kusunoki, Cho, Uchikawa, 1977). ). Estas dos áreas de enfoque principales fueron los conceptos de producción «Just-In-Time» y «Respeto por los humanos» y estuvieron presentes desde la década de 1950 sentando las bases para la fabricación ajustada. Estas ideas surgieron cuando los ingenieros descubrieron que los trabajadores del supermercado abastecían los productos comestibles en función de las necesidades de inventario en lugar de los proveedores y usaban indicadores visuales de umbral para solicitar nuevos envíos.
Prácticas de Kanban
El Método Kanban es un medio para diseñar, administrar y mejorar los sistemas de flujo para el trabajo del conocimiento. El método también permite a las organizaciones comenzar con su flujo de trabajo existente e impulsar un cambio evolutivo. Pueden hacer esto visualizando su flujo de trabajo, limitar el trabajo en progreso (WIP) y dejar de comenzar y comenzar a terminar.
En esencia, por lo tanto, Kanban es un sistema de programación para procesos lean y otros Just in Time (JIT). En un proceso Kanban, generalmente hay «tarjetas» físicas (o virtuales) llamadas Kanban que se mueven a través del proceso de principio a fin. El objetivo es mantener un flujo constante de Kanban para que, a medida que se requiere inventario al final del proceso, se cree tanto al principio.
La filosofía central detrás de Kanban aboga por la transparencia del trabajo que está en proceso a través del sistema para que las personas puedan interactuar en los procesos y herramientas necesarios para realizar la experimentación suficiente en lugar de conformarse con el status quo. “Esta filosofía esbelta es la base de los principios de Kanban detrás de las prácticas esenciales de Kanban de mantener el flujo, eliminar el desperdicio y mejorar el aprendizaje continuo”, dice nuestro evangelista ágil, el Dr. Sriram Rajagopalan. Exploremos ahora estas prácticas esenciales de Kanban.
Visualización del flujo de trabajo
Hemos oído hablar del dicho: “¡Una imagen vale más que mil palabras!” porque la imagen crea un modelo mental de los estados actuales y futuros, así como los pasos individuales a través de los cuales la entrada se transforma en salida. En el mundo del liderazgo estratégico, donde la gestión de productos crea la estrategia del producto, este flujo de trabajo se puede ver en la cadena de valor de Porter sobre cómo se crea valor para el cliente a través de muchos procesos comerciales.
De manera similar, la visualización del trabajo y el flujo de trabajo permite que las personas y los equipos observen y realicen caminatas Gemba para eliminar cualquier riesgo para la entrega de valor exitosa. Estos riesgos pueden manifestarse como bloqueadores, colas, impedimentos o cuellos de botella. Visualizar el flujo de trabajo (la cantidad de tarjetas en cada carril) en los flujos de trabajo (las etapas en el carril) como se indica en el diagrama anterior permite que todos en el equipo de entrega del proyecto y la organización del producto aborden los riesgos de manera preventiva para garantizar el «flujo».
Trabajo en proceso (WIP)
Aunque muchos piensan que la multitarea es esencial, el concepto de dejar una tarea incompleta para elegir otra tarea y volver a la tarea original presenta la posibilidad de que no se complete ningún trabajo. Además, se dedica más tiempo a cambiar de contexto y comprender dónde quedaron las tareas anteriores. Lean destaca que el equilibrio de varias tareas al mismo tiempo provoca una menor productividad debido a los tiempos de espera introducidos y recomienda limitar el trabajo en curso para centrar la atención en el trabajo que se está realizando. De hecho, Kanban se refirió al concepto de «Hacer lo más tarde posible» que limita el trabajo en los requisitos que se entienden con menos claridad.
Con frecuencia, cuando hay demasiado trabajo en curso, hay una sobrecarga mayor debido a las largas colas. A veces, la gente piensa en estos límites WIP como una lista de verificación visual. Por otro lado, Kanban no es una lista de tareas pendientes sino que pone límites al trabajo en curso para evitar tiempos de espera y cuellos de botella en los recursos. En el diagrama anterior, puede ver un límite WIP aplicado en la columna «En progreso» que indica visualmente el exceso de capacidad. Por lo tanto, el enfoque cambia de administrar muchas cosas y terminar menos cosas a enfocarse en pocas cosas y completarlas por completo. Esta práctica es análoga a la afirmación: “¡Más vale pájaro en mano que dos volando!”
Flujo de trabajo
Una vez que se visualiza el trabajo sobre lo que ofrece valor y se establecen los límites WIP para reducir los efectos adversos del cambio de tareas, ¡uno puede concentrarse en optimizar el flujo! Todos los elementos en el tablero Kanban son parte del enfoque de «pensamiento sistémico» para mover los elementos sin procesar a la izquierda a los elementos completos a la derecha. El objetivo aquí es observar dónde se atasca el trabajo y destrabarlo porque el ‘espectáculo debe continuar’. Podría ser una falta de capacitación sobre los procesos y herramientas o una colaboración limitada entre los miembros del equipo, por ejemplo.
La gestión del flujo, por lo tanto, gira en torno a todos los aspectos de las personas, los procesos, la tecnología y la organización para evaluar si se deben comenzar a hacer cosas para mejorar el flujo, detener las cosas que no contribuyen al flujo y seguir haciendo cosas diferentes para aumentar el flujo. Estos aprendizajes provienen de las reuniones diarias, lecciones aprendidas o sesiones retrospectivas, o sesiones de revisión.
Hacer que las políticas de procesos sean explícitas
A medida que la organización identifica oportunidades para mejorar el sistema, este conocimiento se «escribe» en el propio tablero Kanban. Esto nos permite capturar y preservar el aprendizaje organizacional integrándolo en el sistema que usamos para administrar nuestro trabajo: el tablero Kanban. Hay muchas formas de modificar un tablero Kanban para hacer explícitas las políticas de proceso. Una es rediseñar el tablero para especificar cómo fluye el trabajo. Otra es usar los límites WIP para establecer explícitamente nuestra política sobre cuánto WIP podemos asumir.
Implementar circuitos de retroalimentación
Mientras se gestiona el flujo, se aprenden lecciones. Kanban enfatiza que los sistemas revelan cómo fluye el trabajo a través del flujo de valor monitoreado a través del tablero Kanban para que las personas mejoren continuamente. Esta mejora continua es la base de Kaizen. Algunos piensan en estas mejoras en términos de medir indicadores rezagados como la cantidad de riesgos que afectan el flujo, los límites WIP y el tiempo de entrega. Por lo tanto, las discusiones típicas en las retrospectivas pueden girar en torno a la cantidad de tarjetas bloqueadas, la cantidad total de días bloqueados, la cantidad de tarjetas completadas por semana y las diversas áreas que bloquean tarjetas.
Mejorar en colaboración, evolucionar experimentalmente
Sin embargo, Kanban también promueve el aprendizaje cualitativo, como los enfoques exploratorios y experimentales de las innovaciones intentadas. Estas innovaciones pueden ser radicales y se llaman Kaikaku. Por ejemplo, este nuevo conocimiento obtenido a partir de innovaciones radicales puede conducir al desarrollo de un nuevo producto, promover una mejor comprensión de los procesos para una implementación más rápida de los circuitos de retroalimentación y ayudar al conocimiento del equipo multifuncional para la capacidad, la transición y la planificación de la sucesión, y fomentar cohesión del equipo para colaborar en el valor empresarial.
Kanban para desarrollo de software
Lean Software Development es un conjunto de principios para entregar software de acuerdo con los principios de la manufactura esbelta. En un entorno esbelto, deben eliminarse las actividades o procesos que resultan en el gasto de esfuerzo y/o recursos hacia objetivos que no producen valor para el cliente. Esencialmente, Lean se centra en preservar el valor con menos trabajo. Los enfoques Lean son los componentes básicos del desarrollo Six-Sigma y Just-In Time (JIT).
Cuando se utiliza para el desarrollo de software, Kanban utiliza las etapas simplificadas del ciclo de vida de desarrollo de software (SDLC) para representar las diferentes etapas del proceso de fabricación. El objetivo es controlar y gestionar el flujo de funciones (representado por tarjetas Kanban) para que la cantidad de funciones que ingresan al proceso coincida con las que se completan.
Kanban es una metodología ágil que no es necesariamente iterativa. Los procesos como Scrum tienen iteraciones cortas que imitan el ciclo de vida de un proyecto a pequeña escala, con un comienzo y un final distintos para cada iteración. Kanban permite que el software se desarrolle en un gran ciclo de desarrollo continuo. A pesar de esto, Kanban es un ejemplo de una metodología ágil porque cumple con los doce principios detrás del manifiesto Agile, porque si bien no es iterativo, es incremental .
El principio detrás de Kanban que le permite ser incremental y ágil es el rendimiento limitado. Sin iteraciones, un proyecto Kanban no tiene puntos de inicio o finalización definidos para elementos de trabajo individuales. Cada elemento de trabajo puede comenzar y finalizar de forma independiente, y los elementos de trabajo no tienen una duración predeterminada. En cambio, se reconoce que cada fase del ciclo de vida tiene una capacidad limitada de trabajo en un momento dado. Se crea un pequeño elemento de trabajo a partir de la lista de requisitos priorizados y no iniciados y luego comienza el proceso de desarrollo, generalmente con la elaboración de algunos requisitos. No se permite que un elemento de trabajo avance a la siguiente fase hasta que se abra algo de capacidad más adelante. Al controlar el número de tareas activas en cualquier momento,
Los proyectos Kanban tienen límites de trabajo en progreso (WIP) , que son la medida de la capacidad que mantiene al equipo de desarrollo enfocado en solo una pequeña cantidad de trabajo a la vez. Solo a medida que se completan las tareas, se incorporan nuevas tareas al ciclo. Los límites WIP deben ajustarse en función de las comparaciones del esfuerzo esperado con el real para las tareas que se completan.
Kanban no impone ninguna definición de roles como, por ejemplo, Scrum lo hace y, junto con la ausencia de iteraciones formales, la flexibilidad de roles hace que Kanban sea atractivo para aquellos que han estado usando modelos de desarrollo de estilo cascada y quieren cambiar pero tienen miedo de la agitación inicial algo así como Scrum puede causar mientras es adoptado por un equipo de desarrollo.
Beneficios de la Metodología Kanban
Aunque los sistemas Kanban surgieron del espacio automotriz, son igualmente importantes en el desarrollo y la gestión de productos de software. En esta sección discutiremos algunos de los beneficios clave del uso de la metodología Kanban.
Flexibilidad de planificación
Para muchas empresas, la búsqueda de la agilidad empresarial está impulsada por la necesidad de flexibilidad. Sin duraciones de fase prescritas (a diferencia de otras metodologías ágiles como Scrum), las funciones se lanzan tan pronto como se completan. Por lo tanto, Kanban admite las consideraciones de «liberación bajo demanda» incluso en implementaciones ágiles escaladas. Al utilizar una hoja de ruta de Kanban en lugar de depender de un plan de proyecto general rígido, los gerentes de producto tienen la libertad de reevaluar las prioridades inmediatas en función de los cambios en el mercado. El Método Kanban sugiere un enfoque de gestión de trabajos pendientes que ayuda a los equipos a ser más autogestionarios al mismo tiempo que aporta transparencia y coherencia al proceso de toma de decisiones.
Ciclos de tiempo reducidos
Limitar el trabajo en curso y limitar cada columna de los límites del trabajo en curso del tablero ayuda a los miembros del equipo a terminar lo que están haciendo antes de pasar a cosas nuevas y envía un mensaje al cliente y otras partes interesadas de que hay una capacidad limitada. En la práctica, se descubrió que esta disciplina da como resultado un tiempo de ciclo reducido (el tiempo que se tarda en completar una tarea en promedio).
Menos cuellos de botella
Kanban sentó las bases de cómo se puede maximizar el valor en un proceso al limitar el alcance para que se ajuste a un cronograma. Al limitar el flujo para pasos de procesos específicos que tienen una alta competencia por los recursos (por ejemplo, pruebas de integración de software), Kanban evita cuellos de botella en procesos clave en el ciclo de vida del desarrollo de software.
Mayor visibilidad (del flujo)
El concepto de «visualizar el flujo de trabajo» de Lean y Kanban se centra en la transparencia del proceso mediante el cual se reconocerán formalmente los elementos de trabajo. El uso de una acumulación con total transparencia del flujo de elementos de trabajo coincidió con la «definición de listo» y la «definición de hecho» para elegir un elemento para ingresar y salir de la cola de flujo de trabajo. Kanban ayuda a facilitar una definición clara de la cola en sí debido a esta práctica de «visualizar el flujo de trabajo», lo que aumenta la visibilidad del flujo en todo el ciclo de vida del desarrollo de software.
Entrega continua
El objetivo de la entrega continua es entregar de forma rápida, confiable y repetida nuevas funciones y correcciones de errores con bajo riesgo y con una sobrecarga mínima. El objetivo de Kanban es optimizar el flujo de trabajo a través del cambio incremental. Ambos enfoques comparten el objetivo común de entregar valor al cliente más rápido.
Kanban y la entrega continua también se complementan con su objetivo compartido de mejora de procesos. La entrega continua, que puede retrasarse por el esfuerzo manual y el error humano, a menudo utiliza la automatización para hacer que los procesos sean más eficientes.
Previsibilidad mejorada
La implementación de límites WIP y la garantía de que se cumplen los supuestos de la Ley de Little mantienen su proceso funcionando como un sistema estable. Según la Ley de Little, los clientes estacionarios en el sistema (WIP) son el producto de la tasa de llegada efectiva a largo plazo (Throughput) y el tiempo que el cliente pasa en el sistema (Lead time).
Para mejorar el rendimiento, la tasa de tareas que se extraen debe ser aproximadamente igual a la tasa de tareas que se van. Un sistema estable es un sistema predecible, uno que le permite tomar decisiones basadas en datos. Lo que es más importante, Kanban no requiere que renueve su proceso para comenzar a ver estos beneficios. Funciona implementando cambios incrementales y evolutivos para hacer que su flujo de trabajo sea más eficiente y su equipo más productivo.
Gestión de dependencias mejorada
En cualquier proyecto de software, existen dependencias en los elementos de trabajo. ¡Kanban ofreció apoyo en estas áreas al analizar los impedimentos para fluir! Ya sea que se trate de un proceso con exceso de trabajo, un procedimiento no documentado, personas sin capacitación o un sistema mal calibrado, Kanban utilizó la combinación de gestión del flujo y aprendizaje continuo para evitar implacablemente cualquier cosa que contribuyera a cualquier tipo de desperdicio.
Mayor satisfacción del cliente
El tiempo de ciclo de Kanban está calculando el tiempo real de trabajo en curso. Realiza un seguimiento de cuánto tiempo permanece una tarea en las diferentes etapas del proceso. Hacer un seguimiento de los tiempos de ciclo le permite medir el rendimiento de su equipo. Los tiempos de ciclo bajos significan que su equipo es eficiente. Los tiempos de ciclo altos indican estancamientos, cuellos de botella y retrasos. Mantener los tiempos de ciclo bajos reduce el tiempo de entrega, y los tiempos de entrega rápidos significan una alta satisfacción del cliente. Entonces, un beneficio secundario de los tiempos de ciclo reducidos explicados anteriormente es el hecho de que conducirá a una mayor satisfacción general del cliente.
Kanban vs Scrum
Tanto Kanban como Scrum facilitan proyectos para entregar valor de forma incremental e iterativa. Cada enfoque aquí tiene una historia tan rica y consideraciones prácticas que la discusión sobre Kanban versus Scrum requiere un blog por separado. Sin embargo, para completar este blog con algunas ideas clave, se adelantan algunas ideas.
- Si bien Kanban es un sistema de gestión de tareas, Scrum es un marco de entrega de proyectos que se beneficia de Kanban en su función de gestión de tareas.
- La orientación de gestión continua de tareas de Kanban lo convierte en un candidato perfecto tanto para gestionar la entrega de proyectos como para el soporte operativo.
- Scrum utiliza el principio de timeboxing para entregar valor en una ventana de 2 a 4 semanas.
- Kanban no define ningún rol en particular, a diferencia de Scrum, que tiene un Product Owner, Scrum Master y el equipo de desarrollo porque Kanban utiliza un ciclo de entrega continuo en el que todos son igualmente responsables de administrar el flujo de valor.
- Si bien ambos marcos permiten realizar cambios, el cambio se puede incorporar en cualquier punto del enfoque Kanban, mientras que Scrum generalmente no permite realizar cambios durante el sprint a menos que el sprint en sí se pueda terminar.