Visibilizar y optimizar el flujo de trabajo de tu equipo
Algunas reflexiones sobre por qué es importante visualizar el trabajo en curso y qué aspectos pueden impactar a la entrega (delivery) de nuestro equipo

En 2020, Wube Software lanzó Factorio, un juego de estrategia en el que asumes el rol de un ingeniero sufre un accidente con su nave y se ve forzado a aterrizar en un planeta nada apacible. Tu objetivo es escapar del mismo y para ello construyes un entramado de fábricas y automatizas sus complejos mecanismos de colas de trabajo para poder fabricar un cohete y escapar. Y en todo momento, debes tener en cuenta los recursos que empleas y las dependencias entre las diferentes colas de trabajo para conseguir tu objetivo de forma eficiente.
Confieso que ese año estuve enganchado hasta terminarlo, pero no puedo recomendarlo si lo que buscas es desconectar del trabajo; sobre todo si eres un mánager responsable de la entrega de trabajo (delivery) en tu equipo, área o empresa.

Quizás en tu empresa no haga falta construir un cohete para escapar de la misma, pero la complejidad de gestionar la entrega del trabajo suele ser mucho mayor que la de este tipo de juegos, por muy difícil que estos puedan llegar a ser.
Incluso el hecho de obtener visibilidad del trabajo en curso, bloqueos y dependencias entre equipos, puede ser un reto en sí mismo.
Kanban y el impacto de las colas en los flujos de trabajo
“To produce only what is needed, when it is needed and in the amount needed.”
Taiichi Ōno
Kanban surge en Japón, en la década de 1940, cuando Taiichi Ōno implementó las primeras tarjetas Kanban como parte del sistema de fabricación de Toyota al buscar un método para reducir el desperdicio en el sistema de producción de la empresa, en un momento en el que la misma estaba lejos de ser rentable.
Para reducir la sobreproducción y, por lo tanto también el inventario, se inspiró en cómo algunos supermercados de EE.UU. reponían sus estanterías. Lo hacían sólo cuando se vendía un producto, evitando el exceso de inventario. Adaptó ese principio a Toyota mediante un sistema de tarjetas físicas (kanban) que actuaban como señales visuales para indicar cuándo producir más unidades.
Cada vez que se utilizaba un producto o una pieza en la línea de ensamblaje, su tarjeta correspondiente regresaba al proceso anterior, autorizando su reposición. Este mecanismo permitió visualizar el flujo real de trabajo, limitar el trabajo en curso y reducir la sobreproducción.
El sistema se extendió a toda la cadena de suministro, incluyendo a los proveedores, y con el tiempo se convirtió en la base del sistema de producción de Toyota. Esta transformación contribuyó a que la empresa pasara, en apenas dos décadas, de una situación delicada tras la Segunda Guerra Mundial a convertirse en un referente global de la industria automovilística.
Cuando se empieza a visualizar de forma clara el flujo de trabajo, también se identifican con mayor facilidad colas en las que el proceso se atasca, se acumula o ralentiza y que antes no eran tan obvias.
En su libro The Principles of Product Development Flow, Donald G. Reinertsen remarcó efectos adicionales a los que había señalado Taiichi Ōno, derivados del encolado de trabajo en los flujos de desarrollo.

