Siempre que existen dependencias externas en nuestro equipo de desarrollo, tenemos un problema que repercute significativamente en la entrega de productos y servicios. Cuanto mayor sea el número de dependencias externas, más tiempo llevará nuestro Time to Market.
Visualización
Lo primero que debemos hacer para tratar las dependencias externas es dar visibilidad a nuestro flujo de valor. Mapear todo el proceso desde el surgimiento de la idea hasta que el producto o parte del producto se le entrega al consumidor. Nuestro coach Luiz (Lula) Rodrigues ha escrito sobre el Statik (Systems Thinking Approach to Introducing Kanban) y cómo puede ayudar a su equipo a realizar ese mapeo.
Mapeo del flujo de valor de un equipo. Las dependencias externas se indican en color (pruebas y entrega). Los pasos internos del equipo, en negro.
Métricas
Tras del mapeo, es imprescindible que comience a medir la eficiencia de su proceso. En ese punto destacan dos métricas: Lead Time y Cycle Time.
El Lead Time, actualmente llamado Customer Lead Time, es el tiempo transcurrido desde que el equipo se compromete a desarrollar una parte del producto hasta la entrega de esta al consumidor (incluida cualquier dependencia externa del proceso, aunque sea al final del mismo).
Cycle Time, actualmente llamado Local Lead Time, es el tiempo entre el inicio y el fin de cualquier etapa de su flujo de valor.
Lead Time o Customer Lead Time es el tiempo transcurrido entre el compromiso de entrega del elemento de valor y su entrega al consumidor. El Cycle Time o Local Lead Time es el tiempo entre cualquier etapa dentro del flujo de valor.
Este equipo solo se compromete a entregar un elemento de valor cuando este ha sido priorizado. A partir de ese punto comenzamos a calcular el Lead Time y terminamos cuando el elemento se transforma en producto y se entrega al consumidor. Cycle Times es el tiempo entre cualquier etapa de nuestro sistema o una combinación de etapas. Por ejemplo, todas las etapas internas del equipo y todas las etapas externas al mismo.
¿Por qué son importantes las dos métricas?
El Lead Time es el tiempo total y a algunos equipos no les gusta incluir dependencias externas, pues muchas veces son el cuello de botella del proceso y no hay mucho que podamos hacer. Esto es un error, porque perdemos transparencia (barriendo la suciedad debajo de la alfombra) e impedimos cambios sistémicos en la organización.
El Cycle Time le permitirá separar cuánto tiempo pasa el elemento dentro de su equipo y cuánto fuera, y le aportará hechos cuando surjan discusiones sobre eficiencia, plazos y costes.
Limitar el Trabajo en Curso
Limitar el trabajo en curso (Working in Progress – WIP) es esencial para aumentar la eficiencia del equipo. Cuantos menos elementos avancen paralelamente en nuestro panel, más rápidamente desarrollaremos cada elemento. Lo contrario, desgraciadamente, también es cierto. Si su equipo desea ser altamente ineficiente, basta con empezar a hacer varias cosas al mismo tiempo. Nada terminará.
En este punto, surge una duda común: ¿debo o no limitar la cantidad de trabajo en curso de otro equipo? Rodrigo de Toledo presenta tres posibles soluciones.
Lucha
Podemos adoptar tres comportamientos en este caso. Son luchas políticas y en todas tenemos ventajas y desventajas.
Huir de la lucha
En este caso, su equipo sufre en silencio. La dependencia externa no es limitada y la cola de espera tenderá al infinito. Evitar el conflicto es una opción que al principio parece buena, pero genera resultados pésimos a largo plazo. Siga midiendo el Lead Time y obtendrá hechos que ratifican el problema.
Al evitar el conflicto y dejar que las colas de espera de las dependencias externas crezcan indefinidamente, su lead time empeorará y su empresa será más ineficiente.
No olvidemos que no hacer nada también es tomar una decisión.
Luchar*
Limitar el trabajo en curso de la dependencia externa. Tenga en cuenta que al hacerlo, puede estancarse el proceso. Nada puede avanzar porque la dependencia externa no entrega. Cuando esto ocurra, el equipo se cruzará de brazos, ya que no será posible hacer nada más. Entrar en conflicto puede ser una opción más radical y debe tener mucho cuidado al ejecutarla. Haga una buena lectura del escenario y observe si su equipo posee suficiente capital político para adoptar tal postura.
Panel. Nada puede avanzar hasta que el equipo responsable de la entrega reaccione.
Hacer política
Una vez que su proceso esté mapeado y medido, queda muy claro dónde están sus cuellos de botella y cómo impactan en su eficiencia. Una vez adquirida esta información, es hora de hacer política en la organización. Estos hechos son una invitación al debate entre los diversos equipos de la empresa. Busque a los responsables de las dependencias externas y hábleles sobre cómo:
- internalizar en su equipo el trabajo realizado por la dependencia externa;
- tener personas de su equipo trabajando con la dependencia externa para aprender del trabajo realizado por ellos y generar empatía entre los interesados;
- hacer más fácil el trabajo antes de enviárselo al equipo externo;
- decidir cuáles serían las restricciones mínimas antes de pasarle la demanda al equipo externo;
- decidir un Nivel de acuerdo de servicio que sea suficiente para la dependencia y razonable para su equipo;
Muchas veces, la dependencia se crea no por falta de conocimiento, sino por falta de autorización. Por ejemplo: aunque el equipo de desarrollo sepa cómo hacerlo, solo el equipo de infraestructura puede ofrecerle servicios al consumidor final.
La falta de autorización es generalmente una burocracia provocada por algún problema del pasado que provocó desconfianza entre los interesados. En tal caso, utilice herramientas de automatización y recuperación si algo sale mal y recurra incluso a instancias superiores para solicitar dichas autorizaciones. Sin embargo, recuerde: la confianza es algo que usted conquista, no puede imponerla.