lunes, 11 de diciembre de 2023

Retrospective: Retro Improvement Kata

El Improvement Kata es una forma sistemática de establecer objetivos de mejora medibles y trabajar de manera iterativa para lograrlos a través de bucles cortos de aprendizaje. Para aplicar el Improvement Kata, necesitas saber dónde estás y hacia dónde quieres ir. Las iteraciones pueden ser tus Sprints si trabajas con Scrum y las planeaciones de mejoras las realizarías en las sesiones de retrospectiva. Es una manera de mezclar retrospectivas con Improvement Kata.

Los pasos de una retrospectiva tipo Kata pueden ser los siguientes:

  1. VISIÓN: alineación (formalizar una visión). inicia con la visión que nos guía..
  2. DESAFÍO: desafíos o estado actual (AS IS): define las condiciones actuales o desafío.
    1. Utiliza visualizaciones simples y claras para representar el estado actual del equipo o del proceso.
    2. Identifica desafíos (Challange) como áreas de mejora y oportunidades basadas en la realidad actual.
  3. META: meta o estado siguiente (TO BE): elige tu próximo objetivo o meta..
    1. Establecer objetivo siguiente (Target Condition): define un objetivo específico y alcanzable para el próximo periodo o sprint; y asegúrate de que el objetivo esté alineado con la visión y las metas a largo plazo.
  4. OBSTÁCULOS: Detecta obstácules (Obstacle) que impiden alcanzar los desafíos.
  5. EXPERIMENTOS: Idea experimentos accionables (Experiment): con el objetivo en mente, realiza brainstorming sobre posibles acciones y experimentos concretos; y prioriza estos experimentos según su impacto y viabilidad.
    1. Cierre de retrospectiva.
  6. Ejecutar experimentos (luego de la retrospectiva): 
    1. Implementa los experimentos planificados durante el periodo especificado.
    2. Documenta los resultados y observaciones cuidadosamente.
Lienzo:




Recomendaciones


La mejora continua con Improvement Kata requiere más de una retrospectiva, ya que es un proceso continuo. Algunas recomendaciones son las siguientes:


  1. La visión (Vision): la visión proporciona la dirección y los límites para la mejora. A menudo eso significa definir una visión que contenga las capacidades centrales que la definen.

  2. Un Desafío (Challenge) es un subconjunto de la Visión:

    1. Plazo de 2 a 6 meses.

    2. Solo trabajas en un desafío a la vez.

  3. Meta o una condición objetivo (Target Condition) es un subconjunto del desafío:

    1. Plazo de 4 semanas.

    2. Simplemente trabaja en una condición objetivo a la vez.

  4. Obstáculos (Obstacles) es una cuestión específica que no nos permite alcanzar la Condición Objetivo:

    1. Cronograma de varios experimentos.

    2. Simplemente trabajas en un obstáculo a la vez.

  5. Experimentos para superar obstáculos:

    1. Plazo de uno a diez días.

    2. Simplemente ejecuta un experimento a la vez.






Ejemplo de visión

La visión puede ser algo simple o algo más sofisticado.
Por ejemplo, para definir una visión para buscar mejoras conducentes hacia un ecosistema Agile, podemos definir una que contenga las capacidades centrales que definen lo ágil para la organización. Jesper Boeg define, en su libro (Level Up Agile With Toyota Kata), ocho capacidades que las organizaciones ágiles deberían esforzarse por establecer:
  1. Alineación estratégica.
  2. Equipos empoderados y autoorganizados.
  3. Equipos estables de extremo a extremo con una asignación del 100%.
  4. Siempre lanzable: todo el trabajo, en cualquier momento, completamente automatizado a pedido.
  5. Pequeños lotes (MVP, MVF), siempre con un enfoque de afuera hacia adentro (desde la perspectiva del cliente).
  6. Gestión visual: plena transparencia.
  7. Retroalimentación continua cualitativa y cuantitativa del cliente y del usuario final.
  8. Flujo uno a uno (Limitar el trabajo en progreso).
Una visión más simple es como la del siguiente ejemplo.

Ejemplo de resultado de retrospectiva


Visión: 
  • Mejora Continua basada en Datos: En nuestra incansable búsqueda de excelencia técnica, nos comprometemos a mejorar continuamente basada en datos de nuestro desarrollo de software, reconociendo que el rendimiento de nuestros equipos es la esencia de nuestro éxito, y que las Four Keys Metrics, son nuestro faro guía para medir y perfeccionar nuestras prácticas.

Desafíos: 
  • Transparencia y Medición Efectiva: La falta de visibilidad, datos, métricas significativas y la incapacidad para medir 4KM, dificultan saber cómo estamos basados en datos.

Metas (Target Condition)
  • Paneles de Métricas: Disponer de Paneles de Métricas basadas en 4KM y paneles de métricas de equipo, usando como fuente de datos Jira y GitHub.

Obstáculos:
  • Necesidades de Educación y Capacitación: Los miembros del equipo pueden no estar familiarizados con la interpretación y uso efectivo de métricas como 4KM.
  • Ausencia de Una Cultura de Transparencia: En entornos donde la cultura de transparencia no está arraigada, los equipos pueden ser reacios a compartir métricas públicamente.
  • Malas prácticas en el uso de GitHub y Jira: Los equipos no tienen acuerdos comunes relacionados a flujos de trabajo, prácticas de actualización de Jira, integración de Jira con GitHub y mensajes en los commit a repositorios.
  • Consenso en la Definición de Métricas Relevantes: Puede ser desafiante identificar las métricas más relevantes y significativas para el rendimiento del equipo además de Capacidad: Capacidad (en esfuerzo/tiempo) de personas para invertir en desarrollar herramienta de reportería de 4KM.

Experimentos:
  • Capacitaciones 4KM y buenas prácticas Jira/GitHub.
  • Configuraciones Jira y GitHub.
  • Desarrollo de Dashboards de Jira basados en 4KM.


Referencias: