QA — ¿Realmente está asegurando la calidad?
¿Cuál es la idea del “QA”?
Si “QA” significa “Aseguramiento de la calidad”, entonces difícilmente debiéramos encontrar un miembro de proyecto que no tenga eso como su responsabilidad —asumiendo que los miembros en dicho proyecto adoptan valores, principios y prácticas orientadas a la calidad, como las de los métodos ágiles.
Si por “QA” se entiende “testing” (pruebas de validación y verificación, para propósitos de pruebas funcionales/integrales/aceptación) entonces pienso que la ya añeja práctica de contar con un grupo diferente de profesionales ejerciendo pruebas destructivas permanece siendo un buen consejo (si de encontrar defectos se trata, como lo describen Glenford J. Myers, Tom Badgett, Todd M. Thomas y Corey Sandler en su obra The Art of Software Testing).
Las pruebas unitarias en el contexto de la práctica del diseño basado en predicciones y asertos —test-driven design— es para los creadores del software, i.e. los programadores, (mentalidad constructiva); pruebas de validación y verificación, para propósitos de pruebas funcionales/integrales/aceptación, es para los testers (mentalidad destructiva). Por tanto, el rol de los testers no cambia mucho en el contexto de la adopción de métodos ágiles.
Más aún, asegurarse realmente de que la calidad este presente implica algo más grande que concebir al “QA” como un rol que tan sólo algunos miembros tienen en un proyecto de desarrollo de software.