Tendencias | Noticias | 26 ABR 2016

Claves para el buen 'outsourcing' de una factoría de pruebas

Aparentemente la clave es sencilla: buscar la mejor relación calidad del servicio y precio. El problema es que la persona a la que se le asigna dirigir y gestionar el proceso de externalización no dispone de suficiente información de lo que se necesita hacer y cómo controlarlo, ni tiene una forma objetiva de saber si un servicio es caro y si es de calidad.
oficina móvil
Ignacio López Carrillo

 

 

 

Para facilitar a la industria de TI los pasos requeridos para mejorar la situación descrita, NESMA (asociación holandesa de métricas del software) ha lanzado una iniciativa para desarrollar una guía práctica (Mini Guía) que ayuda a las compañías que necesitan evolucionar su modelo actual de pruebas a un modelo de externalización de factorías basado en la importancia de las métricas de pruebas.

Siguiendo las indicaciones de la Mini Guía, cuando una compañía decide externalizar su proceso de pruebas, tiene que considerar algunos aspectos clave: económicos, recursos humanos, organizativos,  planificación y toma de decisiones. En esta primera parte nos centraremos en los aspectos económicos y organizativos.

Los problemas de carácter económico suelen derivar del coste de los servicios, el tamaño de los mismos y el sobrecoste que supone pagar dos veces por lo mismo.

Con respecto al coste de los servicios solemos partir de un modelo de pago basado en elementos subjetivos y/o intangibles como por ejemplo el esfuerzo de pruebas y el volumen de casos de pruebas diseñados o ejecutados.

En muchos casos se aplica el mismo modelo de pago que tenía el servicio cuando se hacía internamente: una tarifa por hora o jornada de pruebas por cada miembro del servicio, en función de la experiencia de los recursos dedicados.

Lo normal es que algunos recursos puedan ser muy buenos, y hagan muchos y buenos casos de pruebas en poco tiempo, y otros recursos sean más deficientes y hagan menos casos de pruebas, peores, y tardando más tiempo.

En este caso, y al pagar lo mismo por cada uno, lo que suele ocurrir es que se “paga más dinero” al recurso menos eficiente. Para evitarlo sería necesario algún elemento de control dentro de la fábrica de pruebas. Lo que en principio estaría en contra del concepto de servicio empaquetado en una fábrica dentro de la que el cliente no debería preocuparse de lo que ocurra siempre que reciba los resultados esperados por los que paga.

Realmente si se desea trabajar en modo factoría de pruebas debería pasarse a controlar la producción y la calidad de lo producido y pagar por ello, no por el tiempo empleado

Una forma de hacerlo es siguiendo el modelo de pago basado en un precio por caso de prueba diseñado o ejecutado, aunque normalmente se hace sin llegar a tener en cuenta la calidad de las pruebas realizadas ni tampoco la granularidad de las pruebas diseñadas, con lo que el problema suele subsistir.

En relación al sobredimensionamiento de los recursos de prueba necesarios, como normalmente el precio de los servicios de factoría de Pruebas es un precio cerrado, la información en tiempo de oferta para dimensionar los equipos de los servicios no está suficientemente clara, y, además, se desconoce la calidad con la que las factorías de desarrollo entregarán el software. Para protegerse de esta situación, lo que suele ocurrir es que los equipos de pruebas se acaban sobredimensionado y eso repercute en el sobrecoste de los servicios.

Otras veces la presión que desde los departamentos de compras se realiza sobre las tarifas, acaba empujando a las factorías de pruebas a dimensionarse por exceso de perfiles inferiores con una tarifa más barata, sin controlar realmente la productividad de los perfiles involucrados.

La duplicidad de costes (en las Software Factories y en las Testing Factories) para conseguir una buena calidad es otro problema que se debe considerar. La separación de funciones y de responsabilidades es una de las principales características de cualquier fábrica, y, por supuesto, también en las fábricas que producen software.

Las factorías de desarrollo tienen la responsabilidad clara en eliminar los defectos en las capas de pruebas unitarias y de integración. Además, como las estimaciones de los proyectos de desarrollo suelen ser bastante inexactas, en la mayor parte de los casos, se junta en el tiempo una doble responsabilidad: intentar cumplir los plazos y hacerlo con la calidad requerida. En el caso de tener que elegir, lo primero será siempre intentar cumplir los plazos y ya vendrá luego otro equipo a detectar los defectos.

Al final, lo que ocurre, es que si no se ponen los medios adecuados a tiempo, las factorías de desarrollo prueban lo justo (o muy poco) y el coste asociado a la detección y corrección de la mayor parte de los defectos se traslada hacia adelante, encareciendo sustancialmente los servicios de factorías de pruebas.

Otro de los aspectos clave a la hora de que una compañía externalice su proceso de pruebas es el relacionado con los recursos humanos. Aunque hay casos de pruebas que se automatizan y se ejecutan de forma desatendida, la mayor parte de los servicios externalizados de pruebas las realizan personas. Las factorías de pruebas normalmente requieren un volumen considerable de recursos, y la obtención y gestión de estos equipos produce una serie de problemas.

La gente sin experiencia en pruebas tiende a pensar que hacer pruebas es sencillo y que cualquiera puede hacerlo. Es cierto que cualquier persona puede sentarse delante de un ordenador y ponerse a probar, pero no cualquiera puede hacer las pruebas de la forma adecuada sabiendo qué tipo de técnicas de prueba debe aplicar en cada momento y siendo efectivo en la detección de los defectos sobre los que no han pensado los desarrolladores.

A esta situación, se une la demanda de los departamentos de compras de abaratar al máximo todos los servicios y es fácil pensar que la mejor forma de abaratar es incorporando al equipo gente con menos experiencia. Formar a las personas tiene un coste, y más aún certificarlos en ISTQB (International Software Testing Qualification Board).

Una vez configurado el equipo de personas que conforman el servicio de pruebas, con un grado bajo de experiencia, hay que formarlas en el negocio que tienen que probar y en las aplicaciones que lo soportan, y esto supone un periodo de aprendizaje que hay que pasar y que inicialmente es improductivo.

La gente sin experiencia tiene inicialmente un sueldo bajo, por lo que la mínima posibilidad de encontrar un nuevo trabajo hace que el incremento en el sueldo sea importante y se produzca una alta rotación.

Estos altos grados de rotación producen un sobrecoste de los servicios y una pérdida de productividad y efectividad de los mismos que hay que evitar, pero de la que normalmente los clientes no llegan a enterarse hasta un cierto tiempo después.

Estos son algunos de los elementos que la Mini Guía de externalización de servicios de Prueba aborda para ayudar a clientes, pero también a proveedores, a gestionar y dar unos mejores servicios de Pruebas de Software.

 

El autor de este artículo es Ignacio López Carrillo, director del área de Gobierno de Pruebas de LEDAmc

 

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información