¿Cómo hacer un buen outsourcing de una factoría de pruebas?
Comunicaciones Hoy26/04/2016
Ignacio López Carrillo, Director del área de Gobierno de Pruebas de LEDAmc.
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 tener como objetivo mejorar el coste, la capacidad, el rendimiento y la efectividad actual.
El problema se presenta al decidir externalizar, siguiendo la tendencia mayoritaria del mercado, pero sin realizar un análisis previo de conveniencia para controlar el proceso.
Así, algunas organizaciones se lanzan a externalizar sin tener métricas de su situación actual relacionadas con el Testware (entendiendo como 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 realidad es que la decisión sobre el mejor proveedor de servicios de pruebas de software basada en la mejor relación calidad/precio cae por su peso, al no disponer de métricas objetivas relacionadas con el precio, ni con la calidad.
La solución
Para evitar esta situación, y para facilitar a la industria de TI los pasos requeridos para mejorar la situación descrita, se 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.
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. El hecho es que, poniendo el foco en conseguir el mejor precio, acaba ocurriendo que los proveedores reaccionan poniendo en el servicio a personal con menos experiencia y 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 están originados por 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 clave que 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 Miniguía de NESMA.
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 tener como objetivo mejorar el coste, la capacidad, el rendimiento y la efectividad actual.
El problema se presenta al decidir externalizar, siguiendo la tendencia mayoritaria del mercado, pero sin realizar un análisis previo de conveniencia para controlar el proceso.
Así, algunas organizaciones se lanzan a externalizar sin tener métricas de su situación actual relacionadas con el Testware (entendiendo como 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 realidad es que la decisión sobre el mejor proveedor de servicios de pruebas de software basada en la mejor relación calidad/precio cae por su peso, al no disponer de métricas objetivas relacionadas con el precio, ni con la calidad.
La solución
Para evitar esta situación, y para facilitar a la industria de TI los pasos requeridos para mejorar la situación descrita, se 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.
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. El hecho es que, poniendo el foco en conseguir el mejor precio, acaba ocurriendo que los proveedores reaccionan poniendo en el servicio a personal con menos experiencia y 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 están originados por 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 clave que 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 Miniguía de NESMA.