Objetivos alineados al negocio, comunicación eficaz, métricas y reportes. En este artículo, te contamos las claves sobre cómo logramos visibilizar nuestro trabajo a todas las partes interesadas del proceso de desarrollo de los productos.
El objetivo de las pruebas de software es proporcionar información sobre la calidad de los sistemas que probamos, y los riesgos que pueden afectar la experiencia del usuario y los negocios. Todo ello con el fin de lograr tomar mejores decisiones, para mitigar dichos riesgos, incrementar la calidad, y mejorar la experiencia de los usuarios.
En Abstracta, somos un partner de calidad. Sabemos que la comunicación es esencial para optimizar nuestro trabajo y alcanzar nuestros objetivos. Por eso, nos centramos en construir relaciones a largo plazo con nuestros clientes, a través de procesos transparentes que hacen visible el progreso de las pruebas de software. Descubre cómo lo hacemos en este artículo.
Objetivos y expectativas
Las pruebas de software deben estar alineadas con los objetivos del negocio del sistema que estamos probando, en todos los casos y sin excepción. El mayor desafío entonces no está en cómo realizar pruebas, como diseñar los casos o probar sus funcionalidades, sino en decidir qué no probar. La priorización es clave.
Debemos comprender los objetivos y los riesgos del negocio para hacer foco en sus prioridades. De ese modo, podemos diseñar nuestra estrategia de pruebas de forma alineada con las necesidades reales del negocio, y establecer expectativas claras sobre el progreso de las pruebas.
La creación de software de calidad es crucial para el desarrollo de la sociedad y la mejora de su calidad de vida. Vivimos en un mundo globalizado y casi totalmente interconectado, en el cual la transformación digital permanente es un hecho, y la tecnología de calidad marca una diferencia real en la vida cotidiana de las personas.
“Nuestro mayor impacto radica en lo que la tecnología que creamos habilita, y que esta tecnología sea de buena calidad”, enfatizó recientemente mi amigo y CEO de Abstracta, Matías Reina.
“Potenciamos tecnologías que están permitiendo que el software sea más veloz y de mejor calidad. Ayudamos a crear tecnología más accesible y que más personas tengan acceso a infraestructuras de comunicación. Cuando analizamos lo que hacemos en cada proyecto y con cada cliente, no pensamos solo en los productos en sí mismos, sino en lo que hacen posible, en cómo su tecnología mejora la calidad de vida de las personas”, continuó.
En definitiva, como testers, el primer paso para dar visibilidad a nuestro trabajo y progreso es entender y alinear nuestra estrategia de pruebas con los objetivos del negocio.
Estrategia de comunicación
Una vez que tenemos claros los objetivos, empezamos con las actividades de pruebas de software. Un gran desafío diario es mantener a todo el equipo informado. Esto no significa que sea necesario informar sobre cada prueba o resultado que obtenemos después de las pruebas que hacemos. Cada persona necesita un nivel de detalle diferente. Comprender este punto resulta crucial para lograr una estrategia de comunicación eficaz.
Estamos convencidos de que la comunicación es esencial para el trabajo diario. Por ello, prestamos gran atención a este punto. Nuestra experiencia de casi 15 años en pruebas de software nos reconfirma cada día que nuestra actividad no se traduce únicamente en el diseño y ejecución de las pruebas. Va mucho más allá. Necesitamos trabajar de modo colaborativo y dar lo mejor de nosotros para lograr mejorar realmente la experiencia del usuario.
Tenemos diferentes niveles de comunicación preestablecidos, con el fin de que todas las partes interesadas se encuentren siempre actualizadas.
Comunicación diaria
El trabajo en equipo es un pilar de nuestra disciplina. Sin embargo, cada cliente cuenta con su propia dinámica. Por eso, los testers nos integramos a los equipos tanto como nuestros clientes nos lo permiten.
El escenario más común es que nos convirtamos en parte del equipo de desarrollo, por lo cual participamos en todas las ceremonias, reuniones y canales de Slack, entre otros espacios. En esta modalidad, el intercambio resulta sumamente fluido y casi no hay diferencias entre la comunicación con los testers (en este caso, los miembros del equipo de Abstracta) y otros miembros del equipo, ya sean parte del equipo del cliente o de otros proveedores.
Todos nuestros testers son guiados y mentoreados por expertos técnicos, con el fin de lograr una comunicación más efectiva y reducir la posibilidad de tener puntos ciegos. De este modo, siempre hay alguien con más experiencia revisando su trabajo, y ayudando a pensar en nuevas ideas, diseñar pruebas, planificar y comunicar resultados.
Otra parte importante que integra los flujos de comunicación es nuestro equipo de Customer Success, que ayuda con la perspectiva de negocio. Se constituye como un nexo clave en aquellos casos en los cuales resulta necesario realizar ajustes o ampliar el equipo.
En este nivel de comunicación, se intenta recopilar información que pueda afectar a nuestra estrategia de pruebas, influenciar decisiones de negocio, o generar cambios en la estrategia global, entre otros factores. Así, podemos alinearnos y elaborar estrategias con el equipo técnico, realizar los ajustes necesarios, y asegurarnos de que nuestro progreso va en la dirección correcta.
Existen diferentes ítems que son importantes de compartir en cada nivel, con distintas frecuencias y diferentes personas. Algunas posibilidades:
- Diariamente: podemos conversar sobre objetivos semanales u objetivos del sprint, de los enfoques utilizados y prioridades.
- Mensualmente: podemos hablar sobre la estrategia de pruebas, cómo se cubren los diferentes riesgos con la estrategia actual, o cómo se están priorizando los diferentes factores de calidad.
- Trimestralmente: podemos realizar una recapitulación de lo que hemos hecho en el período y analizar si nuestro trabajo está alineado con la estrategia de negocio y de qué manera. Si estamos mejorando o cómo planificamos hacerlo.
Es importante destacar que se trata solo de ejemplos y que no existen fórmulas únicas. La frecuencia y el contenido son diferentes en cada equipo en función de su contexto. Por eso, todo lo que hacemos lo personalizamos de forma específica para cada cliente.
Métricas
Una buena forma de dar visibilidad a nuestras pruebas es gestionando y compartiendo métricas, seleccionadas inteligentemente para que sean útiles en relación a nuestro objetivo de alinear al equipo. En todos los casos, las pruebas buscan dar más información para tener menos incertidumbre y mejor control sobre el riesgo, pero esa información debe ser analizada cuidadosamente.
Solemos insistir en esta última idea porque las métricas pueden promover comportamientos no deseados, por lo que debemos ser muy cuidadosos a la hora de elegirlas. Por ejemplo, si nos limitamos a medir el número de bugs en los sistemas, podríamos estar motivando a nuestro equipo a centrarse en las áreas en las cuales pueden encontrar más bugs fácilmente, en lugar de enfocarse en las partes más importantes del sistema. Tampoco queremos atender únicamente el número de casos de prueba, porque justamente eso no nos dice nada sobre la eficacia de nuestras pruebas.
En consecuencia, nuestra atención se centra siempre en las métricas que son importantes para la empresa, algo que, si se mejorara, supondría una optimización real para la compañía. También es importante tener en cuenta que una métrica solo cuenta una parte de la historia, y que el compromiso del equipo con la calidad es muy relevante.
En Abstracta, solemos ser nosotros los que insistimos para que se proporcionen métricas. Consideramos que es muy importante que todo el mundo comprenda el impacto de la actividad de pruebas. De esta forma, podemos ayudar a mejorar la calidad, la velocidad, la agilidad, el rendimiento o cualquier otra razón que haya motivado a un cliente a contratarnos.
Para tener métricas útiles, es importante tener claros los objetivos que buscamos y, luego, seleccionar métricas que nos ayuden a ver si nos estamos acercando o no al éxito de ese objetivo.
Algunos ejemplos:
- Si queremos mejorar la calidad de nuestro producto, es prioritario centrarnos en los bugs que encontramos y que necesitamos solucionar antes del release: no nos enfocamos únicamente en su cantidad, sino en su gravedad. Con el mismo fin, es relevante medir todo lo reportado por los usuarios: bugs y quejas. Y medir la satisfacción de los usuarios de nuestros productos.
- Si estamos automatizando los casos de prueba y queremos medir el progreso, es recomendable considerar el número de casos, con el fin de contar con un modo eficiente de apoyar los esfuerzos de pruebas de regresión.
- Tenemos un objetivo de automatizar todas las pruebas de humo, o todas las suites de regresión, y ese número nos ayuda a medir el progreso en el tiempo, si estamos entregando de acuerdo con el plan o no.
- Si consideramos otros factores de calidad como el rendimiento, resulta crucial hacer foco en los tiempos de respuesta de las funcionalidades más importantes, así como en los recursos necesarios para poder responder a la carga actual en el momento adecuado. De esta forma, incrementamos la calidad y controlamos los costos.
En resumen, las pruebas siempre buscan proporcionar más información para reducir la incertidumbre y mejorar el control sobre el riesgo. Es importante elegir métricas que se alineen con los objetivos del negocio pero no tener en cuenta únicamente las métricas, sino el compromiso del equipo con la calidad. En Abstracta, nos gusta hablar de métricas, porque sabemos que son fundamentales, pero también de hitos que el equipo ha conseguido de manera conjunta.
Reportes
El objetivo principal a la hora de realizar pruebas de software es recopilar información sobre la calidad y los riesgos, el producto, sus usuarios y condiciones de uso. Esta información ayuda a nuestros clientes a tomar decisiones empíricamente fundamentadas sobre el producto, el proyecto o la empresa. Una forma de dar visibilidad a los resultados de nuestras pruebas es compartirlos mediante reportes de pruebas.
Si bien el objetivo de nuestro trabajo no es documentar, sino entregar software de calidad, queremos sacar el máximo provecho al tiempo que dedicamos a elaborar informes (tal como lo dice el Manifiesto Ágil).
Somos conscientes de que no basta con planificar una estrategia de pruebas e implementar pruebas de rendimiento, exploratorias, manuales o automatizadas cuidadosamente. Compartir todo esto con nuestros clientes es clave en nuestro trabajo. De este modo, todos (Abstracta y su cliente, como equipo, como colaboración entre partners) podemos estar informados y actuar en consecuencia.
Para lograrlo, solemos acordar distintos tipos de informes en función de lo que consideremos de mayor utilidad para la colaboración entre las distintas partes implicadas, que puede ser semanal, trimestral o con distintas frecuencias y distintos niveles de detalle.
Consideramos que un informe de pruebas es una oportunidad para detenernos a reflexionar, recapitular nuestros logros, celebrarlos y también aprender sobre el proceso y las dificultades atravesadas, con el fin de seguir mejorando día a día.
Cuando elaboramos informes, realizamos análisis en retrospectiva y obtenemos más información, desde una perspectiva diferente y necesaria. Muchas veces, esto nos lleva a identificar oportunidades de mejora, discutirlas en equipo, y crear así una nueva instancia para aprender y compartir aprendizajes.
En Abstracta, brindamos soluciones de pruebas holísticas de primer nivel, con el objetivo de ofrecer software de calidad de modo continuo. Somos conscientes de que un software de calidad es capaz no solo de mejorar su rendimiento, sino también de simplificar la vida de incontables personas, y transformar las comunidades.
En este camino, comprendemos la importancia de hacer visible el progreso de las pruebas, para construir confianza y relaciones a largo plazo con nuestros clientes y, así, lograr cocrear mejor software cada día. ¡Hablemos!
Etiquetas
Posts Relacionados
¿Por qué se habla tanto de la cultura DevOps en testing?
La cultura DevOps está revolucionando el desarrollo de software. Descubra qué significa para los testers y cómo impacta su trabajo diario.
Scrum, un cambio de paradigma para el testing de software
Del trabajo en cascada a metodologías ágiles. ¿Qué diferencias hay entre Scrum y otros marcos de trabajo? ¿Por qué representa un cambio de paradigma para el testing de software y la calidad?