Toyota Kata: ¿Y esto se puede aplicar a desarrollo de software?

Hiroshi Hiromoto
scrumorganico
Published in
5 min readApr 16, 2017

» Hiro, me parece muy interesante esto de Toyota Kata pero…¿puede aplicar a desarrollo de software? Yo encuentro puras referencias a manufactura.
- Sí, es cierto que mucha de la bibliografía tiene referencias de ese rubro. Sin embargo, Toyota Kata brinda patrones que nos permiten mejorar continuamente, y esto es algo que aplica a cualquier contexto.
» Ok, lo entiendo teóricamente, pero, tienes una ejemplo de su aplicación en entornos de software.
- Claro te doy un ejemplo simplificado para que se entienda mejor…

Si aún no sabes que es Toyota Kata, te recomiendo leer este artículo introductorio.

Les presento a Juan, Karl, Martín, Carlos y Lisbeth. Ellos son un equipo de desarrollo que trabaja dando soporte y desarrollando la aplicación de ventas de su organización.

Lisbeth hace poco ha sido promovida como Team Lead de este equipo y se encuentra constantemente en búsqueda de mejores formas de trabajar. Ella ha recibido varias quejas sobre la calidad del trabajo desarrollado, desde el director de IT hasta los usuarios finales y ha encontrado en Toyota Kata un mecanismo para hacerle frente a esta problemática.

Veamos cómo lo está llevando a cabo:

La Visión

Una de las primeras cosas que hizo Lisbeth cuando asumió su nuevo cargo fue reunirse con el director del área. Entre otras cosas él le comentó la visión del área:

“Ser un brazo estratégico del desarrollo del negocio a través de tecnología”

Entender la dirección

Con la visión en mente tanto Lisbeth como el director de IT llegaron a un consenso sobre el desafío que tienen tomando en cuenta la visión del área:

“Entregar software de valor continuamente con menos del 5% de funcionalidades con bugs en producción por release”

Comprender la Condición Actual

Con la visión y el desafío claro, Lisbeth se reúne con su equipo en el lugar del trabajo, el genba, para que juntos determinen la situación actual.

Ellos actualmente utilizan un tablero kanban y tienen algunas métricas tanto del proceso como del resultad, basado en eso la condición actual es:

Nota: La definición de la Condición Actual está simplificada para el ejemplo, usualmente tiene varios componentes como: diagrama de bloque del proceso, métricas de proceso, métricas de resultado y características del proceso.

Establecer la Siguiente Condición Objetivo

Una vez conscientes de la situación actual, Lisbeth junto con el equipo se proponen una siguiente condición objetivo que debería ser cumplida en dos meses.

Revisar Obstáculos

Ahora que Lisbeth y el equipo tienen una meta clara a cumplir en los dos siguientes meses, pueden comenzar a pensar en los obstáculos que actualmente están evitando que estén es esa situación deseada. Luego de un poco de brainstorm, análisis y discusión, llegaron a la siguiente lista:

De todos estos obstáculo, ellos han decidido atacar el obstáculo en naranja primero.

Listos para experimentar

Con esto el equipo ha terminado la etapa de planificación del Improvement Kata (IK) y están listos para iniciar la etapa de ejecución, es decir, están listos para experimentar.

Luego de una conversación sobre cuál debería ser su primer experimento para buscar remover el obstáculo seleccionado, Lisbeth y el equipo determinan que probarán lo siguiente:

- Experimento: Hacer pairing con el tester antes de iniciar el desarrollo de un nuevo feature.
- Resultado esperado: Que el tester tenga contexto del feature y pueda preparar con tiempo el set de pruebas. Con esto aumentar, en al menos 1 día, el tiempo de ejecución efectiva de pruebas, incluyendo las exploratorias.

Ciclos de Coaching

Dado que Lisbeth es consciente de que es nueva en todo este tema de Toyota Kata, se ha estado apoyando en un Coach/Mentor. Él ha estado facilitando la parte de planificación del IK y será quien lleva a cabo los ciclos de Coaching Kata.

El coach se junta con todo el equipo y les hace las 5-preguntas y coordinan que en 1 semana se juntarán para ver los resultados del primer paso.

Pasada la semana, el coach se junta nuevamente con Lisbeth y con el equipo para revisar lo aprendido con el experimento. Nuevamente el coach le hace las 5-preguntas, a lo que el equipo explica los resultados obtenidos y sus aprendizajes. En base a ello formula un nuevo experimento y sigue avanzando en remover el obstaculo. Una vez logrado remover el obstáculo toman el siguiente y así sucesivamente hasta llegar a la Siguiente Condición Objetivo.

También acuerdan volver a realizar un ciclo de coaching en 1 semana.

En resumen

Este es un ejemplo simplificado de cómo un equipo de desarrollo de software puede aplicar Toyota Kata. Si se dan cuenta el patrón sigue siendo el mismo que en cualquier contexto, solo que a veces se necesita un poco más de “mano” para la definición de la situación actual, la siguiente condición objetivo y quizás en los experimentos.

Cabe señalar que tradicionalmente los ciclos de Coaching Kata los realiza el Coach con el Learner (en este caso Lisbeth), pero que en el caso de equipos de desarrollo he visto más oportuno involucrar a todo el equipo, sin quitarle la responsabilidad del IK al Learner.

¿Quiere saber más sobre Toyota Kata?

- Deja un comentario con una duda o pregunta.
- Puedes leer sobre el trabajo de Hakan Forss (en inglés) también aplicando Toyota Kata en el trabajo de conocimiento.

--

--

Hiroshi Hiromoto
scrumorganico

Nikkei. Agility Consultant. Co-creating more adaptive organizations that deliver high value to its customers and employees.