BAQUIA

Verificación y Validación: nueva propuesta para la mejora de la calidad del software

Los proyectos de desarrollo de software han padecido tradicionalmente problemas de calidad, tanto en el propio proceso de desarrollo como en los productos que entregan. Esta problemática tiene su origen en las habituales desviaciones de plazos y esfuerzo sobre los valores previstos y en la frecuente aparición de fallos durante la implantación y operación de los productos resultantes.

El primer problema pone de manifiesto una falta de calidad en el proceso de gestión de los proyectos software: cuanto menor es ésta, peor es el grado de adherencia a los plazos y esfuerzos previstos. El segundo problema indica falta de calidad de los productos desarrollados: cuanto menor es ésta, mayor es el número de defectos y, consecuentemente, mayor será el número de fallos que aparecerán durante la ejecución del software.

Para hacer frente a esta situación la comunidad involucrada en el desarrollo del software ha reaccionado con diversas iniciativas metodológicas, tales como:

  • Definición de modelos de referencia. Así nació el Modelo CMMI/SW, diseñado por el SEI, que establece cinco niveles de madurez, especificando para cada uno de ellos los objetivos que deben ser cubiertos para que una organización pueda ser calificada con el nivel de madurez correspondiente. Se calcula que el 75% de las organizaciones dedicadas al desarrollo de software está en el nivel de madurez 1, es decir, en el más bajo.
  • Establecimiento de normas y guías para el desarrollo de software. Éstas han sido promovidas o generadas por entidades de reconocido prestigio (IEEE, CEI, BSI, AENOR) y se han orientado a definir el ciclo de vida del software, a normalizar la terminología o a desarrollar aspectos específicos del ciclo de vida, tales como la documentación, la verificación y validación o las pruebas de componentes.

Como resultado de estas iniciativas, las empresas han ido tomando conciencia de la necesidad de mejorar los procesos de desarrollo de software y han demandado nuevos servicios a las empresas consultoras de TI. De este modo han surgido, por ejemplo, las Oficinas de Gestión de Proyectos, los servicios de adecuación al Modelo CMMI/SW, así como los servicios de externalización total o parcial del ciclo de vida del desarrollo del software.

Sin embargo, la Fase de Pruebas, tipificada en el ciclo de vida del desarrollo, ha sido a menudo descuidada y, casi siempre, sacrificada ante las presiones sobre el plazo o coste de los proyectos. Frecuentemente se ha incurrido en carencias de planificación de las pruebas, se ha reducido el alcance de éstas a un mínimo y no se ha realizado una documentación adecuada de todo el proceso. Como consecuencia, muchas de estas pruebas han tenido lugar de facto como parte de la implantación y del rodaje, manifestándose, como fallos, los defectos existentes en el software, y cuya resolución en estas fases tardías ha producido un incremento sustancial del plazo y del esfuerzo respecto de los inicialmente previstos para el proyecto, y, en muchos casos, un efecto negativo sobre la imagen y confianza respecto de la función informática.

Anticiparse, clave del éxito

La mejora de esta situación requiere un nuevo enfoque basado en anticipar la detección de errores, ya que éstos se producen con mayor frecuencia en las primeras fases del ciclo. Más del 80% de los errores cometidos en la producción de software provienen de las primeras fases del ciclo de vida (Análisis de requisitos y Diseño funcional y técnico). Por otra parte, el coste de corregir los errores crece exponencialmente según avanza el proyecto, siendo éste significativamente menor cuanto antes se detectan los fallos.

Las principales características de este enfoque se resumen en:

  • Las pruebas no son una fase aislada del proyecto sino que constituyen en sí un proyecto con su propio ciclo de vida.
  • Los equipos de desarrollo y pruebas son independientes, con funciones y perfiles diferenciados.
  • Antes de la ejecución de las pruebas se lleva a cabo todo un proceso metodológico que facilita y asegura el éxito de las mismas.
  • En el momento de la ejecución, está todo previsto, tanto los aspectos funcionales como técnicos, evitándose la improvisación.

Los beneficios de aplicar las técnicas de V&V no sólo repercuten en el área inmediata de desarrollo de los proyectos, sino que se extienden al resto de la empresa, áreas de negocio y cliente final, ya que por un lado el departamento de Informática cumple su compromiso de plazo, coste y calidad y por otro se facilita la transición de Desarrollo a Producción, ya que los proyectos pasan al entorno de Producción con estabilidad, eliminándose la “etapa” de post-implantación, evitando el efecto cascada en el correctivo, y ofreciendo una mejor respuesta a los aspectos técnicos relevantes del ciclo de vida en Producción. Todo ello hace que se incremente la confianza y el nivel de satisfacción de los usuarios finales y de los responsables de la explotación del nuevo sistema.

Por último y dada la importancia que se ha puesto de manifiesto por alcanzar mayores niveles de eficiencia en el desarrollo de software, es de considerar un planteamiento más extenso y profundo de lo que habitualmente se conoce como fase de pruebas, aunque no garantice por sí mismo la calidad del software implantado si aporta interesantes beneficios para alcanzar los objetivos de coste, plazos y calidad final del producto terminado.


Compartir en :


Noticias relacionadas

Recomendamos




Comentarios