Upstream Kanban

Upstream Kanban

Probablemente hayas escuchado el concepto de Upstream Kanban y te preguntes qué es. O algún especialista de Kanban te dijo que la solución a tus problemas es implementar un Sistema Kanban Upstream. Bueno, en este artículo explicamos qué es, cómo puede ayudarte y cómo implementarlo.

Introducción a Upstream Kanban

Upstream Kanban es cómo los profesionales de Kanban se refieren a la parte del flujo de valor que corresponde al desarrollo de opciones, gestión de pedidos o descubrimiento de productos. En otras palabras, todo lo que debe hacerse antes de comenzar a desarrollar software o responder a un pedido. Este fue un término inicialmente acuñado por Patrick Steyaert.

De alguna manera, lo que hacemos con Upstream Kanban es modelar el proceso de transformación de opciones en elementos listos para su entrega.

El concepto surgió en la comunidad de Kanban como una necesidad de corregir una inconsistencia creada por la adopción de Kanban por los equipos de entrega. La misma inconsistencia que hemos visto tantas veces en las empresas que adoptan Agile en el desarrollo de software: ¿qué sucede antes del desarrollo? ¿Por qué los desarrolladores son tan rápidos ahora, mientras que responsables de negocio o gerentes de producto son tan lentos y trabajan en cascada?

Kanban comenzó en el campo de desarrollo de software y TI, por lo que no se sabía mucho de lo que ocurría “aguas arriba”. Inicialmente, las adopciones de Kanban se centraron en equipos de software que entregaban peticiones. La atención se centró en la productividad y la previsibilidad. Esto está cambiando en los últimos años, a medida que vemos más organizaciones con equipos de productos de extremo a extremo o flujos de valor que conectan negocio y TI, creando así la necesidad de expandir la adopción de Kanban para modelar todo el flujo de valor.

Para los equipos de producto, el descubrimiento es una parte importante de su trabajo, por lo que debe ser visible y explícito. Sin embargo, el resultado del proceso de descubrimiento no es valor para el cliente, sino un aprendizaje validado.

Por lo tanto, dependiendo del tipo de sistema de upstream Kanban que estamos implementando, nos centraremos más en la visualización del trabajo y las políticas para la selección, eliminación y preparación de opciones o en el control de la WIP y la velocidad de aprendizaje. No es lo mismo un sistema upstream Kanban para preparar las opciones para los equipos de TI que un sistema upstream Kanban para el descubrimiento de producto o la innovación.

Aunque diferenciamos entre upstream y downstream, creemos que en el mundo digital las dos corrientes de valor deben ser administradas por el mismo equipo (o equipo de equipos) bajo la responsabilidad de un Gerente de Producto Lean o Gerente de Producto Digital.

¿Por qué Upstream Kanban?

En un entorno de trabajo waterfall, las decisiones solo se toman ocasionalmente; existen ciclos de negocio anuales vinculados a un presupuesto anual y al ciclo de entregas anual o trimestral. Las decisiones se toman con poca frecuencia y el compromiso ocurre muy temprano con un alto grado de incertidumbre. Esto a menudo resulta en que las partes interesadas empujan grandes lotes de trabajo a los equipos de desarrollo (también conocidos como fábricas de funcionalidades) que simplemente cumplen lo que les ordena.

Upstream Kanban - Water-Scrum-Fall - AKTIA Solutions

Hoy en día, sin embargo, las decisiones deben tomarse mucho más rápido, con mayor frecuencia y en colaboración. Pero, no queremos una entrega más rápida, no queremos entregar basura más rápido, queremos comprometer todo el flujo de valor para asegurarnos de entregar rápidamente lo que nuestros clientes esperan.

Upstream Kanban es el mecanismo que los expertos de Kanban recomiendan para superar esta situación y comprometer a toda la organización hacia una agilidad empresarial mejorada.

El propósito de Upstream Kanban es administrar el flujo de solicitudes entrantes antes de poder comprometer el trabajo para la ejecución para garantizar un flujo constante y sostenible de opciones.

Si queremos mejorar la agilidad de negocio, debemos hacer visible y explícito lo que sucede durante la elaboración del caso de negocio, el descubrimiento de producto o la gestión de la demanda, ya que es la fuente de al menos la mitad del tiempo de comercialización de cualquier idea, y generalmente es un proceso desorganizado y / o burocrático que carece de decisiones y métricas explícitas.

Upstream Kanban Sample - Connecting Upstream and Downstream Kanban Systems - AKTIA Solutions

En este ejemplo, podemos ver dos sistemas Kanban que visualizan un flujo de desarrollo de software típico de principio a fin, comenzando por la captura de ideas / opciones y terminando en elementos de trabajo que están listos para implementarse:

  • Downstream (o entrega), administrado por el equipo de entrega
  • Upstream, gestionado en conjunto por las diferentes partes interesadas que solicitan trabajo al equipo

