¿Qué es Kanban?

Estructurando la información sobre la metodología Kanban. Averiguando qué es, cómo puede ayudarte y cómo aplicarla.
La palabra "Kanban" se puede escuchar en diferentes contextos. Puede referirse a tableros con notas adhesivas, al sistema de trabajo de Toyota o al término utilizado en la filosofía de producción ajustada. Sin embargo, en el ámbito de la tecnología de la información, "Kanban" tiene un significado ligeramente diferente. En esta guía, intentaremos estructurar la información sobre Kanban y descubrir cómo esta metodología mejora el proceso de desarrollo.
Principios de Kanban
La metodología Kanban se describe bien con la siguiente frase:
"Deja de empezar, empieza a terminar".
Toda sistema de valores tiene su fundamento, y Kanban no es una excepción. Tiene sus propios principios:
  • 1
    Comienza con lo que tienes ahora.
  • 2
    Acuerda una evolución gradual.
  • 3
    Fomenta el liderazgo en todos los niveles, desde los empleados principiantes hasta la alta dirección.
  • 4
    Gestiona el flujo, no a las personas. Permite que las personas se unan para trabajar en conjunto y obtener resultados de mayor calidad.
  • 5
    Identifica las necesidades y expectativas de tu equipo.
  • 6
    Haz que las reglas de trabajo sean explícitas y desarrollalas.
Como se puede observar, estos principios se centran en un enfoque humano del trabajo. También describen cambios graduales. Al principio, se deben utilizar los principios que ya existen en el equipo. En primer lugar, es necesario estructurarlos y descubrir los problemas del equipo y de los agentes externos. Solo después de eso se pueden realizar cambios en el trabajo del equipo a través de cambios evolutivos.

Sin embargo, no todos los cambios pueden gustar al equipo, y eso es normal. Tenemos un problema y estamos buscando formas de resolverlo. En el camino, inevitablemente habrá intentos fallidos. Parafraseando a los samuráis:
"No se puede implementar Kanban, no se puede trabajar con él. Se puede utilizar".
Imaginemos que estamos implementando Kanban en un equipo. Resumamos los pasos principales que debemos seguir:
  • Describir el formato de trabajo actual.
  • Recopilar los problemas del cliente y del equipo.
  • Implementar nuevas prácticas para resolver estos problemas.
STATIK
Recordemos una vez más el primer principio:
"Comienza con lo que tienes ahora".
A primera vista, puede parecer que no es necesario definir la dirección de nuestro movimiento, pero eso no es cierto. De hecho, al implementar Kanban, el equipo se basa en STATIK (Systems Thinking Approach to Introducing Kanban), un enfoque sistémico para presentar Kanban. STATIK ayuda a realizar cambios en un mecanismo de equipo que ya está en funcionamiento, incluso si el desarrollo ya ha comenzado. El equipo acepta los cambios de manera más fácil y sencilla cuando se basan en necesidades reales identificadas.

Para aplicar STATIK, es necesario comprender:
  • El propósito actual del sistema.
  • Cómo interactúa el sistema con el cliente.
  • Cómo funciona el sistema para las personas dentro de él.
  • Cuáles son los problemas tanto del equipo como de los clientes.
Este enfoque se divide en varias etapas:
  • 1
    Encontrar la fuente de insatisfacción.
  • 2
    Analizar las solicitudes y las capacidades actuales del servicio.
  • 3
    Construir el ciclo de vida del trabajo.
  • 4
    Implementar clases de servicio.
  • 5
    Diseñar el sistema Kanban.
  • 6
    Comenzar a utilizar el sistema Kanban.
Apariencia
La visualización del proceso de producción en Kanban se puede realizar de dos formas:
  • Offline, utilizando un tablero de corcho y notas adhesivas de diferentes colores en una sala.
  • Online, utilizando tableros digitales para la gestión de proyectos (Trello, Jira, Kaiten, etc.).
La elección de la herramienta depende del equipo.

El proceso básico de producción en Kanban se divide en etapas y se ve como una tabla:
El proceso de desarrollo del tablero se muestra de manera más detallada en este video.

Al visualizar el trabajo, se implementa un principio importante de Kanban: el "pull" (extracción). La señal para la extracción es la vacante en una determinada área. Esto desplaza el enfoque de la carga de trabajo de las personas a la gestión del flujo de trabajo. Si se gestiona la ocupación de las personas, solo se obtendrán personas ocupadas. Es como un proceso de producción al revés.

