Elevando nuestra práctica mediante OKR

¿Porqué no elevar nuestra práctica mediante OKR’s?

  • OKRs en Agile Testing: Mejora Continua: Los OKRs proporcionan una estructura clara para objetivos de calidad y eficiencia en Agile Testing, facilitando mejoras continuas y medibles en cada sprint. Los objetivos que podamos establecer con el equipo pueden ser llevados a cabo por Q y alineados con la planificación y estrategia del PO, por ejemplo.
    La medición la logramos mediante los KR’s que hayamos definido y que se pueden hasta alimentar de los KPI’s que tengamos por ejemplo Jira/Xray.
  • Objetivos Concretos para Equipos de Testing Ágiles: Definir objetivos claros y alcanzables en el corto plazo ayuda a los equipos de testing a enfocarse en mejoras específicas y tangibles. Hay que tener muy en claro la diferencia entre metas y objetivos, ya que estos últimos pueden estar alineados con los objetivos que hayamos marcado en sintonía con el punto anterior y que tiene que ver con los Sprints del proyecto.
  • Automatización de Pruebas con OKRs en Scrum: Integrar OKRs en Scrum permite a los equipos de testing mejorar la cobertura y eficiencia de las pruebas automatizadas de manera sistemática. Sabemos que la automatización de testing plantea ciertas dificultades dependiendo de varios factores que se van dando a lo largo del proyecto, como ser: mantenimiento de los scripts existentes, generación de nuevos scripts a partir de scripts manuales, actualizaciones de la herramientas que estemos utilizando, gestión de los datos de los distintos ambientes en los que apliquemos nuestros jobs automatizados, prácticas de mejoras como puede ser la paralelización de ejecuciones, no disponibilidad de recursos técnicos, liberaciones pendientes, y también claro está, gestión de tiempos reducidos, urgencias de producción que atender y la falta de identificación del impacto de las mismas en sistemas y/o procedimientos no mapeados, entre otros temas.
  • CFR:  Retroalimentación en Agile Testing: Conversaciones y feedback continuos ayudan a los equipos de testing a ajustar y cumplir sus objetivos de calidad en un entorno ágil. Este tipo de actividades no sólo se deben dar durante las retros y los refinamientos, sino en cada momento de las ceremonias y durante el día a día para ir construyendo mejores espacios de diálogo.
  • Mejora de Calidad del Software con OKRs: Implementar OKRs en Agile Testing alinea los esfuerzos de mejora de calidad con los objetivos empresariales, asegurando productos de software más robustos y eficientes. Teniendo un objetivo claro e indicadores que nos permitan ir reconociendo que vamos consiguiéndolos además de ir teniendo mediciones es lo que motivará al equipo de testers ágiles y al resto del equipo de proyecto.

Introducción a OKR desde el punto de vista de Agile Testing

1. Definición y Propósito

  • OKR es una metodología de planificación estratégica que fomenta la transparencia y colaboración, ideal para entornos ágiles. En Agile Testing, los OKRs pueden alinear los objetivos de calidad y la eficiencia de los equipos de testing con los objetivos generales del equipo de desarrollo y el proyecto que tenga el área en la que nos encontremos.
  • Objetivo (O): Implica definir QUÉ se quiere lograr en términos de calidad del software. A modo de ejemplo podemos mejorar la cobertura de pruebas (incluyendo los procesos vinculados que pudieran sufrir un daño colateral), reducir defectos en producción (bugs), o acelerar los ciclos de prueba mediante automatización.
  • Resultados Clave (KR): Implican definir el CÓMO se logrará el objetivo mediante indicadores medibles como la tasa de automatización de pruebas, tiempo de ejecución de pruebas, y número de defectos encontrados y solucionados.

2. Pasos para Aplicar OKR en Agile Testing

  • Podemos empezar buscando la respuesta «al porqué»: Define un propósito claro para el equipo de testing. Esto podría ser mejorar la calidad del producto, reducir el tiempo de entrega, o incrementar la eficiencia a través de la automatización.
  • Comprende muy bien la diferencia entre Objetivos y Metas: En Agile Testing, los objetivos son concretos y centrados en mejoras específicas en el proceso de testing y calidad del software, alcanzables a corto plazo (dentro de un sprint o release), mientras que las metas son todo lo contrario.
  • Definir Objetivos: Los objetivos deben ser significativos, ambiciosos e inspiradores. Ejemplo: «Mejorar la cobertura de pruebas automatizadas en un 20% durante el próximo trimestre».
  • Comienza con un Objetivo: Para evitar la dispersión de esfuerzos, empieza con un único objetivo clave, por ejemplo, incrementar el uso de pruebas automatizadas en regresión.
  • Diseño de Resultados Clave: Verifica el logro del objetivo mediante métricas específicas y evaluables en el corto plazo (tres meses), como la tasa de ejecución de pruebas automatizadas y el número de defectos críticos identificados antes de la producción.

3. Ejemplos de OKR en Agile Testing

  • Objetivo Empresarial: Mejorar la calidad del software entregado.
    • KR1: Aumentar la cobertura de pruebas automatizadas al 45%.
    • KR2: Reducir el tiempo de ejecución de la suite de pruebas automatizadas en un 25%.
    • KR3: Disminuir el número de defectos en producción en un 40%.
  • Objetivo Profesional para un Tester: Mejorar habilidades en automatización de pruebas.
    • KR1: Completar 3 cursos de formación en herramientas de automatización (como Selenium).
    • KR2: Obtener una certificación en un marco de automatización de pruebas.
    • KR3: Implementar al menos 5 nuevas pruebas automatizadas en el proyecto actual.

4. CFR (Conversaciones, Feedback y Reconocimiento) en Agile Testing

  • Conversaciones: Establecer diálogos continuos dentro del equipo de testing y con otros equipos para alinear expectativas y objetivos.
  • Feedback: Proporcionar retroalimentación regular sobre el progreso hacia los KR ‘sy realizar ajustes según sea necesario.
  • Reconocimiento: Celebrar los logros, como alcanzar una alta cobertura de pruebas automatizadas o reducir significativamente los defectos, lo que motiva al equipo y refuerza las buenas prácticas.

Aplicación en un marco de trabajo Scrum con Automatización de Testing

En un entorno Scrum, donde los equipos trabajan en ciclos cortos y entregas incrementales, la implementación de OKRs puede estructurarse de la siguiente manera:

  1. Definir los OKRs en la Planificación del Sprint: Durante la planificación del sprint, los objetivos y  los resultados clave deben definirse claramente y alinearse con el backlog del sprint. Esto asegura que todos los miembros del equipo estén enfocados en los mismos objetivos de calidad y eficiencia.
  2. Seguir el Progreso durante las Daily Scrum: Utiliza las reuniones diarias para revisar el progreso hacia los OKRs, discutir bloqueadores y ajustar el enfoque si es necesario. Esto mantiene al equipo alineado y enfocado en los resultados clave.
  3. Revisión y Retroalimentación en las Sprint Reviews y Retrospectives: Al final de cada sprint, evalúa el progreso hacia los OKRs en las revisiones de sprint y retrospectives. Esta evaluación permite realizar ajustes continuos y aprender de las experiencias para mejorar en el siguiente sprint.

Conclusión

Integrar OKRs con Agile Testing y prácticas de automatización en un marco Scrum ofrece un enfoque estructurado y medible para mejorar la calidad del software. Alinea los objetivos del equipo de testing con los objetivos empresariales, facilita la transparencia y colaboración, y asegura que se logren mejoras continuas y tangibles en el proceso de desarrollo y entrega del software.

Gus Terrera

Apasionado por el agile testing y la ia.