La necesidad de testers dedicados en un equipo ágil es una cuestión bastante debatida. En muchos equipos ágiles, estos desempeñan un papel central en cuanto los otros desarrolladores también hacen test, pero no en forma dedicada. En un reciente debate en el grupo scrumdevelopment abordaron esta cuestión nuevamente.
Brian comenzó este debate diciendo que un tester ve la aplicación desde un ángulo diferente. La mayoría de los miembros del grupo concuerdan que la presencia de un tester dedicado trae beneficios significativos.
En mi opinión, la presencia de uno (o varios tester(s) dedicado(s) en un equipo trae grandes beneficios. Ellos tienen un punto de vista similar al del dueño del producto (PO), sólo que él ve con más profundidad y considera diversos aspectos. Y eso ayuda mucho a la hora de crear buenos criterios de aceptación de una historia.
Las personas con fuerte experiencia en pruebas ciertamente traen un conocimiento único. En el peor de los casos, ellos: a) están familiarizados con métodos y herramientas para pruebas que no están directamente relacionados con TDD. b) ya han gastado mucho tiempo pensando en como "romper" una aplicación y cuáles son los puntos débiles de la misma. c) comprender la manera de pensar y hablar sobre calidad.
Adam reforzó sus ideas, argumentando que control de calidad (QA) es un área de conocimiento muy extensa, y que hay conferencias, artículos y mucho contenido en la literatura específicamente relacionado con las pruebas y el control de calidad. Esto indica que las personas versadas en esa áreaagregan todavía algo más, que los desarrolladores que están versados en TDD.
Muchos equipos ágiles afirman que si los desarrolladores están codificando utilizando TDD, se reduce la necesidad de un tester dedicado. En respuesta a esto, Cenk Civici sugiere que:
- Se usa TDD con pruebas unitarias para construir el código de manera correcta
- Se usan pruebas de aceptación y QAS para construir el código que haga lo correcto ...
La mayoría de los miembros del grupo concuerdan que los testers son más productivos cuando están incluidos en el equipo que cuando trabajan por separado. Sean Hart sugiere que, además de ser parte del equipo, el tester debe participar con el PO y con el cliente durante la creación del backlog. Esto permite que varias ambigüedades en los requisitos se eliminan antes de que lleguen al equipo.
Ryan Shriver contribuyo con un ejemplo real empleando testers dedicados de principio a fin dentro del equipo:
Antes de añadir testers "plenamente dedicados", nosotros contabamos con un equipo de pruebas, pero fuimos "picados" por algunos errores desagradables que fueron con el producto lanzado. El agregarlos al equipo ha ayudado considerablemente a mejorar la calidad del producto, sobre todo porque ellos tenían una gran experiencia en el dominio.
Del mismo modo, en el artículo best practices for testing in offshore Agile projects, Peter Vaihansky y Anna Obuhova afirman que testers dedicados en un equipo ágil agregan mucho valor al equipo. Según ellos,
Contrariamente a lo que la mayoría de los adeptos extremistas de XP creen, nuestra experiencia sugiere que un equipo XP se ve tremendamente beneficiado de la presencia de profesionales de test dedicados. Los testers experimentados agregan valor de varias maneras, ya sea a través de pruebas de exploración manuales, ayudando a los clientes a crear requisitos más consistentes, y creando nuevas formas de mejorar la automatización de las pruebas.
Parece que hay pruebas suficientes para apoyar la necesidad de presencia de testers dedicados en un equipo ágil. La clave para utilizar el potencial de ellos de la mejor manera es incluirlos como parte del equipo y darles un buen apoyo y flexibilidad. Esto los ayuda a traer el punto de vista deseado sobre las pruebas, de manera amplia y profunda.