Todas las tareas en las que trabaja el equipo deben estar en el tablero. En Kanban, el "tablero" es una herramienta para analizar el proceso de trabajo y los puntos de crecimiento del equipo. Si una tarea tiene un problema en su implementación, se le coloca un bloqueo. Ejemplos de estos problemas pueden ser un error encontrado durante las pruebas o la falta de información para un análisis posterior.

Dentro de un mismo equipo se pueden utilizar más de un tablero. Esto permite una mayor desglose de las etapas individuales y evita sobrecargar el tablero principal. Es importante que cada miembro del equipo pueda mirar el tablero y comprender la situación actual del proyecto.

Por poner un ejemplo, imaginemos que queremos fijar una tarea para el equipo. La preparación para ello puede ponerse en un tablero aparte y dividirse en etapas:
  • Recopilación de requisitos.
  • Redacción de la especificación técnica.
  • Diseño de la maqueta.
  • Creación de la tarea para el equipo.
Después de todas estas etapas, la tarea pasa a la "lista de pendientes" (backlog), que es una lista de tareas para el equipo, ordenadas por prioridad y listas para ser trabajadas. Cuando se libera espacio en la primera etapa de desarrollo, se produce una extracción y el equipo toma la tarea superior de la lista.

Dentro de cada etapa de trabajo, las tareas pueden tener diferentes estados, como:
  • Nueva.
  • En proceso.
  • Bloqueada.
Cada equipo elige su propia lista de estados.
Límites de WIP
En Kanban, hay una herramienta que ayuda a reducir la cantidad de trabajo en progreso: los límites de WIP (Work In Progress).

Los límites de WIP son un número que indica la cantidad máxima de tareas permitidas en una determinada área del tablero. Estos límites se pueden establecer por persona, por etapa de trabajo o para todo el equipo. Por ejemplo, si el límite de WIP del equipo es de cuatro, no puede haber más de cuatro tareas en progreso al mismo tiempo:
Si se alcanza el límite, el equipo debe revisar el tablero e intentar avanzar en alguna de las tareas actuales. Si algún miembro del equipo está libre de tareas, puede ayudar a sus compañeros, por ejemplo, ofreciendo programación en pareja o ayudando en las pruebas de soluciones ya terminadas. El trabajo en equipo no solo ayuda a cerrar las tareas más rápidamente, sino que también ayuda a desarrollar habilidades.

Si el equipo ha establecido un límite de WIP, es mejor no excederlo, ya que los desarrolladores corren el riesgo de asumir demasiados compromisos y no cumplir con los plazos. Sin embargo, si el equipo no cumple regularmente con el límite, se puede revisar si hay razones objetivas para ello.
Clases de servicio
El equipo no puede comenzar a trabajar en una tarea si no se ha asignado una prioridad a las tareas. Los gerentes de proyecto asignan la prioridad a cada tarea en función de la situación actual, las solicitudes del equipo y las necesidades del negocio. Para distinguir visualmente el trabajo dentro del sistema, Kanban utiliza las "clases de servicio". Estas son agrupaciones de tareas según el costo de la demora. En otras palabras, las tareas se agrupan según cuánto beneficio o pérdida puede generar la demora o la finalización oportuna de la tarea:
Se pueden identificar cuatro clases principales de servicio en las que se agrupan las tareas:
  • Urgentes: son tareas que pueden surgir en cualquier momento y requieren atención inmediata. Por ejemplo, el análisis de un problema en el entorno del usuario. Si se pospone la resolución de estos problemas, puede haber problemas financieros y de reputación significativos.
  • Con fecha límite: son tareas que tienen una fecha límite predefinida. Por lo general, retrasar estas tareas resulta en costos financieros en forma de multas y penalizaciones. Por ejemplo, este tipo de trabajo incluye la adaptación de una aplicación a una nueva legislación o la realización de cambios para un evento.
  • Estándar: son tareas que el equipo ha planificado completar en esta iteración. Por ejemplo, la implementación de una nueva función que puede generar ganancias o atraer nuevos usuarios en el futuro.
  • Intangibles: son tareas que no generan beneficios inmediatos, pero son necesarias para futuras mejoras en el sistema. Estas tareas incluyen la refactorización de código, la investigación de nuevas bibliotecas o la capacitación en equipo.
