Una de las problemáticas actuales en la industria de software de Uruguay es la rotación de personal, las empresas invierten una y otra vez en que las personas dominen tecnologías, dominios de aplicación y herramientas. Estos cambios se dan con desarrolladores, analistas y testers, entre otros.
Si bien en Uruguay se le está dando más importancia al testing de software en las universidades, centros de capacitación y en las empresas, hay que tener en cuenta que el testing es una disciplina que aun está en pañales. Por lo que usualmente quienes hace tiempo testean son quienes están desempeñando tareas relacionadas al liderazgo de proyectos de testing.
Las empresas, deciden buscar en el mercado local personas dedicadas a realizar actividades de testing ya sea porque se quiere mejorar la calidad de los productos o porque necesitan reemplazar a alguien que abandonó la empresa. No es tan sencillo conseguir un buen tester y tenemos que ser cuidadosos en el proceso de selección y en el período de adaptación del nuevo integrante a la empresa.
Primero tenemos que pensar cómo concebir al testing, para luego bajar a tierra las ideas considerando el contexto de la organización para que nos ayude a decidir a quienes necesitamos, y con qué perfiles.
Una de las definiciones que más nos gusta es aquella que define al testing como una investigación técnica de un producto bajo prueba con el fin de brindar información sobre la calidad de un producto (James Bach). Esta definición, ni ninguna otra que veamos, nos indica quiénes, cuándo o cómo hacer esta investigación, ya que depende del contexto, del producto, del proyecto, etc., pero nos indica mínimas habilidades a considerar. Por ejemplo podemos requerir las características generales de un investigador (como que sea organizado y genere conocimiento original y relevante, entre otras).
Me gustaría compartir un artículo que leí: “The Art of Recruiting” del ex-evangelizador Apple Guy Kawasaki,en el que se detallan 10 consejos a tener en cuenta cuando se contrata personal para trabajar en una empresa. Uno de los consejos es “Contrata gente infectada.” Indica que típicamente las organizaciones buscan gente con background educativo y profesional “correctos”. Estoy de acuerdo con Kawasaki, en que hay que agregarle una tercera cualidad, la pasión: ¿El candidato está infectado de pasión por tu producto? Porque no importa toda la educación y la experiencia profesional del mundo si el candidato no consigue apasionarse.
Este consejo sirve para contratar personas para cualquier rol, pero en testing es un factor fundamental. El testing no es una actividad sistemática, se necesita creatividad para imaginar posibles problemas y el pragmatismo para implementar y simular ambientes y situaciones para ejecutar pruebas y ver cómo se comporta nuestro software. La idea es detectar defectos y fallas antes que el usuario final las detecte, hay que conocer las características del software y también a los futuros usuarios.
Tenemos que preguntarnos qué valor le da al negocio un tester que conozca de conceptos, estrategias y técnicas de testing, pero que siempre utilice los mismos checklist, corra pruebas de regresión sin agregar nuevos casos cada vez y/o que evalúe el cubrimiento de las pruebas en extensión y no en profundidad.
Cuando estamos evaluando a una persona para desempeñar el rol de tester, tenemos que verificar cuales son los conceptos que maneja del testing.
Hay que evitar que los futuros testers tengan ideas equivocadas sobre la disciplina de testing. También hay que intentar no transmitir estas ideas y si ya son parte del posible nuevo miembro, tendremos que considerar esfuerzo para cambiárselas y hacer que no sólo se apasione por el/los productos, sino también por el testing.
Cuidado cuando se considere que:
- algunos mitos son verdades, por ejemplo
- Cualquiera puede testear
- Es malo desarrollando, ponlo a testear
- Los testers son malos desarrollando
- Para testear es mejor no ser informático
- Sólo los informáticos son buenos testers
- El tester es el custodio de la calidad
- no hay posibilidades de crecimiento, o que la participación del tester nunca será importante en la empresa
- puede ser reemplazado por otro tester y que no se verá la diferencia
- los resultados no serán utilizados para mejorar la calidad del producto
- se subestiman los resultados de las pruebas
Un punto relevante en este tema son las especializaciones en testing existentes. Para pensar los títulos y diplomas para Testers como requisito para la contratación, tenemos que saber qué significa tenerlos.
En la actualidad se imparten algunos cursos de testing para empresas de la industria y asignaturas específicas en carreras relacionadas al desarrollo de software. No hay una capacitación en testing que considere la capacitación académica con las posibles especializaciones. Las certificaciones más conocidas están orientadas a evaluar que se conozca una terminología común, las problemáticas frecuentes de las pruebas y algunas técnicas de diseño de pruebas. No se evalúa la práctica, experiencia ni habilidades necesarias para hacer investigación de los productos bajo prueba.
Por lo tanto al momento de contratar un nuevo tester en la empresa es importante que se planifiquen las actividades iniciales para transmitir la pasión por producto y por el testing para que la información obtenida de las pruebas le de valor negocio.
Me gusta pensar que en ocasiones es mejor un diamante bruto en mano que diamante pulido rotando. Esto significa que puede ser más productivo contratar a alguien con conocimiento en un dominio de aplicación y no tantos en testing, para irlo formando, capacitando y apasionarlo por la empresa y los productos, que contratar a alguien con certificaciones, titulaciones y/o con experiencia pero con pensamientos negativos respecto a las pruebas.
Algunos puntos a evaluar en un tester, tenga experiencia previa o no:
- analítico, asertivo, atento, cauto, certero, claro,comprometido, conciso, creativo, crítico, curioso, deductivo, desconfiado, detallista, diplomático, explícito, buencomunicador, entre otros.
- y otra cualidad importante es que tenga capacidad para adaptarse a los cambios
Si bien no podemos asegurar que una persona no abandone la empresa para ingresar en otra, podemos jerarquizar el testing, y darle importancia a nivel de planificación y de toma de decisiones, para que la persona vaya capacitándose en el negocio y en testing sin perder la motivación.
Básicamente el proceso de contratación consta de 3 etapas: La convocatoria, la selección dentro de los candidatos que se presentaron y la incorporación al equipo de trabajo del nuevo miembro.
CONVOCATORIA >> SELECCIÓN >> INCORPORACIÓN
Instanciar este proceso para contratar a un tester requiere que en la convocatoria detallemos las habilidades y experiencia que buscamos, pensando en el testing como actividad cognitiva. Para seleccionar al tester, además de conocer su formación tenemos que ser capaces de evaluar su capacidad por apasionarse por el testing y por nuestro producto. En base a conocer más de nuestros candidatos podremos estimar el esfuerzo para que se incorpore a nuestro equipo y obtengamos los resultados esperados.