Skip to content

Del Modelo Tradicional a un Enfoque Moderno de Software QA

software qa

Algunas de las funciones y procesos primordiales de una empresa son el crear una cultura robusta, una mentalidad de calidad y equipos cohesionados, sin embargo, existen barreras que las empresas deben sortear para lograr esa tan anhelada cultura basada en calidad. 

En el modelo tradicional de software QA, las actividades de cada persona dentro del equipo de QA son muy específicas:

  •  Probar el trabajo del desarrollador antes de que sea liberado a producción (pruebas funcionales y automatizadas).
  • Detectar bugs a tiempo.
  • Comunicar efectivamente cualquier hallazgo que pudiera ser crítico.
  • Priorizar los problemas y buscar que sean solucionados.

Considerando los puntos antes mencionados, ¿cómo podemos movernos del enfoque tradicional de pruebas a un enfoque moderno orientado a la calidad?

Definiendo la Cultura de Software QA

Aún recuerdo que hace algunos años, un gerente de ingeniería mencionó durante una reunión que un enfoque en calidad podría afectar el desarrollo de nuevas e innovadoras aplicaciones. En ese entonces iba iniciando mi carrera en el área de QA y al escuchar esas palabras, lo primero que vino a mi mente fue, ¿cómo podemos cambiar ese paradigma?; en mi opinión, la innovación y la calidad deben ir de la mano siempre.       

Antes de empezar a hablar de una cultura de calidad, necesitamos entender dónde se encuentra nuestra empresa en términos de cultura y calidad. Una autoevaluación nos ayudará a identificar los cambios previos que debemos realizar antes de introducir nuevas normas, valores y procesos. Es importante que comuniquemos estos cambios a nuestro equipo para generar confianza y tener expectativas claras y alineadas.

Una cultura de calidad no es solo una serie de procesos e instrucciones a seguir, la calidad es una forma de vivir día con día. De la misma forma, una cultura de calidad debería ser una serie de prácticas y comportamientos aplicables a todos los niveles dentro de nuestra organización. 

La calidad debe estar en todas partes, hablando en términos prácticos, este artículo está enfocado en el área de procesos de software. La calidad es algo que cambia frecuentemente, y por lo mismo es un viaje constante para alcanzar la mejora en nuestras aplicaciones de manera continua.

En una cultura de calidad, debemos alcanzar la cooperación entre los departamentos, gerentes y empleados. El trabajo en equipo es crucial ya que crea un sentido de pertenencia y compromiso entre todos los miembros del equipo.

Del Modelo Tradicional de Software QA a ser Embajador de Calidad

Necesitamos eliminar nuestros prejuicios relacionados al cambio y sobre todo en lo que se refiere a los cambios organizacionales. En muchas ocasiones las personas temen a lo nuevo por ser algo desconocido, trabajemos en conjunto con directores y gerentes para evitar esa incertidumbre desde un inicio.

Me gustaría compartir mi visión de lo que llamo un camino de calidad moderno y de cómo empoderar a los equipos ágiles acerca de la calidad en el software. De la misma manera que en cualquier proceso de transformación, se requiere mucho esfuerzo de convencimiento en positivo y sobre todo enfocado a resultados. Como embajadores de calidad, debemos facilitar esta transformación y sobre todo tomar en cuenta los siguientes puntos clave. 

Educar Acerca de la Calidad del Software

Todos los miembros de un equipo ágil pueden realizar pruebas, siempre y cuando conozcan la manera correcta de cómo realizarlas; es importante saber diferenciar el enfoque de que cualquiera puede realizar pruebas versus, cualquiera puede aprender a realizar pruebas correctamente.

Como embajadores de la calidad del software, nuestra responsabilidad es entrenar al equipo en actividades específicas de testing, alcanzar una mentalidad de QA e incrementar el conocimiento que se tiene de la aplicación y los flujos de prueba para poder probar de manera correcta. 

La primera regla de cualquier tecnología usada en cualquier negocio indica que la automatización aplicada de manera eficiente magnifica la eficiencia. La segunda indica que la automatización aplicada de manera ineficiente, magnifica la ineficiencia.

Bill Gates

Los entrenamientos en testing no deben estar enfocados en pruebas automatizadas solamente, las pruebas automatizadas pueden ayudarnos pero, debemos alentar otras prácticas de testing.

Debemos enfocarnos en las áreas de testing que generan valor y en los escenarios importantes para nuestros clientes. No olvidemos ofrecer consejos relacionados a cómo mejorar nuestras pruebas y hacer recomendaciones orientadas al alcanzar objetivos de calidad en nuestros proyectos. Lo que realmente importa es entregar aplicaciones o servicios con la más alta calidad y de alto valor a nuestros clientes.

Inspirar e Incentivar la Calidad en Nuestros Proyectos

Para una personas de otro equipo tratando de realizar pruebas al código, las actividades tediosas de testing y los casos de prueba con miles de pasos no resultan nada inspiradores. Debemos alentar al equipo a ver la calidad como algo que entrega valor, y a su vez una actividad necesaria sin importar el rol que se tenga.

El equipo entero necesita estar al tanto de las actividades de testing y entender los estándares de calidad del proyecto. A su vez, debemos definir, organizar y facilitar nuestras sesiones de testing con el fin de poder mostrar las herramientas correctas de prueba que se adecuen al proyecto y los datos que nos permitan crear pruebas más eficientes.

Hay que tener especial atención en los incentivos que ofrezcamos a nuestro equipo, la clave está en entender que les incentiva y motiva. Puede ser algo simple como un maratón de testing o quizás algún programa de recompensas al encontrar bugs; las recompensas siempre alientan a los equipos y motivan a adoptar mejor las actividades de testing.