Las clases de servicio son importantes no solo para las personas que trabajan dentro del equipo. Por ejemplo, se pueden utilizar para mostrar visualmente el progreso del trabajo al cliente y establecer expectativas realistas. Al discutir las clases de servicio con los clientes, estos entenderán claramente que las tareas no se completarán más rápido si se les asigna la clase "urgente".
Cadencias
En Kanban, hay "cadencias" o ciclos de retroalimentación. Estos ayudan a obtener información del equipo y del cliente, lo que mejora el trabajo del servicio en el futuro. Hay cuatro cadencias principales:
  • Reuniones diarias: una reunión que dura no más de 15 minutos al comienzo del día laboral. Durante la reunión, el equipo recorre el tablero desde la esquina superior derecha hasta la esquina inferior izquierda. Esto se hace para identificar problemas que impiden que las tareas importantes y casi terminadas lleguen a la finalización.
  • Reuniones semanales de priorización de tareas: en esta reunión, el equipo actualiza el backlog y las tareas en función de las necesidades del negocio y de otros equipos. En estas reuniones, asumimos compromisos sobre la realización de ciertas tareas en el futuro.
  • Reuniones de planificación de entregas de cambios: en esta reunión, el equipo muestra las tareas completadas y cierra los compromisos realizados anteriormente.
  • Reuniones de trabajo del equipo: el objetivo de esta reunión es discutir el progreso del trabajo en el último período. Se discuten los problemas que ha enfrentado el equipo, los éxitos, las métricas y las sugerencias para mejorar el proceso.
Las frecuencias y otras iteraciones de retroalimentación se muestran en la siguiente imagen:
Composición del equipo
En un equipo Kanban, se distinguen los roles de gestión y el equipo funcional.

Los gerentes pueden dividirse en dos roles:
  • Un gerente se encarga de las solicitudes de servicio.
  • Otro gerente se encarga de la implementación de estas solicitudes.
Kanban se centra en la gestión del flujo, por lo que el primer gerente se encarga de eliminar lo innecesario. Trabaja en el embudo horizontal de deseos, que pasa por varias etapas de desarrollo y se convierte en tareas completas con descripciones claras. La tarea del segundo gerente es cumplir con lo prometido, es decir, llevar la tarea desde el primer proceso de extracción hasta la entrega al usuario final. Entre ellos hay una etapa importante en el proyecto: el "punto de compromiso". Ejemplos de estos compromisos son las promesas de completar una tarea en 5 días.

Todo el esquema de trabajo de los gerentes se ve así:
Ambos roles pueden ser desempeñados por una sola persona o pueden ser compartidos entre varias personas. En el caso clásico, un gerente se encarga de entre cinco y ocho personas en un equipo. Con este tamaño, el gerente tiene suficiente tiempo y atención para cada miembro del equipo.

El equipo funcional se encarga de crear nuevas partes del producto. Puede estar compuesto por:
  • Diseñadores.
  • Analistas.
  • Desarrolladores front-end y back-end.
  • Especialistas en pruebas.
  • Ingenieros DevOps.
La composición del equipo es opcional y depende del proyecto.
Métricas
En Kanban, hay varias métricas importantes:
  • Tiempo de finalización de una tarea, desde que se toma hasta que se publica para el usuario.
  • Tiempo en cada etapa.
  • Tiempo en cada estado en cada etapa.
  • Porcentaje de tareas completadas en el tiempo planificado.
  • Ingenieros DevOps.
Esta información puede ayudar a identificar los "cuellos de botella". Como parte de las metodologías ágiles, Kanban se centra en el proceso iterativo. Las métricas proporcionan información para mejorar los procesos en el equipo, muestran los cambios y los puntos débiles.

Un ejemplo de trabajo con métricas es el diagrama espectral. Con su ayuda, se puede dividir el trabajo en tipos individuales según el nivel de dependencia externa, el cliente y la complejidad. Luego, se puede analizar cada tipo por separado y, en función de los resultados obtenidos, hacer una predicción para el cliente.

Tomemos este gráfico como ejemplo:
A partir de esto, podemos decir que en el 80% de los casos, las tareas del tipo verde se completaron en tres días. Esto se puede utilizar como punto de partida para estimar las próximas tareas de este tipo.
Conclusiones
Esperamos que esta información te ayude a estructurar mejor la información sobre este tema. Recuerda que no hay un Kanban correcto o incorrecto. Este método es más como un conjunto de herramientas que se pueden aplicar a tu situación actual y obtener resultados. Kanban se centra en el desarrollo de la capacidad de aprendizaje, no en la ejecución de un plan estricto desarrollado por alguien más.

Si estás interesado en aprender más sobre Kanban, puedes consultar estas fuentes adicionales:
Leer otros artículos de Guías
Lea otros artículos relevantes del mundo de la tecnología y el espíritu empresarial.