TMO y Agile testing | Descubre la oficina de gestión de pruebas
Artículo de Pablo Gómez
Seguro que has leído y quizá hasta has oído hablar de TMO en el mundo de la Calidad de Software. Pero…
¿Qué es TMO?
La TMO (Testing Management Office) o Oficina de Gestión de Pruebas, surge en las empresas de software para abordar la calidad en las entregas de proyectos. Es un equipo independiente encargado de varios aspectos como:
Mantenimiento y mejora de las actividades de verificación y validación del software.
Diseño de estrategias de pruebas automáticas (unitarias, análisis estático de código, de sistema, de integración, API testing, pruebas funcionales, pruebas de rendimiento, UAT…).
Utilización de herramientas y técnicas de testing.
Redacción y gestión de guías y plantillas de test.
Para comprender mejor su función, se puede comparar con una entidad "hermana", la PMO (Oficina de Gestión de Proyectos). La PMO busca minimizar retrasos y sobrecostes en proyectos, estableciendo una gestión directa sobre los costes, alineamiento con stakeholders y efectividad de los desarrollos. Sin embargo, a diferencia de la PMO, la TMO se especializa en garantizar la calidad de las entregas mediante una gestión experta en pruebas.
Adicionalmente, la TMO se encarga de:
Identificación temprana de no conformidades y propuesta de soluciones.
Coordinación del equipo de pruebas.
Gestión de entornos no productivos.
Mentorización al equipo de desarrollo.
Gestión eficiente de las planificaciones de pruebas.
Identificación y gestión de riesgos, anticipación de problemas.
Control de costes de calidad y no-calidad.
Gestión de despliegues y análisis de evolución en producción.
¿TMO y Agile Testing son términos enfrentados?
No, ni mucho menos. Aunque el hecho de tener una “oficina independiente” de pruebas pueda resultar, sobre el papel, poco Agile, en realidad es posible implementar una TMO dentro de un equipo ágil sin ningún problema.
Todas las acciones detalladas en el punto anterior deben llevarse a cabo en el contexto de un desarrollo ágil. Un miembro de la TMO ha de llevar el rol de QA y guiar al equipo, involucrándolo en la calidad.
La automatización de las pruebas (y todo lo que ello implica de metodologías, entornos, frameworks…) será liderada por la TMO y ejecutada por un “embajador” de la misma en el equipo, pudiendo tener un feedback temprano, promover el shift left y otras mejoras en el desarrollo que serán merecedoras de otra entrada en el blog.
¿Cuáles son los objetivos de una TMO?
El objetivo de una TMO es mejorar globalmente la calidad del software entregado a los usuarios. Una mejor calidad tiene muchos beneficios, entre los que se incluyen:
Reducción del tiempo de entrega de valor al cliente (Time to Market).
Un desarrollo más eficiente (y un equipo técnico más feliz).
Una reducción de costes derivada de la reducción de defectos.
Mejor imagen y posición en el mercado de nuestro producto.
La última evolución de las TMO, la llamada TMO 3.0, agrupa las funciones en tres capas relacionadas con las actividades de las pruebas:
Ejecución de pruebas y seguimiento.
Dirección de pruebas y gobierno.
Control de productividad y efectividad.
La TMO 3.0 además ha de tener:
Visibilidad sobre la calidad en todo el ciclo de desarrollo de software.
Identificados los puntos de mejora, previendo la evolución de las acciones llevadas a cabo en cada fase del desarrollo.
Un cuadro de mando para controlar evolución, costes y resultados.
Hablar de TMO suena bien, pero, ¿cómo pongo en marcha todo esto en un marco de Desarrollo Agile?
FASE 1 - Introducir la TMO
El primer paso generalmente es realizar una [Auditoría 360 de calidad] (https://quiz.typeform.com/to/k1KgLLEW) con entrevistas a todos los actores involucrados en el ciclo de desarrollo de software, desde el equipo de Producto a la monitorización en producción, pasando por los programadores, Scrum Masters, DevOps, etc.
FASE 2 - Estrategia de la TMO
Una vez tenemos la “foto fija” del ciclo de vida de desarrollo del software (SDLC) debemos identificar y priorizar los puntos sobre los que es más urgente realizar acciones de mejora de calidad. Debemos en este punto determinar qué KPI nos resulta más efectivo en aras de poder medir una evolución en las acciones llevadas a cabo para poder modificarlas a tiempo si fuese necesario.
FASE 3 - Actuación de la TMO
Posteriormente se comenzarán a desplegar las acciones de calidad más adecuadas a los puntos detectados en la Auditoría. En esta fase, apoyadas en las pruebas automáticas, se crearán Quality Gates que nos permitirán tener control sobre la promoción del código desarrollado. También en esta fase deberemos definir cómo gestionar los entornos pre-productivos donde poder realizar las pruebas, los pipeline de ejecución automática… Sin duda, es la fase más operativa, más de campo :)
FASE 4 - Métricas de la TMO
Finalmente, orquestar un cuadro de mando que nos permita tener una visión global del estado de nuestro producto. Debería sintetizar los informes de las pruebas en los diferentes entornos, monitorizar el estado de la aplicación en producción etc.
…y FASE 5 como no podía ser de otra manera, revisar, ajustar, ¡e iterar de nuevo!
Si buscas más información o ayuda, puedes venir a visitarnos cuando quieras :)