¡Compártelo!
Share on facebook
Share on google
Share on twitter
Share on linkedin

Qué es Kanban y cómo aplicarlo al desarrollo de software

Últimamente no paramos de oír hablar sobre Kanban en desarrollo de software. Pero ¿sabes qué es Kanban y cómo implementarlo?
Kanban es un método flexible de gestión del trabajo visual, que evoluciona según las necesidades del equipo. 
Lo creó David J. Anderson en Japón a finales de la década de 1940. Se basa en los sistemas Lean Manufacturing y fue utilizado por ingenieros de Toyota.
Podemos traducir la palabra japonesa kanban  かんばん como «tarjeta visual».

Kanban ayuda a visualizar el trabajo para que se pueda entender mejor, para mostrarlo a los demás y que los interesados puedan estar al tanto de todo. De esta manera nos aseguramos de que el servicio tiene la capacidad de entregar el trabajo que es requerido por el cliente. Para lograr esto se utiliza un sistema kanban, con políticas de limitación de trabajo en progreso  (WIP, Work in Progress) creando un sistema de arrastre (sistema pull) que controla el flujo de trabajo reemplazando solo lo que se ha consumido.

Qué es kanban gráficaFuente: Kanban University

Principios Kanban

Para entender qué es Kanban es fundamental conocer los 6 principios sobre los que se apoya. Se pueden dividir en los dos grupos que vemos a continuación:

Principios de GESTIÓN DEL CAMBIO 

  1. Empezar con lo que estés haciendo AHORA:
  • Entender los procesos actuales tal y como están siendo realizados en la actualidad.
  • Respetar los roles actuales, las responsabilidades de cada persona y los puestos de trabajo. 
  1. Acordar en buscar la mejora a través del CAMBIO EVOLUTIVO
  2. Fomentar el LIDERAZGO en cada nivel de la organización — desde las contribuciones individuales de cada persona hasta las posiciones más senior de la organización. Dado que el cambio es esencial, no hay que imponer soluciones desde diferentes contextos, sino buscar la mejora evolutiva en todos los niveles de la organización.

Principios de DESPLIEGUE DE SERVICIOS 

  1. Entender las necesidades y expectativas de tus CLIENTES y focalizarse en ellas. 
  2. Gestionar el TRABAJO: dejar que la gente se auto-organice alrededor de las tareas. 
  3. Evolucionar las POLÍTICAS para mejorar los resultados hacia el cliente y del negocio

Prácticas generales Kanban

Las prácticas generales Kanban definen las actividades fundamentales para el sistema Kanban.

  • Visualizar

Para visualizar el trabajo, un equipo debe crear su flujo de trabajo y dividirlo en columnas o carriles. Cada columna del tablero Kanban corresponderá a un estado de nuestro flujo de trabajo.
Cada tarea a realizar se convierte en tarjeta y se colocan en la columna correspondiente. Al hacer visible el flujo de trabajo, el equipo puede observar en qué está trabajando cada uno.
Una mayor visualización promueve la comunicación y colaboración en el equipo. Se identifican los cuellos de botella fácilmente evitando que el proceso se ralentice y ayudando a que el equipo trabaje de la manera más eficiente posible.

  • Limitar WIP

Tener mayor visibilidad, compartiendo visualmente el trabajo en progreso, es muy beneficioso. Tener demasiadas tarjetas en la columna correspondiente a ‘Trabajo en proceso’ promueve un posible cambio de tareas, lo que hace que se pierda el foco sin priorizar adecuadamente.
Limitar la cantidad de trabajo en progreso evita desperdicios e ineficiencia, garantizando la capacidad del sistema e identificando problemas de flujo.

  • Gestionar el flujo de trabajo

Kanban permite a los equipos centrarse en el flujo del proceso de una manera más visual. Poder ver el proceso en acción permite a los equipos identificar elementos del proceso que pueden haber pasado desapercibidos sin la representación visual.

  • Hacer explícitas las políticas

Las políticas explícitas son una manera de articular y definir un proceso que va más allá de la definición del flujo. Garantizan que todo sea transparente y se haya acordado, evitando reglas ocultas. Las políticas de proceso deben ser escasas, simples, estar bien definidas, visibles, deben aplicarse siempre, y tienen que ser fácilmente modificables por el equipo.

  • Implementar circuitos de retroalimentación 

