Proceso de administración de la configuración

La administración de la configuración es una disciplina que aplica las direcciones técnicas y administrativas y vigilancia para: identificar y documentar las características físicas y funcionales de un elemento de configuración, controlar los cambios de esas características, registrar y procesar el proceso de cambios y el estatus de implementación y verificar el cumplimiento con los requerimientos especificados.

La configuración de un sistema son las características físicas y/o funcionales del software o hardware o su combinación, como un conjunto en documentación técnica y enfocada al producto. Es una colección de versiones específicas de elementos de hardware o software combinado conforma a específicos procedimientos de construcción para propósitos particulares.

La administración de la configuración es la disciplina que identifica la configuración de un sistema en distintos puntos en el tiempo con el propósito de controlar sistemáticamente los cambios de configuración, manteniendo de esta forma la integridad y el rastreo de la configuración durante el ciclo de vida.

Administración de la configuración de software es un proceso de soporte del ciclo de vida que beneficia la administración de proyectos, las actividades de desarrollo y mantenimiento, las actividades de aseguramiento y a los productos finales de los usuarios y clientes.

Los elementos de la administración de la configuración con todos aquellos que se generan durante el proceso de software como: código fuente, ejecutables, documentación y datos.

Un indicador que puede ayudar a reconocer que las cosas van bien es cuando cada elemento es registrado para su seguimiento y control, cada cambio puede ser rastreado y analizado y cuando aquellos que necesitan ser informados de un cambio se les ha informado.

La administración de la configuración se relaciona con las demás áreas desde el momento en que el proceso registra cada artefacto que se produce y se utiliza a través del proceso de software.

El estándar ISO/IEC 12207 indica que el proceso de administración de la configuración de software se encarga de establecer y mantener la integridad de los elementos de software de un proceso o un proyecto y hacerlos disponibles. Para realizarlo se apoya de las siguientes actividades:

Implementación del proceso. Se desarrolla el plan que describe las actividades, procedimientos y la programación para realizar las actividades, se establecen los responsables y la relación del proceso con otras organizaciones. El plan se documenta e implementa.

Identificación de la configuración. Se establecen los elementos que serán controlados. A cada versión y su elemento correspondiente se le coloca un identificador y se establece una línea base.

Control de la configuración. Se encarga de llevar a cabo el seguimiento al identificar y registrar las solicitudes de cambio, evaluar los cambios, aprobación o desaprobación de los requerimientos, implementaciones, verificaciones y liberaciones. Seguimiento a las modificaciones, razones de modificación y su autorización.

Estatus de la configuración. Es la administración de reportes de registro y estados que muestran un histórico controlado de los elementos de software.

Evaluación de la configuración. Se asegura de que exista una relación entre el elemento funcional del software contra los requerimientos y los elementos físicos.

Administración de liberación y entrega. La liberación y la entrega de los productos de software deben de encontrarse controlados. Mantener las copias maestras de código y documentación. Los elementos críticos son manejados, almacenados, empacados y entregados conforme a las políticas establecidas por la organización.

En SWEBOK se pueden encontrar actividades asociadas a la administración de la configuración. De las cuales se mencionan las siguientes:

Administración del proceso de administración de la configuración. En ella se ven involucradas la planificación y administración del proceso. Lo que implica una comprensión del contexto de la organización, la identificación de restricciones y el diseño e implementación del proceso. Identificación de la configuración de software. En ella se identifican todos los elementos que deberán de ser controlados para establecer una estructura de identificación por elemento y versión.

Se establecerá las técnicas y herramientas que se utilizarán para administrar los elementos. Control de la configuración de software. Se establece la administración de los cambios durante el ciclo de vida del software. Se incluye los tipos de cambio, autoridades para realizar los cambios, soporte a la implementación de cambios.

Registro del estado de la configuración de software. Es el registro y reporte de información necesaria para una efectiva administración de la configuración de software.

Auditoría de la configuración de software. Es una evaluación independiente de la conformidad de los productos de software y el proceso a regulaciones, estándares, lineamientos, planes y procedimientos. La auditoría determina el grado en el que los elementos satisfacen los requerimientos funcionales y características físicas.

Administración de liberación y entrega. Liberar se refiere a la distribución de un elemento de configuración de software fuera de las actividades de desarrollo. Esto incluye las distribuciones internas y hacia los clientes. Cuando las diferentes versiones de un mismo elemento se encuentran disponibles para ser entregadas es necesario generar paquetes de esa versión con el material correcto. La librería de software es un elemento importante que acompaña a las tareas de entrega y liberación.

Mientras para el estándar IEEE 1042 se pueden mencionar las siguientes actividades a manera de resumen:

Identificación de la configuración. Identifica la estructura del producto. Los niveles de identificación es la organización sobre la que se pueden identificar los elementos de la configuración. Posteriormente se establece el identificador o etiqueta con el que se dará seguimiento a los elementos. Se establece una línea base de que se tomará como referencia a todos los elementos.

Control de la configuración. Se identifica los procedimientos para los cambios a partir de una línea base. Se generan niveles de autoridad para controlar cambios y se asignan las responsabilidades.

Registro del estado de la configuración. Identifica la información necesaria, su obtención y reporte.

Auditorias y revisiones. Involucra los procedimientos empleados para verificar que los productos de software contra la descripción de los elementos de configuración que se encuentra en las especificaciones y documentos. Las auditorias se orientan hacia las funciones de cambio, operación de las librerías y otras actividades relacionadas a la administración de la configuración de software.

Liberación. Las liberaciones de software deben de estar descritas de manera de quien lo reciba entienda lo que le ha sido entregado. Esta actividad se encarga de verificar que el paquete de liberación se encuentre completo y listo para el usuario.

Fuente: Apuntes de Ingeniería del Software de la FCA de la UNAM