Las colas generan tiempos de ciclo más largos, incrementan el riesgo de fallos y retrasos, introducen mayor variabilidad en los resultados y elevan la carga administrativa necesaria para gestionarlas. Además, tienden a degradar la calidad del producto final y afectan directamente a la motivación de los equipos, que perciben cómo su trabajo se atasca y pierde impacto. Estos factores hacen que las colas sean una de las principales fuentes de ineficiencia en el desarrollo de productos, aunque sorprendentemente sigan sin medirse en la mayoría de organizaciones y equipos.
Visualizar el flujo de trabajo con Kanban
Visibilizar el flujo de trabajo es uno de los primeros aspectos que todo equipo debería asegurar. Permite entender qué tareas se están realizando, quién las está llevando a cabo, qué queda pendiente y qué ya está terminado.
Lo habitual y recomendado es empezar con un tablero clásico de tres columnas (pendiente, en curso y completado) en alguna aplicación como Trello, Jira u otro gestor de proyectos. En equipos presenciales también es común usar pizarras físicas con post-its para representar cada tarea, cada “unidad de trabajo”. Sin embargo, incluso en esos casos, cada vez es más frecuente recurrir a tableros digitales, ya que ofrecen ventajas claras como el acceso desde cualquier lugar, posibilidad de añadir métricas y espacio para incluir información adicional en cada tarjeta.
A diferencia de que una sola persona o rol, como el mánager del equipo, registre en un Excel lo que cada integrante está haciendo, los tableros Kanban ofrecen visibilidad a todo el equipo. Esto permite que todas las personas se sientan dueñas del trabajo en curso y puedan actuar en consecuencia, añadiendo y moviendo las tarjetas según consideren necesario. Por ejemplo, si alguien se pone enfermo y deja una tarea a medias, es posible que haya anotado información suficiente para que otra persona pueda retomarla y evitar así que quede en el olvido.
También permite que todo el equipo participe activamente en la conversación sobre su flujo de trabajo, discuta mejoras y proponga ajustes. Por ejemplo, al contar con una columna de “completado”, se puede acordar qué criterios deben cumplirse para considerar que una tarea está realmente terminada (¿cumple con los requisitos acordados?, ¿ha pasado la revisión legal?, ¿ha sido enviada?) Si no lo está, el tablero facilita detectar posibles bloqueos antes de que pasen desapercibidos.
¿Qué se considera una “unidad de trabajo”?
He mencionado antes el concepto de “unidad de trabajo”. Generalmente, cada unidad corresponde a una tarea. Estas pueden variar en tamaño según su complejidad, pero lo ideal es que sean lo más pequeñas posible ya que cuanto más acotadas estén, menor será el riesgo de bloqueos en el flujo.
Si el equipo está desarrollando un producto o proyecto, de forma natural asumimos que cada tarea en el tablero deba estar relacionada con él. Sin embargo, es muy posible que haya otras pequeñas tareas, quizás más rápidas o aparentemente irrelevantes, que terminemos sin registrar en el tablero o en ningún otro sitio. En mi opinión, deberíamos anotar todo aquello que requiera la atención de cualquiera en el equipo y por lo tanto, impacte en el equipo. Esto incluye, por ejemplo, un correo enviado a otro departamento del que necesitamos respuesta, peticiones que llegan por canales como Slack o incluso llamadas telefónicas que parecen “sólo cinco minutos”. Todas estas tareas consumen tiempo y energía, y si no las registramos, es fácil subestimar su impacto en la carga real de trabajo.
Estas pequeñas tareas pueden ser puntuales, pero también recurrentes y parte del día a día del equipo. Si no se hacen visibles, se pierde información valiosa sobre cómo este trabaja realmente y se abre la puerta a procesos ocultos. Un ejemplo típico es cuando determinadas peticiones recaen siempre en la misma persona y, si esta falta, nadie más sabe cómo resolverlas o ni siquiera que hay algo pendiente de resolver.
Entender y gestionar el trabajo en curso
Como hemos comentado anteriormente, lo ideal es comenzar con un tablero muy básico de tres columnas: “pendiente”, “en curso” y “completado”. Sin embargo, a medida que vayamos registrando todas las tareas reales del equipo, veremos cómo la columna de “en curso” empieza a crecer rápidamente.
Es frecuente que muchas tareas permanezcan en “en curso” más tiempo del deseado. El equipo empieza nuevas tareas mientras otras se acumulan en espera de otro equipo, bloqueadas o en revisión. Cuando esas tareas bloqueadas finalmente se desbloquean, generan un efecto de trabajo encolado que arrastra todos los problemas que ya hemos visto anteriormente relacionados con retrasos, pérdida de foco, sobrecarga y desmotivación.
Limitar el trabajo en curso
Según la Ley de Little (1954) el tiempo medio que tarda en completarse una tarea depende de cuántas tareas tenemos abiertas al mismo tiempo y de la velocidad con la que realmente conseguimos terminarlas. Se expresa con la fórmula siguiente:
Imagina un equipo con 20 tareas en curso (wip, work in progress) y una capacidad media de 5 tareas completadas por semana. Aplicando la fórmula, la espera media será de 4 semanas por tarea. Es decir, cualquier elemento nuevo que entre al sistema tardará aproximadamente un mes en salir.
Si llenamos el sistema de trabajo con demasiadas tareas abiertas, lo único que conseguiremos es alargar los tiempos de entrega. En cambio, si reducimos el trabajo en curso o incrementamos nuestro throughput, lograremos acortar el tiempo de entrega. Suele ser mucho más sencillo limitar el trabajo en curso que conseguir más personas para nuestro equipo, por lo que es la primera medida que deberíamos tomar para mejorar nuestro delivery.
Se puede limitar el trabajo en curso de dos formas principales. Una puede ser a nivel global, es decir, para toda la columna de “en curso” (Por ejemplo, establecer que el equipo no tenga más de X tareas abiertas al mismo tiempo). La otra es a nivel individual, fijando un máximo de tareas por persona.
En mi experiencia, prefiero empezar limitando por columna. Limitar por persona puede generar silos y, en mi contexto, lo que busco normalmente es fomentar la colaboración dentro del equipo en lugar de que cada persona trabaje de manera aislada. Sin embargo, en otros entornos donde el trabajo se organiza más por individuos o parejas, establecer límites individuales o por pareja, puede tener mucho sentido.
Limitar el trabajo en curso tiene un efecto inmediato en la velocidad de entrega de las tareas simples y cortas. Incluso puede mejorar su calidad, reduciendo el número de tareas que regresan desde la columna de “completado”.
Sin embargo, en tareas más complejas que requieran colaboración o revisiones por seguridad, auditoría u otros factores, limitar el wip no será suficiente para garantizar eficiencia. Algunas se quedarán en espera de otros equipos o necesitarán validaciones adicionales. Esto puede llevarnos a alcanzar el límite establecido y a sentir la tentación de ignorarlo para evitar el encolado del trabajo, lo cual nos llevará a la situación anterior.
Representar nuestro flujo de trabajo
Pongamos como ejemplo una empresa que se dedica a diseñar e imprimir carteles, y otros productos que requieran diseño e impresión como packaging, chapas etc.
Esta empresa ha empezado con las tres columnas que hemos visto antes para su flujo desde la recepción del encargo del cliente hasta que el proyecto está ya impreso.
Al tener la conversación en el equipo sobre por qué y cómo aplicar un límite al trabajo en curso, acordaron que había tres fases muy distintas por las que cada tarea pasa durante su desarrollo. Hay una fase de diseño, revisión de marketing para asegurar que el diseño cumple con los criterios de negocio necesarios antes de pasar a impresión. Todos estos son estados “en curso” y su tablero evolucionó para representar cada uno de los mismos en diferentes columnas, cada una con un límite posible de trabajo en curso.
Representar el flujo de trabajo da visibilidad a todo el equipo sobre lo que está en marcha y permite detectar oportunidades para mejorarlo.
Cuellos de botella y teoría de las restricciones
En su novela La Meta, Eliyahu M. Goldratt explica la teoría de las restricciones a través de una excursión de boy scouts. El protagonista observa que el grupo de niños no avanza de manera eficiente ni todo lo rápido que necesitan para llegar al campamento antes de que se haga de noche. Algunos caminan más rápido que otros, lo que provoca que la fila se disperse y se generen parones. Al observar al grupo, detecta que el cuello de botella es un niño que camina más lento que el resto y va muy cargado. Para sorpresa de todos, decide colocarlo al frente, de modo que sea él quien marque el ritmo de todo el grupo. A partir de ese momento, el ritmo se volvió más uniforme y el resto de los niños comenzaron a buscar formas de ayudarle, como redistribuir la carga de su mochila, lo que resultó en que todos pudieran avanzar con mayor rapidez.
Volviendo a nuestro ejemplo. Tras unas semanas de prueba con las nuevas columnas, el equipo de la empresa de diseño de packaging descubrió que algunas tareas ya revisadas por el área de marketing se demoraban en la fase de producción por una revisión técnica y legal que se realizaba en ese punto antes de imprimir. En varios casos, esas tareas incluso tenían que regresar a la fase de diseño al no ser viables para su producción, lo que ralentizaba de forma significativa todo el flujo de entrega.
El equipo propuso separar ese proceso de revisión y trasladarlo al inicio, antes de la fase de diseño. De este modo, los requisitos legales y técnicos quedaban definidos desde el principio. Así, los diseñadores podían tenerlos en cuenta al abordar cada encargo, reduciendo al mínimo la necesidad de validaciones adicionales en la fase de producción, desatascando todo el flujo de entrega.
Trabajo no planificado
En nuestro día a día, habrá tareas urgentes que lleguen al equipo y que haya que resolver lo antes posible. Si no lo tenemos previsto, estas tareas generarán impactos en nuestro sistema de trabajo, generando más trabajo en curso, cambios de contexto y por lo tanto, colas de trabajo ineficientes.
Es muy raro encontrar un equipo en el que no haya trabajo no planificado, si no está en el panel de tareas, seguramente es que esté oculto y alguien se esté encargando del mismo sin dar visibilidad al resto.
Algunos equipos crean una separación física en el tablero, con su propio límite para este tipo de tareas. Por ejemplo, si una tarea urgente entra en una columna con un límite de dos, sólo quedará espacio para una tarea más además de la urgente. Esto obliga a priorizar con criterio y evita que lo urgente acabe desplazando de forma descontrolada al resto del trabajo en curso.
Como en todo, esto depende mucho del contexto. Hay otros equipos que saben que es frecuente que este tipo de tareas inesperadas llegan a los mismos y optan por asignar a una persona mediante rotación semanal o por sprint, preparada para atender este tipo de tareas, permitiendo al resto disponer de foco para el resto del trabajo.
Es importante entender muy bien el trabajo no planificado. Para ello, es interesante etiquetar y categorizar cada tarea que entra sin planificar.
Clasificar el trabajo no planificado abre la puerta a conversaciones más efectivas y nos permite identificar qué está bajo nuestro control para reducirlo. Quizá haya margen para invertir en una herramienta o automatización que reduzca parte de esas tarea, tal vez la empresa necesite un equipo específico que ahora están cubriendo otros, restándoles foco, o puede que exista un problema de calidad que genere errores e incidencias que terminan entrando como urgencias.
También nos permitirá priorizarlo y acordar en el equipo el nivel de urgencia de cada uno de los tipos de ese trabajo no planificado.
Conclusión
Visibilizar nuestro flujo de trabajo nos ayuda a entenderlo, identificar cuellos de botella, poder medirlo, clasificar el tipo de trabajo que atendemos cada día y además, poder darle al equipo la oportunidad de hacerse dueño de él.
Esto les permite proponer mejoras y cambios que faciliten un trabajo más eficiente y efectivo.