Los circuitos de retroalimentación (en inglés feedback) son una parte esencial de cualquier proceso controlado y muy importantes para un cambio evolutivo. Para que el cambio positivo ocurra, tenga éxito y continúe, las reuniones periódicas son necesarias para la transferencia de conocimiento. Estas reuniones y revisiones periódicas del sistema forman el circuito. Es importante mejorar la retroalimentación particularmente en:

  • Alineación con la estrategia 
  • Coordinación operacional 
  • Gestión de riesgos
  • Mejora del servicio 
  • Realimentación 
  • Flujo 
  • Entregas a cliente Kanban 
  • Mejorar y evolucionar

Kanban mejora continuamente el proceso ayudando a los equipos a aumentar su efectividad midiendo el flujo, la calidad, el tiempo de entrega. De esta manera los equipos pueden implementar cambios en el proceso y anticiparse a futuros problemas. 

Tablero kanban

Dedicamos este apartado a los tableros kanban porque no son específicos del método Kanban, pudiéndose usar en Scrum y como práctica general.

¿Dónde crear un tablero kanban?
Los tableros kanban se pueden crear en paredes, puertas, ventanas, pizarras. A día de hoy, contamos con muchas herramientas digitales de tableros kanban, y es interesante que cuenten con la posibilidad de limitar WIP.

¿Cuál es la finalidad del tablero kanban?
Su propósito es categorizar todas las etapas del trabajo por las que fluye un elemento de trabajo desde algo que no ha comenzado hasta algo que ya está hecho.

¿Cómo crear un tablero kanban?
Cada etapa del flujo de trabajo tiene su propia columna. Por ejemplo, se comenzar de manera básica con tres columnas correspondientes a los estados To do, In progress, Done e ir añadiendo columnas según se necesiten estados adicionales en el flujo.

Tarjetas kanban

Las tarjetas Kanban las inventó Taiichi Ohno, ingeniero industrial japonés conocido por diseñar el sistema de producción Toyota, Just In Time, dentro del sistema de producción del fabricante de automóviles.

¿Qué entendemos por tarjetas kanban? 
Las tarjetas Kanban son una representación visual del trabajo. 

¿Qué información debe tener una tarjeta kanban?
Las tarjetas Kanban deben tener un título, una descripción y un propietario. Básicamente se trata de que se pueda ver información importante de un vistazo. También puede contener cualquier otra información útil como estimación, o fecha límite de entrega.
Resulta beneficioso que el equipo vaya dejando actualizaciones en la tarjeta, a medida que pasa de un estado del flujo de trabajo a otro.

¿De qué tamaño deben ser las tarjetas Kanban?

Las tarjetas Kanban deben ser lo suficientemente pequeñas para el equipo pueda progresar en ellas en un período razonable de tiempo
No deberían ser tan grandes que requiera semanas avanzar con ellas, ni tan pequeñas que sean literalmente todas y cada una de las tareas en las que se está trabajando. 

¿Y tú, has utilizado el método Kanban alguna vez?
Conoce más sobre Kanban a través de nuestro canal de YouTube. ¡Suscríbete!

Artículos relacionados

Como hacer un value stream mapping

Cómo hacer un Value Stream Mapping: ejemplo de desarrollo de software

En el artículo de hoy vamos a explicar cómo aplicar la técnica de Lean llamada Value Stream Mapping (VSM), de forma práctica y con un ejemplo real de desarrollo de software. No confundir con Value Stream Management, aunque están muy relacionados como veremos. ¿Qué es

Límites WIP Jira

Cómo configurar límites WIP en Jira

En este videotutorial te mostramos cómo configurar límites WIP en una instancia de Jira. Pero antes de ello, te ayudamos a conocer qué es WIP y por qué interesa limitarlo. Qué es WIP WIP, work in progress o trabajo en proceso, en español, se refiere

Descubriendo el poder de Pair Programming

Muchos de los que me conocen ya saben que más que Scrum, Kanban… si hay algo que realmente creo que funciona es eXtreme Programming. Es por ello que en Profile intentamos combinar las diferentes prácticas de las que nos habla XP con otros frameworks ágiles.