Con el acoplamiento y la pérdida de roles específicos en los equipos de desarrollo de software, ¿cómo pueden los testers seguir siendo relevantes?
Pruebas en Metodologías Ágiles
Con la implementación de metodologías ágiles y el acoplamiento de roles en el desarrollo de software, el tester se ha perdido en varios momentos porque comenzaron a surgir roles integrados, como el Full Stack Developer.
Las empresas buscan personas capaces de realizar análisis, diseño, arquitectura, desarrollo y testing, agrupando estas habilidades en un solo especialista. ¿No hay que tener en cuenta todos estos roles para el desarrollo de software? Aunque existen estos desarrolladores con amplios conocimientos y son capaces de realizar funciones en cada una de estas áreas, siempre hay un rol que pierde algo de importancia.
Debido a este acoplamiento se pierden conocimientos en cada especialidad. Por eso escucharás cosas como que no es necesario hacer documentación y no es necesario hacer pruebas.
Tomemos, por ejemplo, una de las metodologías ágiles más populares en estos días: Scrum. Revisemos lo que dice su manual sobre este tema:
Características de los Equipos de Desarrollo
- Se autoorganizan. Nadie (ni siquiera el Scrum Master) le dice al Equipo de Desarrollo cómo convertir el Product Backlog en Incrementos de funcionalidad potencialmente liberable;
- Los equipos de desarrollo son multifuncionales, con todas las habilidades necesarias como equipo para crear un incremento de producto
- Scrum no reconoce títulos para los miembros del Equipo de Desarrollo, independientemente del trabajo que realice la persona;
- Scrum no reconoce sub equipos en el Equipo de desarrollo, independientemente de los dominios que deben abordarse, como pruebas, arquitectura, operaciones o análisis comercial; y,
- Los miembros individuales del Equipo de Desarrollo pueden tener habilidades especializadas y áreas de enfoque, pero la responsabilidad pertenece al Equipo de Desarrollo como un todo.
Entonces, en las metodologías ágiles no se dice que algún rol deba dejar de existir, sino que cada equipo se organiza como lo considera necesario.
El tester no debe desaparecer, ni debe quedar excluido del desarrollo del proyecto, ya que, con el desarrollo del testing ágil, esta función no se muestra como una fase separada del desarrollo, sino como parte integral, donde “se desplaza a la izquierda”. ” como se muestra en el siguiente gráfico.
Las pruebas se realizan en cada etapa de desarrollo y otras actividades, proporcionando feedback continuo. Al utilizar varias técnicas e integrarse en el equipo comercial y de desarrollo en cada iteración, como resultado, se reduce el tiempo dedicado a la corrección de errores y su costo.
Rol del software tester en agile testing
El papel del tester en un equipo ágil es el de un experto. Frente al rol convencional (en el que el tester se encarga del diseño de las pruebas y luego ser un simple ejecutor de scripts preestablecidos), es de mayor especialización técnica, capaz de manejar herramientas de automatización, gestión y metodologías ágiles, convirtiéndose en un ingeniero de calidad.
El tester también tiene una mayor interacción con los clientes y los desarrolladores, por lo que debe ser un buen comunicador.
Si eres un “tester de robots” al que le gusta ejecutar solo lo que otros estudian, analizan, ejecutan… entonces te has quedado atrás. Corres el riesgo de no agregar valor, el trabajo será descartado y podrías pensar que puedes ser reemplazado por una herramienta de automatización o por desarrolladores que realizan pruebas. Para mantenerse a flote y no desaparecer, se debe dar a la función de pruebas la importancia que se merece.
El trabajo también recae en nosotros, los testers, para asumir la responsabilidad de aprender y mantenerse al día con las nuevas tecnologías.
Como testers de software ágiles, no podemos culpar al cambio, debemos cambiar para evolucionar.
¿Para qué ayudan las Pruebas de Software?
Al contar con testers, los equipos de desarrollo de software pueden:
- Disminuir costos
- Prevenir fallas
- Inspirar confianza en los clientes
- Mejorar la experiencia del usuario
- Aumentar la dicha del cliente
- Promover la organización, la productividad y la eficiencia
El agile software tester es un componente más en el proceso de desarrollo de software, siendo parte fundamental del equipo. Siendo innovadores y no dejándonos aplastar por la rueda del cambio, el papel del tester adquirirá mayor importancia y ayudará a producir sistemas sostenibles y fiables.
Otros contenidos relacionados
Testers capaces de elevar la calidad de tu software
Pruebas de software: ¿realmente mejoran la calidad?
¿Por qué cada vez van a ser necesarios más y mejores testers?
Posts Relacionados
Automatización de pruebas: el motor de la ingeniería de calidad-software
La automatización ha ganado gran relevancia en varias áreas del control de calidad gracias a la volatilidad de las aplicaciones. Revise los desafíos y beneficios que esto representa.
¿Por qué el testing de software es clave para la transformación digital?
La transformación digital global es crucial para apoyar la salud e impulsar la economía, el desarrollo inclusivo, la prosperidad financiera y conectar al mundo. Descubre por qué el testing es tan relevante en este contexto.