Esta es una situación típica en muchas organizaciones, especialmente aquellas organizaciones que no están orientadas al producto y aún se separan entre el negocio y la TI. Sin embargo, la agilidad empresarial requiere que los representantes de negocio y TI trabajen juntos y compartan una comprensión común del proceso y los resultados esperados.

Sistema Kanban

El propósito de un sistema Kanban es mejorar el flujo de trabajo. Específicamente, el flujo de trabajo en un equipo, o de un grupo de equipos, que proporciona un servicio a un cliente.

Un sistema Kanban comienza desde el punto de trabajo comprometido y termina en un punto justo antes de la entrega al cliente. Estos dos puntos forman los límites del Sistema Kanban en el que el equipo puede autoorganizarse para crear flujo.

Basic Kanban Board - Kanban Method - Kanban Methodology - Metodo Kanban - Metodologia Kanban - AKTIA Solutions

Un sistema Kanban permite el flujo mediante la implementación de pull como enfoque de programación y gestión del trabajo. Esto es beneficioso para las personas que hacen el trabajo, pero también tiene valor para el cliente, ya que da como resultado un servicio más confiable y atractivo, adecuado para su propósito. El pull generalmente se implementa mediante un límite de trabajo en progreso (límite de WIP).

Identificar el punto de compromiso es esencial porque la creación de software es la tarea más costosa en el desarrollo de productos, por lo que debemos asegurarnos de que lo que llega aquí esté validado. Con upstream Kanban, aseguramos un flujo continuo de características validadas que el equipo de desarrollo puede “estirar”.

Una breve nota sobre los Flujos de Valor

Si analizamos una organización desde una perspectiva Lean, existen cuatro flujos de valor esenciales en cualquier organización que construya productos (físicos o digitales):

  • Gestión de pedidos
  • Fabricación / Desarrollo de software
  • Ingeniería y diseño
  • Desarrollo de productos

Si queremos modelar el sistema que prepara las opciones para ser entregadas, estamos hablando del flujo de valor de gestión de pedidos que ordena los pedidos de entrega (o fabricación en negocios de bienes físicos), en este caso estamos hablando de Upstream Kanban en general. Este también sería el caso de las empresas pasadas de moda donde la gestión empresarial y de productos están separadas de la entrega.

Si, en cambio, estamos hablando de una organización de producto que realmente quiere beneficiarse de la agilidad, debemos modelar los flujos de valor de Desarrollo de Producto, Ingeniería y Diseño en conjunto. En este caso estamos hablando de Discovery Kanban. Incluyendo también, cuando el producto está en la fase de madurez, la gestión de pedidos.

Obviamente, en la medida de lo posible, lo que queremos para las empresas digitales son todas esas cuatro corrientes de valor integradas como parte del mismo equipo (o equipo de equipos) y utilizar un solo sistema Kanban para administrar todo el flujo de trabajo. Sin embargo, cuando eso no sea posible, aún puedes beneficiarte de kanbanizar los diferentes flujos de valor e interconectarlos mediante sistemas pull y buffer.

Dos Tipos de Upstream Kanban

Si observamos los cuatro tipos diferentes de flujos de valor, podemos ordenarlos desde menos incertidumbre y menos variabilidad hasta más incertidumbre y variabilidad.

Cuando tomamos pedidos y los despachamos, básicamente deseamos reducir la sobrecarga y suavizar el flujo para ir lo más rápido posible. Por otro lado, el desarrollo y la ingeniería de producto implican un alto grado de incertidumbre y variabilidad, por lo que el enfoque no se centra tanto en la limitación de WIP sino en la visualización y los criterios para seleccionar y evolucionar las opciones.

En este extremo del espectro buscamos aprendizaje validado, tenemos que hacer trade-offs de diseño o tal vez encontrar la propuesta de valor adecuada para un segmento específico de clientes.

Cuando la incertidumbre es baja, como en productos maduros o equipos de TI, no hay necesidad de implementar un sistema upstream completo. Sin embargo, cuando la incertidumbre es alta, como en la innovación o el descubrimiento de producto, es aconsejable organizar el esfuerzo de descubrimiento.

Para solicitudes de baja incertidumbre, podemos comprometer el análisis completo y el esfuerzo de evaluación una vez que decidimos evaluar la solicitud. Para los ítems de alta incertidumbre, primero creamos una opción (es decir, una evaluación inicial de esfuerzo limitado) antes de realizar el análisis completo y la evaluación. En la siguiente sección veremos cómo funciona esto en la práctica.

Pero, aún en aquellas situaciones en las que hay poca incertidumbre, muchos equipos deciden que desean visualizar el flujo de preparación del trabajo entrante. Echa un vistazo, por ejemplo, a esta imagen de una reciente sesión de diseño del Sistema Kanban que hicimos con varios equipos. El que se muestra aquí es un equipo DevOps de una gran organización, y deben hacer varias cosas antes de comprometerse realmente con la entrega.

