Me da mucho gusto retomar esta columna en la revista, después de un receso de aproximadamente un año. Durante ese tiempo hemos visto cosas interesantes que buscaremos sistematizar y exponer aquí durante éste y los siguientes números.
En [1] describimos los problemas que pueden presentarse cuando el software no se prueba adecuadamente, analizándolos a la luz de dos proyectos extremos en los que participamos.
Aquí presentaremos los resultados de la evaluación de la calidad de una muestra de productos mexicanos en el marco del Concurso e-Quallity 2007, del cual hicimos la premiación en el pasado Congreso SG’07 Conferencia y Expo. No se trata de un estudio estadístico riguroso, pero vemos estos datos como una aportación inicial para llenar el enorme hueco de información que tenemos respecto a métricas de calidad de los productos mexicanos y su repercusión en la industria.
El impacto de probar inadecuadamente el software
En los Estados Unidos, tan solo en 2003, las pérdidas en su industria por la inexistencia o mala aplicación de pruebas a productos de software ascendieron a casi $600 mil millones, que equivalen a aproximadamente el 1% de su producto interno bruto [2].
Dichas pérdidas consideran no solamente las del sector de Tecnologías de Información, sino de muchos otros sectores que utilizan el software en sus operaciones. Se trata de pérdidas que no son sólo cuantiosas, sino que desgastan gran parte de su sector productivo.
En México no tenemos datos semejantes, pero es posible pensar en un comportamiento parecido. Sin embargo, en nuestro país el efecto sería mucho más nocivo (aunque de menor cuantía): mientras que la industria del software estadounidense es mucho más grande y madura, la nuestra está apenas despegando; esto dificulta ganar inercia positiva en muchos sentidos: el crecimiento de la industria se vuelve más lento, se dificulta generar confianza en esa tecnología, lo que a la vez disminuye la atracción de inversiones en empresas tecnológicas, lo que a su vez dificulta el crecimiento... un indeseable círculo vicioso.
La muestra y el proceso
El método que utilizamos para la evaluación de productos está formado por 3 fases:
1. Un diagnóstico del software: un tester experimentado realiza pruebas exploratorias y detecta una primera capa de defectos. Utilizando esa información y nuestro modelo estadístico, se genera una estimación de los defectos que aún se encuentran en el producto, así como del costo de detectarlos.
2. Dependiendo de los datos del diagnóstico, el interesado puede optar por contratar las pruebas profundas.
3. Si después de estas pruebas y luego de aplicar nuestro modelo de calidad de productos, el software muestra un excelente comportamiento (después de las pruebas regresivas [3]), se hace acreedor a ostentar nuestro sello de calidad. (Este modelo fue validado con apoyo del Consejo Nacional de Ciencia y Tecnología, CONACYT.)
Utilizando esta experiencia, a mediados del año pasado lanzamos este concurso, en el que convocamos a la comunidad desarrolladora nacional de software a enviarnos productos terminados pequeños (máximo 30 meses-hombre de desarrollo) para encontrar el producto con la menor densidad de defectos (cantidad de defectos entre tamaño).
Una cantidad considerable de productos fueron rechazados, ya fuera porque se excedían en el tamaño o porque no estaban completamente terminados. La muestra final sobre la que se generaron los datos que mostraremos consta de 24 productos. Su tamaño se midió utilizando una métrica interna semejante a los puntos de función.
A los productos concursantes les aplicamos una variación del diagnóstico descrito arriba y, a cada participante le enviamos la primera capa de defectos que detectamos en su producto, la estimación de los que aún quedaban en su sistema, y la comparación de su producto frente a otros, en términos de densidad de defectos.
Resultados y análisis
El tamaño promedio de los productos fue de 20.4 meses-hombre de desarrollo, la mayoría de ellos fueron aplicaciones administrativas. La figura 1 presenta datos concretos sobre la calidad de los productos.
Figura-1: Densidad de defectos en productos mexicanos pequeños
Los datos concuerdan con nuestra experiencia: el promedio de los productos que hemos probado difiere del mostrado aquí en sólo unas cuantas centésimas (antes de las correcciones y pruebas regresivas). Esto es grave, pues significa que uno de cada cuatro casos de prueba deja al descubierto algún defecto (aunque no necesariamente crítico).
Dichos datos son relevantes, pues una densidad de defectos como la del promedio puede tener un impacto significativo en el crecimiento de las empresas desarrolladoras, como se muestra en la figura-2. En ella la curva negra muestra el consumo “convencional” de los recursos al desarrollar un nuevo producto de software, considerando patrones de [4]; la curva verde muestra los ingresos por ventas del producto; la azul representa los costos de mantenimiento cuando el software es probado adecuadamente antes de ser liberado y se elimina la mayoría de los defectos; y la curva roja representa los costos de mantenimiento cuando no se prueba o se prueba inadecuadamente el software.

Figura-2: Impacto económico de las pruebas.
La gráfica muestra algo que vemos en nuestra práctica diaria y posiblemente nos hemos acostumbrado a: cuando no se prueba adecuadamente el software las consecuencias recaen en los costos de mantenimiento, estos pueden mermar significativamente las utilidades, dificultando la inversión en las áreas de mercadotecnia e innovación en el producto, este factor provoca la dificultad de crecimiento en esa unidad de negocio.
Conclusión
Así como en los Estados Unidos, en México la prueba de software inadecuada también puede tener un impacto negativo severo en la industria en general.
Dicho impacto se acentúa porque inhibe el crecimiento no sólo del sector de las Tecnologías de Información, sino de muchos otros que utilizan software en sus empresas.
Este no es un estudio concluyente, pero genera información que debiera motivar a continuar obteniendo datos parecidos. En ese sentido, continuaremos poniendo nuestro granito de arena con el Concurso e-Quallity 2008, que lanzaremos durante el primer trimestre de este año.
Estén pendientes, visiten: www.e-quallity.net
Referencias
• [1] León-Carrillo, L. “The Impact of Software Testing in small Settings”, en Oktaba H. and Piatini, M. (Eds). “Software Processes in small Enterprises”. Por publicarse.
• [2] Tassey, G. “The Economic Impacts of Inadequate Infrastructure for Software Testing”. Final Report. National Institute of Standards & Technology. 2002.
• [3] www.e-quallity.net/definiciones.php
• [4] The Project Management Institute. “A Guide to the Project Management Body of Knowledge”. USA, 2000.
Acerca del autor
Luis Vinicio León Carrillo es Director de e-Quallity S.A. de C.V., empresa especializada en prueba de software. Es profesor-investigador del Departamento de Electrónica, Sistemas e Informática del ITESO. Es doctor por la Universidad Técnica de Clausthal, Alemania; su tesis tiene que ver con aplicaciones de métodos y lenguajes formales que incrementan significativamente la eficiencia y la efectividad de la prueba de software.
- Log in to post comments