Una parte importante acerca de incentivar la calidad está relacionada a las recompensas. Algunas ideas pueden ser tarjetas de regalo, merchandising, o algún reconocimiento o certificado. El valor o el incentivo debe cambiar conforme pase el tiempo para evitar que se vuelva rutinario.

Implementando y Experimentando la Calidad

Las ideas son fáciles la implementación es complicada.

Guy Kawasaki

Los equipos deben codificar y probar features para luego hacer los deployments en producción por su propia cuenta. Los equipos ágiles no deben depender de un rol en específico para certificar el trabajo ya que esto puede generar cuellos de botella.

Implementar un proceso de calidad nuevo requiere más tiempo y esfuerzo por parte de todo el equipo, pero al mismo tiempo la responsabilidad recae sobre todos y no solo sobre un rol en específico. Si los miembros de un equipo ágil continúan dependiendo de los testers para certificar su trabajo o encontrar defectos, el modelo propuesto seguiría siendo el tradicional y por consiguiente tendríamos los mismos cuellos de botella.

Los miembros del equipo deben tener el entrenamiento suficiente para hacer testing de manera efectiva. En un escenario donde un grupo de desarrolladores con poco entrenamiento en pruebas,  está probando una historia de usuario, este grupo no podría entregar esa historia de usuario con alta calidad debido a sus limitaciones. 

Mi recomendación es seguir una implementación limpia y siendo más específico, adaptar el proceso actual:

  1. Tener claras expectativas acerca de las actividades de calidad.
  2. Realizar implementación de manera gradual.
  3. Identificar posibles fallos o riesgos durante la implementación.
  4. Evaluar y ajustar en caso de algún cambio.

Hay que estar abierto a la experimentación sobre todo hacia cambios en el proceso de testing, muchas veces las personas son renuentes a los cambios, hay que tratar esos cambios como pequeños experimentos y estar preparados a dejarlos de lado si creemos que no traen ningún beneficio. Por otro lado, si el cambio muestra algún tipo de mejora, es posible considerarlo y agregarlo como una práctica permanente dentro de nuestro equipo.

Cada equipo puede realizar los experimentos pertinentes y adaptar el proceso de calidad a su contexto. Como embajadores de calidad, es nuestra responsabilidad ayudarlos a visualizar los resultados de esos experimentos y tratar de que sea la mejor experiencia posible, sobre todo ayudarlos a encontrar el valor.

Adaptando Positivamente la Calidad

Determinar a qué ahora nuestro equipo debe hacer pruebas puede ser contraproducente, incluso esto puede incrementar el riesgo de entregar aplicaciones de baja calidad si no verificamos y arreglamos fallas o problemas. Como embajadores de calidad nuestra responsabilidad es ayudar al equipo a  entender y sobrellevar esos problemas, adicionalmente debemos organizar nuestro tiempo ya que el equipo dependerá de nosotros. No debemos olvidar que nuestro objetivo es guiar al equipo y proveer sugerencias relacionadas a la calidad.

Finalmente, como embajadores de calidad debemos alentar al equipo y enfocarlo en la prevención más allá de la detección de bugs.

Puntos Finales a Considerar

Las organizaciones enfocadas en la calidad no afectan la innovación de sus productos o aplicaciones, por el contrario, el motivar a los equipos a tomar riesgos calculados promueve la creación de aplicaciones más innovadoras. El enfoque en calidad mejora las aplicaciones, aún así, no debemos olvidar que es un viaje continuo, y por lo mismo debemos mantenernos en constante aprendizaje, y sobre todo calibrar de manera oportuna nuestros procesos y nuestra mentalidad de QA.

Quizás el rol de embajador de calidad pueda ser un gran reto para los testers tradicionales, recordemos que este rol no es el responsable de la calidad dentro de un equipo, el enfoque es más como un facilitador de la calidad, evolucionando a un enfoque orientado en mejores prácticas de calidad dentro de la organización. Este modelo es completamente diferente del enfoque shift left y va más orientado a todo el equipo en sus diferentes fases.

Por otro lado, el enfoque de embajador de calidad reduce o elimina la necesidad de un equipo dedicado a pruebas. Es probable que mi experiencia sea diferente a cómo se llevan proyectos en otras empresas, aun así, la experimentación y los cambios propuestos pueden adaptarse al modelo tradicional existente. Solo puedo decir que debemos continuar aprendiendo y crecer dentro del área de QA.

No hay que tener miedo a probar cosas nuevas, la vida puede tornarse aburrida cuando nos conformamos y dejamos de tener nuevos aprendizajes.

¡Feliz cacería de bugs!

(Visited 209 times, 1 visits today)
Enrique De Coss

Enrique De Coss

Enrique is an enthusiastic IT professional with 17+ years of experience in different IT domains, focusing on quality assurance (automation, performance, functional) of web & mobile applications. He has been working as QA Manager for the last years, mainly involved in building robust test automation solutions from the ground up and in test strategies to improve software quality. Curious by nature about new techniques in testing and testing tools. An active member of various software testing communities, speaker, and a guest blogger on multiple platforms.
Enrique De Coss

Enrique De Coss

Enrique is an enthusiastic IT professional with 17+ years of experience in different IT domains, focusing on quality assurance (automation, performance, functional) of web & mobile applications. He has been working as QA Manager for the last years, mainly involved in building robust test automation solutions from the ground up and in test strategies to improve software quality. Curious by nature about new techniques in testing and testing tools. An active member of various software testing communities, speaker, and a guest blogger on multiple platforms.

Get the latest articles, news, and feature releases from MuukTest emailed to you once a month

Are you ready to test 20X faster?

We’ll create a free MuukTest account for you!

Are you ready to test 20X faster?

We’ll create a free MuukTest account for you!