Administración de la configuración (Configuration management CM) es el conjunto de actividades relacionadas con la administración de la evolución de los productos durante todo su ciclo de vida. Para ello es necesario identificar, organizar y controlar las modificaciones al producto con el objetivo de maximizar la productividad a la vez que se minimizan los errores.
Es el control que se tiene sobre cada uno de los componentes de configuración de un producto con el fin de que todos los cambios que se realicen a estos componentes, una vez que han sido aprobados, se hagan de forma controlada y que en todo momento se conozca cuál es la versión vigente de cada uno. Facilita la identificación e integración de los componentes de configuración que conforman los entregables del proyecto.
Es el proceso de identificar la configuración del producto para controlar sistemáticamente los cambios a la misma y mantener su integridad a lo largo de todo el ciclo de vida del proyecto.
Algunos problemas comunes que conllevan a la adopción de CM son:
- No se encuentra la última versión del código fuente
- Errores corregidos en versiones previas aparecen nuevamente
- No se conoce qué módulos comprende el sistema entregado al cliente
- La integración del sistema toma demasiado tiempo
- Los programadores están trabajando en una versión incorrecta del código
- Versiones incorrectas del código son probadas
- No existe seguimiento de los requerimientos, documentos y códigos
Las actividades que se requieren para implementar un proceso de CM incluyen:
Identificación de la configuración: Identificar de forma unívoca la estructura del software y los elementos que lo forman y ponerlo a disposición del personal que lo requiera. El objetivo es tener la capacidad de identificar los componentes del software a lo largo de su ciclo de vida y facilitar su seguimiento.
Actividades
- Seleccionar los elementos que estarán bajo control de configuración
- Establecer la estructura jerárquica del producto
- Crear e identificar el esquema que refleja la estructura del producto
- Identificar unívocamente cada uno de los componentes del producto
- Definir las relaciones e interfaces entre los productos
Nota: Es importante almacenar y registrar toda la información del ambiente y las herramientas de apoyo utilizadas durante el ciclo de vida del software para asegurar que el mismo puede ser reproducido, en cualquier momento.
Control del cambio a la configuración: Controlar los cambios y la liberación de los productos durante el ciclo de vida para establecer un mecanismo que asegure la creación de un producto de calidad.
Actividades
- Definir el proceso de cambio
- Establecer las políticas y procedimientos de control de cambios
- Mantenimiento de las líneas base
- Incorporar los cambios
- Desarrollar la forma de reportes de cambio
- Controlar la liberación del producto
Reporte del estado de la configuración: Registrar y reportar los cambios a los componentes de configuración. Con ello se puede mantener un registro del estado de todos los elementos en una línea base, para posibilitar el seguimiento de todos los cambios a las líneas base durante el ciclo de vida.
Actividades
- Determinar el tipo de reporte requerido
- Dar seguimiento al estado de los componentes de configuración
- Dar seguimiento al estado de los cambios al sistema
- Generar reportes de estado
- Registrar y reportar las actividades de CM
Auditoría a la configuración: Verificar que el producto integrado satisface los requerimientos, estándares o acuerdos contractuales y que los componentes que se integran corresponden con las versiones vigentes. Verificar que todos los componentes han sido producidos, descritos e identificados correctamente y que todas las solicitudes de cambio han sido procesadas.
Actividades
- Definir el esquema y procedimientos de auditoría
- Desarrollar auditorías en las líneas base establecidas
- Generar los reportes de auditoría
M. en C. Carlos J. Pérez Escobar
SEI Authorized CMMI Instructor
Excelente el blog, muy buena informacion sobre CMMI, es justo lo que estaba buscando para un trabajo en la Universidad!
ResponderEliminarMuchas gracias Facundo y suerte con tu trabajo!!
ResponderEliminarExcelente información.
ResponderEliminarMuchas gracias Audberto. Si tienes algún tema de interés en particular, te agradecería mucho me lo indicaras para investigar y desarrollarlo. Saludos, Carlos
ResponderEliminarMuchas gracias, me ha sido de mucha utilidad para un trabajo de la Universidad :)
ResponderEliminarVaya, pareciera que este tema es de mucha demanda en la Universidad. Son varios los comentarios en el mismo sentido. Saludos, Carlos
ResponderEliminarHola Carlos. pues viendolo fuera de la Universidad, encuentro que es de los puntos medulares para tener las últimas versiones y no estar reciclando los productos que ya han sido verificados y evaluados. muchas gracias x tu blog y espero verte en breve en alguno de tus cursos. ATT Mónica
ResponderEliminarHola Mónica, definitivamente es un tema importante, técnicamente claro pero que en la práctica es "incómodo" de establecer y controlar. Muchas gracias por tus comentarios y estamos en contacto. Saludos.
ResponderEliminarBuen blog, muchas gracias, estoy asumineto el rol de CM en un proyecto y te agradeceria si pudieras ampliar sobre este tema, lo que me he encontrado es con mucha resistencia por parte del grupo de desarrollo para ayudar a versionar y controlar los productos de software.
ResponderEliminarGracias
Muchas gracias por el comentario y la sugerencia de tema para un próximo artículo. Sobre el tema de cambio te recomiendo algunas entradas anteriores que pueden serte útil.
ResponderEliminar-http://asprotech.blogspot.mx/2010/02/gestionar-el-cambio-organizacional-en.html
- http://asprotech.blogspot.mx/2010/09/reconocimiento-como-motor-del-cambio.html
- http://asprotech.blogspot.mx/2010/11/mejora-continua-y-cambio.html
- http://asprotech.blogspot.mx/2010/10/enfoque-de-desviacion-positiva-hacia-el.html
- http://asprotech.blogspot.mx/2010/10/identificacion-de-early-adopters-para.html
Saludos