Kanban System Design - Modeling Workflow - AKTIA Solutions

Como puedes ver en la parte derecha de la imagen, cuando comenzamos a hacer el borrador del flujo de trabajo, el equipo desea visualizar tres etapas antes de la columna Ready to Pull, justo antes del punto de compromiso. Por lo tanto, como puedes ver, upstream Kanban no siempre es responsabilidad de otro equipo o departamento. En este caso, sin embargo, hay que tomar decisiones que requieren otras personas en la organización.

Selección de opciones

Cuando un paciente llega a la sala de urgencias de un hospital, lo primero que se hace es clasificarlo. Un médico determina qué tipo de problema tiene el paciente y qué tan urgente es. En base a eso, deciden qué secuencia en la cola debe tomar este paciente o si tienen que acelerarla.

Un upstream Kanban es principalmente un mecanismo de clasificación de opciones. Primero decidimos si debemos dedicar algún esfuerzo en el ítem (importancia) y en qué orden en comparación con otros ítems en la cola (secuencia).

Upstream Kanban para Product Managers

Imagina que eres el Gerente de producto de un comercio electrónico y estás pensando en diferentes opciones en preparación para el Black Friday. Una opción es hacer una campaña de descuento en el producto.

Esto es algo que has hecho antes, conoces tu producto y tu base de clientes y puedes calcular un retorno aproximado.

Assesing Impact of Options - AKTIA Solutions

Con esta información, puedes enviar la petición directamente a desarrollo si crees que vale la pena.

Ahora, imagina que estás pensando en introducir una nueva línea de productos en tu comercio electrónico o tal vez apuntar a un segmento de clientes o geografía diferente. Estoy bastante seguro de que tendrás que evaluar la oportunidad de mercado, la viabilidad financiera y hacer algunos experimentos antes de comprometerte plenamente con el desarrollo. Esto llevará un tiempo y probablemente requerirá de varias iteraciones e incrementos del equipo de desarrollo.

La primera opción tiene baja incertidumbre y bajo rendimiento, y la segunda opción tiene alta incertidumbre y alto rendimiento. Y seguirán diferentes flujos de trabajo dentro del upstream Kanban.

Upstream Kanban es esencialmente un Proceso de Triaje

Como enseñamos en nuestro taller de Lean Product Management y también explicamos en esta publicación, muchas empresas y equipos aún tienen dificultades para priorizar el trabajo porque carecen de toda la información básica y los marcos de decisión para poder hacerlo de manera rápida y efectiva.

La primera pregunta que debes poder responder es “¿Deberíamos trabajar en esto?”. La segundo es “¿Cuándo?”. Y, con upstream Kanban, agregamos otra pregunta: “¿Siguiendo qué flujo de trabajo?”.

Puedes utilizar técnicas de priorización como el perfil de riesgo, el ROI Scorecard o ICE para identificar rápidamente la importancia. Si es importante y urgente, hazlo ahora mismo, si es importante pero no urgente, hay que programarlo.

Prioritization Techniques - Eisenhower Matrix - Important vs Urgent - Lean Product Management - AKTIA Solutions

Después de evaluar la importancia, el valor o el riesgo (en caso de una regulación o campaña) debemos evaluar la incertidumbre. Si la incertidumbre es alta, necesitamos más exploración.

Diseñando un Upstream Kanban para Equipos de Producto.

En la siguiente imagen podemos ver un ejemplo de un sistema upstream Kanban para un equipo de producto.

Las opciones siguen diferentes flujos de trabajo según su perfil. También podemos ver los límites de WIP inferiores y superiores y las opciones descartadas.

Upstream Kanban for Product Teams - Options Triage - AKTIA Solutions

Como dijimos antes, puedes usar cualquier mecanismo de priorización que desees para la selección de opciones, como ICE, ROI Scorecard o Risk Profiling. También es importante mencionar que, en upstream Kanban no queremos que los equipos de desarrollo se encuentren sin trabajo que hacer o se sobrecarguen de trabajo, esa es la razón por la que establecemos un límite WIP inferior y superior.

El flujo de trabajo variará dependiendo de muchos factores. Puedes ver otro ejemplo de upstream Kanban mucho más elaborado para el descubrimiento de productos en nuestro próximo artículo sobre Discovery Kanban.

Conclusión Upstream Kanban

La mayoría de las adopciones de Kanban todavía comienzan en el nivel de entrega, sin embargo, debemos tratar de expandir el alcance de Kanban “aguas arriba” para que podamos alcanzar niveles más altos de agilidad de negocio.

En el próximo artículo hablaremos sobre una implementación específica de Upstream Kanban – Discovery Kanban.

Si deseas leer más sobre este enfoque con más detalle, puedes consultar el artículo de Patrick Steyaert.

Contáctanos para obtener ayuda con su adopción Kanban.