Auditoría de la configuración del software

Una auditoría es una verificación independiente de un trabajo o del resultado de un trabajo o grupo de trabajos para evaluar su conformidad respecto de especificaciones, estándares, acuerdos contractuales u otros criterios. La auditoría de la Configuración es la forma de comprobar que efectivamente el producto que se está construyendo es lo que pretende ser.

Esta función a veces se considera fuera de la Gestión de Configuración y dentro de la Garantía de Calidad. También tiene relación con las actividades de Validación y Verificación. En realidad es un punto de intersección entre todas ellas. Es la actividad de GCS más costosa. Requiere de personal experimentado, y con un gran conocimiento del proceso de desarrollo. Sin embargo, debe ser realizada por personal ajeno al equipo de desarrollo técnico para mantener la objetividad de la auditoría.

Se pueden diferenciar tres tipos de actividades:

Revisiones de fase: Se realizan al finalizar cada fase del desarrollo y su objetivo es examinar los productos de dicha fase. Las revisiones propias de la Gestión de configuración son aquellas en las que se establecerán las líneas base. El objetivo de esta revisión es descubrir problemas, no comprobar que todo está bien. Hay que ser capaz de desenmascarar los problemas ocultos y sutiles, no sólo los que son obvios.
Revisiones de cambios: Se realizan para comprobar que los cambios aprobados sobre una línea base se han realizado correctamente.
Auditorías: Se realizan al final del proceso de desarrollo de software y su objetivo es examinar el producto en su conjunto.

Reviciones de la Auditoría de la Configuración

Las revisiones se deben realizar de forma continua, durante todo el proceso de desarrollo, y no sólo al finalizar éste, cuando los problemas ya no tienen solución.

La tarea de revisión implica tres tipos de funciones:

Verificar que la configuración actual del software se corresponde con lo que era en fases anteriores. Debe haber correspondencia y trazabilidad entre los elementos de configuración que aparecen en una línea base y los que aparecen en la línea base que la preceden y que la siguen. La verificación se realiza con respecto a la línea base precedente.
Validar que la configuración actual del software satisface la función que se esperaba del producto en cada hito del proceso de desarrollo. La validación se realiza con respecto a los requisitos del sistema.
Valorar si una determinada línea base, teniendo en cuenta los resultados de la verificación y validación, y otro tipo de comprobaciones, se debe considerar aceptable o no.

El papel que juegan las revisiones en el proceso de Gestión de Configuración es el siguiente:

Los productos generados durante el proceso de desarrollo se agrupan, al llegar determinados hitos, en una “línea base pendiente de aprobación”.
Tiene lugar la revisión de fase.
Si en la revisión se encuentran deficiencias en los ECS que componen la línea base, se generan los correspondientes Informes de Problemas, o Informes de Discrepancias, y se entregan al CCC, el cual recomienda ciertos Cambios sobre la Configuración.
Una vez implementados los cambios propuestos, se pasa a una nueva revisión de cambios en la que se comprueba si los cambios se han implementado correctamente.
Si en la revisión no se encuentra ninguna deficiencia, se declara “aceptable” la “línea base pendiente de aprobación”. Si el CCC está de acuerdo con la resolución de los revisores, la línea base se aprueba.

Tipos de Auditorías de la Configuración del Software

En cuanto a las auditorías, se suelen distinguir dos tipos de auditorías de configuración:

Auditoría Funcional: Cuyo objetivo es comprobar que se han completado todos los tests necesarios para el Elemento de Configuración auditado, y que, teniendo en cuenta los resultados obtenidos en los tests, se puede afirmar que el Elemento de Configuración satisface los requisitos que se impusieron sobre él.
Auditoría Física: Cuyo objetivo es verificar la adecuación, completitud y precisión de la documentación que constituye las líneas base de diseño y de producto. Se trata de asegurar que representa el software que se ha codificado y probado. Tras la auditoría física se establece la línea base de Producto. Tiene lugar inmediatamente después de haberse superado la auditoría Funcional.

Y aún se puede considerar un tercer tipo de auditoría:

Revisión Formal de Certificación: Cuyo objetivo es certificar que el Elemento de Configuración del Software se comporta correctamente una vez que éste se encuentra en su entorno operativo.