Si reflexionamos sobre en qué elementos basamos la decisión de externalizar un servicio de pruebas de software, la respuesta primaria está relacionada con el precio, aunque después se matiza incluyendo la calidad del ofertante y del servicio ofrecido, para, finalmente, seleccionar la oferta con mejor relación calidad/precio.
La externalización en factorías de pruebas de software debería ser una evolución de un servicio interno de pruebas, y mejorar el coste, la capacidad, el rendimiento y la efectividad actual.
Así, algunas organizaciones se lanzan a externalizar sin tener métricas de su situación actual relacionadas con el Testware (los resultados de las actividades de pruebas: planes, casos de prueba, resultados, esfuerzos, defectos de las pruebas, incidencias en producción no detectadas…) sobre las que fijar los objetivos de mejora de productividad, de rendimiento, de efectividad y de coste.
Todas las organizaciones que quieren externalizar un servicio de pruebas necesitan tener dentro de la compañía a alguien que lidere el proceso. Las que lo tienen necesitan cambiar la forma de trabajo, modificando el foco, desde gestionar las actividades y resultados de un proceso de pruebas realizado por un equipo de trabajo, a gestionar un proveedor. El asunto se complica más cuando la organización no tiene un especialista de pruebas y pone en su lugar a un jefe de proyecto, de desarrollo, de soporte o de otra disciplina de ingeniería de software.
La situación es siempre la misma: alguien tiene la responsabilidad de dirigir y gestionar el proceso de externalización pero no dispone de suficiente información de lo que se necesita hacer y cómo controlarlo.
Igualmente, existe siempre el riesgo de que los equipos de desarrollo se enfoquen solo en sus actividades de desarrollo y olviden realizar las pruebas (pruebas unitarias y de integración), y que esto produzca una pérdida de calidad entregada que debe ser corregida (y pagada) en las etapas finales, lo que conlleva un fuerte incremento de costes (y de recursos) pagados al servicio externalizado de pruebas.
La solución
Para mejorar la situación descrita, NESMA (asociación holandesa de métricas del software) ha lanzado una iniciativa en la que ha participado LEDAmc (principal socio de NESMA en España) 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.
Las compañías que se embarcan en el proceso de outsourcing de un servicio de pruebas basan su decisión en comparar diferentes proveedores usando solo datos económicos cuantitativos. Acaba ocurriendo que los proveedores reaccionan poniendo en el servicio a personal con menor cualificación, lo que conduce directamente a una disminución de la productividad, de la calidad y de la efectividad del trabajo de pruebas realizado.
Si el proveedor seleccionado tiene suficiente experiencia, la mayoría de las actividades de pruebas se realizarán de una forma técnica correctamente. La mayoría de los problemas provienen de la falta de estimaciones objetivas del Testware y, por tanto, de la ausencia de gobierno de las actividades de pruebas. Cuando el proceso está externalizado, estos problemas se suelen agravar.
Como norma general, y no solo en Testing, quien controla las estimaciones controla el proyecto, la planificación y el coste, y no es aconsejable dejar ninguno de estos puntos críticos en manos de un proveedor.
Si una compañía quiere externalizar su proceso de pruebas, hay cinco aspectos a considerar: económicos, recursos humanos, organizativos, planificación y toma de decisiones. Todos ellos, junto con los problemas típicos que hay que evitar en una externalización de servicios de pruebas, están descritos en la Mini Guía de NESMA.