Вы находитесь на странице: 1из 41

Instituto Nacional de Tecnologas de la Comunicacin

GUA AVANZADA DE GESTIN DE CONFIGURACIN

LNCS

Diciembre 2008

Instituto Nacional de Tecnologas de la Comunicacin

AVISO LEGAL
CMMI es una marca registrada en la Oficina de Marcas y Patentes de EEUU por la Universidad Carnegie Mellon Las distintas normas ISO mencionadas han sido desarrolladas por la International Organization for Standardization. ITIL (Information Technology Infrastructure Library es una marca registrada de la OGC, Office of Government Commerce (Oficina de comercio gubernamental), que es una divisin del Ministerio de Hacienda del Reino Unido.

Todas las dems marcas registradas que se mencionan, usan o citan en la presente gua son propiedad de los respectivos titulares. INTECO cita estas marcas porque se consideran referentes en los temas que se tratan, buscando nicamente fines puramente divulgativos. En ningn momento INTECO busca con su mencin el uso interesado de estas marcas ni manifestar cualquier participacin y/o autora de las mismas. Nada de lo contenido en este documento debe ser entendido como concesin, por implicacin o de otra forma, y cualquier licencia o derecho para las Marcas Registradas deben tener una autorizacin escrita de los terceros propietarios de la marca. Por otro lado, INTECO renuncia expresamente a asumir cualquier responsabilidad relacionada con la publicacin de las Marcas Registradas en este documento en cuanto al uso de ninguna en particular y se eximen de la responsabilidad de la utilizacin de dichas Marcas por terceros. El carcter de todas las guas editadas por INTECO es nicamente formativo, buscando en todo momento facilitar a los lectores la comprensin, adaptacin y divulgacin de las disciplinas, metodologas, estndares y normas presentes en el mbito de la calidad del software.

Gua avanzada de gestin de configuracin

Instituto Nacional de Tecnologas de la Comunicacin

NDICE
1. INTRODUCCIN 1.1. 1.2. 1.3. 2. Conceptos Por qu es importante la gestin de configuracin? Roles y responsabilidades 6 6 7 8 11 12 12 12 15 15 18 20 23 24 26 26 27 29 30 30 32

ACTIVIDADES DE GESTIN DE CONFIGURACIN 2.1. Gestin del proceso de gestin de configuracin 2.1.1. 2.1.2. 2.1.3. 2.2. 2.2.1. 2.2.2. 2.3. 2.3.1. 2.3.2. 2.4. 2.5. 2.6. Contexto organizacional para la gestin de configuracin Planificacin de la gestin de configuracin Mtricas relacionadas con el proceso Establecer el sistema de gestin de configuracin Establecer lnea base Proceso de control de cambios Comit de control de configuracin

Identificacin de elementos de configuracin

Mantenimiento y control de la gestin de configuracin

Informe del estado de los elementos de configuracin Verificacin y auditora Gestin de la liberacin del software

3.

ENFOQUE DE ALGUNOS MODELOS 3.1. 3.2. 3.3. CMMI SPICE (ISO 15504) ITIL 34

4. 5. 6. 7.

ARTEFACTOS RELACIONADOS CON LA GESTIN DE CONFIGURACIN ACRNIMOS GLOSARIO REFERENCIAS

37 38 39 41

Instituto Nacional de Tecnologas de la Comunicacin

NDICE DE TABLAS
Tabla 1 Tabla 2 Tabla 3 Tabla 4 Tabla 5 Roles y responsabilidades de la gestin de configuracin Matriz RACI de la gestin de configuracin Actividades del proceso de gestin de configuracin Ejemplos de elementos de configuracin Ejemplos de sistemas de gestin de configuracin 9 9 11 17 19

Instituto Nacional de Tecnologas de la Comunicacin

NDICE DE FIGURAS
Figura 1 Figura 2 Figura 3 Figura 4 Figura 5 Incorporacin de elementos en lnea base Evolucin de la lnea base (I) Evolucin de la lnea base (II) Proceso de control de cambios Gestin de configuracin (CMMI) 21 22 23 26 32

Figura 6 Relacin de la gestin de configuracin con otros procesos de gestin de servicios (ITIL) 36

Instituto Nacional de Tecnologas de la Comunicacin

1.

INTRODUCCIN

La gua avanzada de gestin de configuracin pretende proporcionar una amplia visin de este proceso. De forma introductoria, se expondrn algunos conceptos clave para entender el proceso, se resaltar la importancia que tiene la gestin de configuracin en el desarrollo de productos y servicios software a travs de los beneficios que se pueden obtener de la correcta implementacin de este proceso y los riesgos de no realizarla. Tambin se mencionarn los principales roles que intervienen en el proceso de gestin de configuracin y cules son sus responsabilidades. En el segundo apartado de la gua se describen las distintas actividades que conforman el proceso de gestin de configuracin, indicando en cada una de ellas alcance, tareas, entradas, salidas, Esta gua se centrar en el proceso de gestin de configuracin fundamentalmente desde la perspectiva del desarrollo y mantenimiento de productos software ms que desde el lado de los servicios. No obstante, el apartado 3 de la gua da una visin de cmo contemplan este proceso modelos orientados tanto al desarrollo de productos (CMMI-DEV, SPICE) como a los servicios (ITIL). Por ltimo, la gua se completa con referencias a artefactos de utilidad para la implementacin de este proceso.

1.1.

CONCEPTOS

A continuacin, se explican algunos conceptos clave en el mbito de la gestin de la configuracin que se van a ir tratando a lo largo de la gua. De esta forma, se quiere aclarar ciertos trminos para obtener una mejor comprensin del contenido expuesto en el documento. Qu se entiende por configuracin del software? Es el conjunto de caractersticas funcionales y fsicas del software detalladas en la documentacin tcnica o alcanzadas en un producto. (IEEE610.12-90)

Qu es la gestin de la configuracin? Es un proceso cuyo propsito es establecer y mantener la integridad de los productos de trabajo a travs de: La identificacin de los elementos/productos que van a ser controlados Cules son los elementos de configuracin? La definicin de un procedimiento para el control de los productos Cmo controlo los cambios sobre los elementos de configuracin? El registro/informe del estado de los productos

Instituto Nacional de Tecnologas de la Comunicacin

Cul es el estado actual de los elementos de configuracin? Las auditoras de configuracin Los elementos de configuracin cumplen los requisitos?

Qu se entiende por elemento de configuracin? Un elemento de configuracin es cualquier producto de trabajo, tanto producto final como productos intermedios y tanto productos entregables al cliente como productos internos del proyecto, cuyo cambio pueda resultar crtico para el buen desarrollo del proyecto.

Qu es una lnea base? Una lnea base es un conjunto de elementos de configuracin formalmente designados y fijados en un momento especfico del ciclo de vida. Los elementos incluidos en la lnea base tendrn que cumplir unas condiciones mnimas, es decir, han de estar acabados y formalmente aprobados. La lnea base slo puede ser modificada a travs de un procedimiento formal de cambios. La lnea base, junto con todos los cambios aprobados sobre la misma, representa la configuracin vigente y aprobada.

1.2.

POR QU ES IMPORTANTE LA GESTIN DE CONFIGURACIN?

Como se ha comentado en el apartado anterior, el proceso de gestin de configuracin tiene como principal objetivo asegurar la integridad de los productos y servicios desarrollados. Integridad del producto es: Saber exactamente lo que se ha entregado al cliente Saber el estado y contenido de las lneas base y elementos de configuracin

La gestin de la configuracin es una forma efectiva y eficiente de gestionar y comunicar los cambios en lneas base y elementos de configuracin a lo largo del ciclo de vida. A continuacin se resaltan algunos beneficios de la implementacin del proceso de gestin de configuracin para la organizacin. Los siguientes puntos representan objetivos de negocio, por ejemplo: reduccin de riesgos, mejora de la calidad y beneficios de coste en la entrega y soporte de productos. Asegurar la correcta configuracin del software. Proporcionar la capacidad de controlar los cambios. Reducir los sobreesfuerzos causados por los problemas de integridad. Garantizar que todo el equipo trabaja sobre una misma lnea base de productos.

Para ver la importancia de forma ms clara, pondremos un ejemplo: Qu puede ocurrir si no se realiza una gestin de configuracin efectiva? Existe un riesgo alto de entregar al cliente la versin incorrecta del producto:

Instituto Nacional de Tecnologas de la Comunicacin

Versin con errores Versin con cambios que no han sido probados Versin que no puede reproducirse

Podramos llegar a encontrarnos en las siguientes situaciones: Cul es la versin que tiene el cliente? No puedo reproducir el problema en mi versin Qu ha ocurrido con la correccin que hice el mes pasado? Est corregido el error tambin en esa versin?

Si no se realiza una buena gestin de configuracin puede ocurrir que no podamos disponer de un inventario completo de los componentes del sistema cuando necesitemos, que haya que realizar re-trabajo durante las pruebas porque los componentes que probemos no sean los que debieran, o que no se pueda recuperar una lnea base anterior para realizar mantenimiento. Todo ello conlleva una prdida de dinero y recursos.

1.3.

ROLES Y RESPONSABILIDADES

Para evitar confusiones acerca de quin debe realizar las actividades de gestin de configuracin, debe quedar claramente identificado el organigrama del proceso. Las responsabilidades especficas para las actividades de gestin de configuracin deben ser asignadas a equipos o a personas concretos. Igualmente, los canales de informe y comunicacin deben ser identificados, aunque se realice a nivel de gestin de proyecto o durante la etapa de planificacin de aseguramiento de la calidad. A continuacin, se describen los principales roles que intervienen en el proceso de gestin de configuracin y sus respectivas responsabilidades.
Roles Gestor configuracin de Responsabilidades Gestionar la planificacin, identificacin, control, seguimiento y auditora de todos los elementos de configuracin en la base de datos de configuracin. Desarrollar el plan de gestin de configuracin. Promover el uso efectivo de la base de datos de configuracin dentro de la organizacin. Monitorizar y reportar los cambios no autorizados sobre los elementos de configuracin. Asegurar la consistencia e integridad de los datos de la base de datos de configuracin a travs de la ejecucin de procedimientos de verificacin y auditora. Liderar las actividades de evaluacin del proceso: revisar tipos de elementos de configuracin, relaciones, atributos y valores asociados, estructura de la base de datos, derechos de acceso. Aprobar cambios estructurales en la base de datos de configuracin. Asegurar que todos los elementos de configuracin estn registrados de forma adecuada en la base de datos de configuracin.

Coordinador configuracin de -

Instituto Nacional de Tecnologas de la Comunicacin

Asegurar la consistencia e integridad de los datos de la base de datos de configuracin y la estructura del sistema a travs de la ejecucin de procedimientos de verificacin y auditora. Reportar cualquier discrepancia o no conformidad en los elementos de configuracin al gestor de configuracin. Participar en la mejora continua del proceso de gestin de configuracin. Asegurar que los elementos de configuracin de los que es responsable estn registrados en la base de datos de configuracin con el estado y datos de configuracin apropiados. Verificar que los cambios sobre los elementos de configuracin siguen el proceso de cambios definido. Asegurar la idoneidad e integridad de los elementos de configuracin de los que es responsable. Trabajar conjuntamente con el gestor de configuracin para identificar las causas de cualquier discrepancia identificada en las auditoras e implementar las acciones correctivas. Evaluar el impacto y riesgo de los cambios. Asegurar que los responsables de los elementos de configuracin actualizan los histricos de estos elementos con los cambios implementados.

Responsable elementos configuracin de de -

Gestor de cambio

Tabla 1

Roles y responsabilidades de la gestin de configuracin

A nivel de las actividades del proceso, la involucracin de estos roles queda reflejada en la siguiente matriz RACI (Responsible, Accountable, Consulted, Informed).
Actividad Gestor de configuracin Coordinador de configuracin Responsable de elementos de configuracin C C Gestor de cambios

Planificacin implementacin Identificacin elementos configuracin

E, R

de de

E, R

Mantenimiento y control de la base de datos de configuracin Informe de estado de la configuracin Verificacin auditora y

C, I

E, R

C, E

C, I

E, R

Tabla 2

Matriz RACI de la gestin de configuracin

Instituto Nacional de Tecnologas de la Comunicacin

Leyenda E R C I Encargado de la actividad Responsable de la actividad Consultado antes de la actividad Informado despus de la actividad

10

Instituto Nacional de Tecnologas de la Comunicacin

2.

ACTIVIDADES DE GESTIN DE CONFIGURACIN

En la siguiente tabla, se recogen de forma resumida las actividades que conforman el proceso de gestin de configuracin. En los prximos apartados se vern cada una de estas actividades en detalle.
Actividad Gestin del proceso de gestin de configuracin Identificacin elementos configuracin de de Rol responsable Gestor configuracin de Descripcin Documentar el plan de gestin de configuracin. Identificar elementos configuracin. Entradas Necesidades proyecto Plan de proyecto Productos proyecto del del Salidas Plan de gestin de configuracin aprobado Elementos configuracin identificados Lnea base Estructura del directorio de gestin de configuracin Peticiones cambio de Registro de solicitud de cambio Solicitud de cambio aprobada Lnea base de

Gestor configuracin

de

de

Crear estructura del directorio de gestin de configuracin.

Mantenimiento y control de la gestin de configuracin

Responsable elemento configuracin

del de

Control de cambios sobre elementos de configuracin y lneas base. Obtener aprobacin de solicitudes de cambio sobre productos de trabajo de lnea base.

Informe de estado de la configuracin

Gestor configuracin

de

Mantener actualizado y publicar el estado de los elementos de configuracin. Realizar auditoras de la gestin de configuracin.

Elementos configuracin

de

Informe de estado de elementos de configuracin

Verificacin auditora

Gestor configuracin

de

Registros de gestin configuracin Lnea base Registros cambios

la de

Informe de auditora de gestin de configuracin

de

Tabla 3

Actividades del proceso de gestin de configuracin

11

Instituto Nacional de Tecnologas de la Comunicacin

2.1.

GESTIN DEL PROCESO DE GESTIN DE CONFIGURACIN

La gestin de la configuracin controla la evolucin e integridad de un producto mediante la identificacin de sus elementos, la gestin y control de los cambios sobre ellos, y la verificacin, registro e informe de la informacin de configuracin. Desde el punto de vista de la ingeniera de software, la gestin de configuracin facilita las actividades de desarrollo e implementacin de los cambios. Una buena implementacin de este proceso de gestin de configuracin requiere una planificacin y gestin cuidadosa. Para ello, en primer lugar hay que entender cul es el contexto organizacional necesario y las restricciones que existen para el diseo e implementacin del proceso. A continuacin, se describe qu se debe tener en cuenta para realizar una buena planificacin del proceso y qu mtricas pueden ayudar a conocer cmo se est ejecutando el proceso de gestin de configuracin y as disponer de un punto de partida para la mejora del mismo.

2.1.1.

Contexto organizacional para la gestin de configuracin

La organizacin responsable del proceso de gestin de configuracin, igual que sucede con otros procesos de soporte a la ingeniera de software, se puede estructurar de varias formas. Aunque la responsabilidad de ejecutar ciertas tareas de gestin de configuracin puede asignarse al equipo de desarrollo, la mayor parte de responsabilidad a menudo recae sobre otra parte de la organizacin o sobre una persona designada para ello. El proceso de gestin de configuracin puede interactuar con la actividad de aseguramiento de calidad de la organizacin en temas como gestin de registros de configuracin y no conformidades. En este sentido, la gestin de no conformidades es una responsabilidad del aseguramiento de la calidad; sin embargo, la gestin de configuracin puede contribuir mediante el registro e informe de aquellas que correspondan a los elementos de configuracin. Otra relacin muy clara de este proceso es con las actividades de desarrollo y mantenimiento. En este contexto es donde se producen muchas de las tareas de control de configuracin. Por ello, a menudo, las mismas herramientas dan soporte al desarrollo, mantenimiento y gestin de configuracin.

2.1.2.

Planificacin de la gestin de configuracin

Dentro del alcance Planificacin y definicin del propsito, alcance, objetivos, polticas, procedimientos, contexto organizacional y tcnico para la gestin de configuracin. Fuera del alcance Planificar cmo se va a construir y mantener la infraestructura fsica.

12

Instituto Nacional de Tecnologas de la Comunicacin

La planificacin del proceso de gestin de configuracin para un proyecto debe ser consistente con el contexto organizacional, las restricciones que apliquen y la naturaleza del proyecto (p.ej.: tamao y criticidad). Las principales actividades que se deben tener en cuenta son: Identificacin de elementos de configuracin Control de la configuracin Registro del estado de la configuracin Auditoras de configuracin Gestin del despliegue

Adems, se deben tener en cuenta aspectos como el organigrama y responsabilidades, recursos y cronograma, seleccin de herramientas e implementacin, etc. Durante la planificacin se debe identificar al personal y las herramientas involucrados en el desempeo de las actividades y tareas de gestin de configuracin. Se deben establecer las secuencias necesarias para las actividades de gestin de configuracin e identificar sus relaciones con el cronograma e hitos del proyecto establecidos en la fase de planificacin del proyecto. Tambin debe especificarse cualquier requisito de formacin para el personal necesario para implementar el plan. Existen distintos tipos de funcionalidades en las herramientas que pueden dar soporte a las actividades de gestin de configuracin, junto con los procedimientos a seguir para implementarlas. Dependiendo de la situacin, estas funcionalidades pueden estar disponibles a travs de una combinacin de herramientas manuales, de herramientas automatizadas que proporcionan una nica funcionalidad, o herramientas automatizadas que integran un conjunto de funcionalidades de gestin de configuracin (o de otros procesos de ingeniera de software). La utilizacin de herramientas automatizadas de soporte es cada vez ms importante en un proyecto. Por otro lado, se vuelve ms difcil de establecer a medida que los proyectos aumentan en tamao y el entorno del proyecto es ms complejo. Las funcionalidades de estas herramientas proporcionan soporte para: Repositorio de gestin de configuracin, estructura de almacenamiento donde almacenar los productos. Procedimientos de peticin y aprobacin de cambios. Tareas de gestin de cambios en cdigo y productos de trabajo relacionados, control de versiones. Sistema de control de acceso para regular el acceso a los distintos productos. Informe de estado de configuracin y recogida de mtricas de gestin de configuracin. Auditoras de configuracin.

13

Instituto Nacional de Tecnologas de la Comunicacin

Gestin y seguimiento de documentacin del software. Realizacin de paquetes entregables de software. Gestin y seguimiento de entregables y su despliegue.

Estas herramientas tambin pueden proporcionar mtricas para la mejora del proceso. En la planificacin se deben elegir herramientas de gestin de configuracin que encajen con el trabajo a realizar. Se deben considerar los posibles problemas que pueden aparecer en la implementacin y uso de estas herramientas, especialmente si implican un cambio cultural. En el caso de que el proyecto adquiera software de un tercero se deben contemplar unas consideraciones similares. En este caso, se deben imponer unos requisitos de gestin de configuracin al proveedor como parte del contrato y adems, se deben establecer los medios para hacer un seguimiento de su cumplimiento, indicando qu informacin debe estar disponible para realizar un seguimiento efectivo del cumplimiento de estos requisitos. El resultado de la planificacin debe quedar plasmado en un plan de gestin de configuracin (SCMP), que ser sometido a revisin y auditora durante el proceso de aseguramiento de la calidad. Este es un documento que servir de referencia para llevar a cabo el proceso de gestin de configuracin. Debe mantenerse actualizado a lo largo del ciclo de vida del software. A la hora de implementarlo, puede ser necesario desarrollar una serie de procedimientos subordinados ms detallados donde se defina cmo llevar a cabo el plan en las actividades diarias. A modo de gua, se resaltan los siguientes apartados de informacin que puede incluir el SCMP: Introduccin Propsito Alcance Trminos utilizados Gestin del proceso de gestin de la configuracin Organigrama Responsabilidades Polticas y procedimientos aplicables Actividades de gestin de configuracin Identificacin de elementos de configuracin Control de configuracin Registro e informe del estado de la configuracin Auditora de configuracin Cronograma de la gestin de configuracin

14

Instituto Nacional de Tecnologas de la Comunicacin

Coordinacin con otras actividades del proyecto Recursos de gestin de configuracin Herramientas Recursos fsicos Recursos humanos Mantenimiento del SCMP

2.1.3.

Mtricas relacionadas con el proceso

Las mtricas de gestin de configuracin se pueden disear para proporcionar informacin especfica sobre el producto controlado o sobre el funcionamiento del proceso de gestin de configuracin. Uno de los objetivos del seguimiento del proceso de gestin de configuracin es descubrir oportunidades para la mejora del proceso. Las mtricas del proceso proporcionan un buen medio para monitorizar la efectividad de las actividades de gestin de configuracin en curso. De esta forma, se podra caracterizar el estado actual del proceso as como proporcionar una base para realizar comparaciones en el tiempo. El anlisis de estas mtricas conducir a los correspondientes cambios en el proceso y actualizaciones del SCMP. Las herramientas de gestin de configuracin nos proporcionarn las fuentes para extraer informacin acerca del proceso. Por ejemplo, para evaluar los criterios que determinan qu niveles de aprobacin son ptimos para ciertos tipos de cambios sera til informacin acerca del tiempo requerido para abordar varios dichos cambios. Algunos ejemplos de indicadores que se pueden tomar sobre el proceso son: Nmero de no conformidades relativas a la integridad de los productos de la lnea base. Nmero de cambios y su estado. Esfuerzo dedicado a actividades de gestin de configuracin.

2.2.

IDENTIFICACIN DE ELEMENTOS DE CONFIGURACIN

La actividad de identificacin de la configuracin identifica los elementos que van a ser controlados, establece esquemas para la identificacin de los elementos y sus versiones, y establece las herramientas y tcnicas a usar para adquirir y gestionar los elementos controlados. Estas actividades proporcionan la base para otras actividades de gestin de configuracin. El primer paso para controlar los cambios es identificar los elementos software a controlar. Esto implica entender el control de configuracin en el contexto del sistema, seleccionar los elementos, desarrollar una estrategia de etiquetado e identificar las lneas base que se van a usar junto con los procedimientos de adquisicin de elementos para una lnea base.

15

Instituto Nacional de Tecnologas de la Comunicacin

Un elemento de configuracin es cualquier producto cuyo cambio pueda resultar crtico para el desarrollo del proyecto. No slo los productos que sern entregados al cliente sino productos internos e intermedios que son importantes para el buen desarrollo del proyecto. Adems, no se debe limitar nicamente al software o sistemas sino que se deben incluir tambin documentos, estructuras de datos, etc. Algunos ejemplos de elementos del software que pueden ser elementos de configuracin son planes, documentacin de especificacin y diseo, material de pruebas, herramientas software, cdigo fuente y ejecutable, libreras de cdigo, datos y diccionarios de datos, documentacin de instalacin, mantenimiento, operacin y uso. A la hora de seleccionar los elementos que estarn bajo gestin de configuracin, se pueden tener en cuenta criterios como los siguientes: Productos de trabajo que vayan a ser utilizados por dos o ms grupos. Productos de trabajo que puedan cambiar con el tiempo debido a cambios en requisitos o errores. Productos que dependan de otros en el sentido de que un cambio en uno de ellos implique un cambio en los otros. Productos de trabajo que sean crticos para el proyecto.

Dependiendo de la naturaleza del proyecto los elementos de configuracin pueden variar de un proyecto a otro.
Elementos de configuracin Planes o o o o o Plan de proyecto Plan de calidad Plan de gestin de configuracin Plan de gestin de riesgos

Registros del proyecto Material de apoyo al cliente Especificacin de requisitos o o o Requisitos de negocio Requisitos de usuario Requisitos de sistema

Matriz de trazabilidad de requisitos Documentos de diseo Resultados de la resolucin y anlisis de decisin Cdigo fuente

16

Instituto Nacional de Tecnologas de la Comunicacin

Plan de integracin de software Informes resultantes de las revisiones realizadas en los puntos de comprobacin o al final de las fases Plan de pruebas o o o o o unitarias de integracin de sistemas de aceptacin de usuario de regresin

Datos de pruebas y casos de pruebas Plan de instalacin/mantenimiento Documentos de manual de usuario Plan de entrega de servicios Informes de investigacin Informes de estimacin Informes de cierre del proyecto Prototipos Informes de mtricas Todos los entregables enviados al cliente

Tabla 4 Dentro del alcance

Ejemplos de elementos de configuracin

Seleccionar e identificar las estructuras de configuracin para todos los elementos de configuracin, incluyendo la identificacin de los responsables de cada elemento, interrelaciones, y documentacin de configuracin. Esta actividad incluye designar nombres (identificadores) para los elementos de configuracin, etiquetado de cada elemento, y almacenamiento de estos elementos en la base de datos de configuracin. Fuera del alcance Mantener una base de datos de gestin de documentacin. Los documentos fsicos se almacenan y mantienen por sus responsables. Entradas Tareas Identificar los productos que se van a mantener bajo gestin de configuracin para el proyecto Necesidades especficas del proyecto Plan de proyecto Productos del proyecto

17

Instituto Nacional de Tecnologas de la Comunicacin

Asignar identificadores nicos para cada elemento de configuracin y propiedades como autor, tipo de documento o fichero, persona responsable de ese elemento de configuracin, etc. Definir estructura de almacenamiento Definir un nivel de control de acceso de los miembros del equipo sobre la infraestructura de almacenamiento Seleccionar herramientas especficas para la gestin de configuracin Especificar cundo se va a incluir cada elemento bajo gestin de configuracin (en qu momento del ciclo de vida). Obtener la autorizacin para incluir los documentos bajo gestin de configuracin (lnea base) Aplicar los procedimientos definidos para incluir los productos bajo gestin de configuracin Documentar los elementos que se han incluido bajo gestin de configuracin Desarrollar procedimientos para solicitar e implantar los cambios donde se especifique: Quin solicita los cambios Cmo se notifican los cambios Cmo se evala el impacto Quin evala el impacto Quin acepta o rechaza el cambio Quin modifica los distintos productos (responsable de cada producto)

Salidas Infraestructura de almacenamiento y herramientas seleccionadas Elementos bajo gestin de configuracin identificados Procedimientos para la gestin de configuracin Producto bajo gestin de configuracin: lnea base realizada Documento de elementos bajo gestin de configuracin: SCMP

2.2.1.

Establecer el sistema de gestin de configuracin

Un sistema de gestin de configuracin incluye el sistema de almacenamiento, los procedimientos y las herramientas para acceder al sistema de gestin de configuracin. Una biblioteca de software es una coleccin controlada de software y documentacin relacionada que ha sido diseada como ayuda para el desarrollo, uso y mantenimiento del software (IEEE610.12-90). Tambin juega un papel importante en la gestin de la liberacin

18

Instituto Nacional de Tecnologas de la Comunicacin

del software y las actividades de despliegue. Se pueden utilizar varios tipos de sistemas de gestin de configuracin, cada uno para un nivel determinado de madurez del elemento de configuracin. Cada sistema tendr asociado un nivel adecuado de control de configuracin (lnea base asociada y nivel de autorizacin para el cambio). La seguridad, en cuanto a control de acceso y copias de seguridad, es un aspecto clave de la gestin de sistemas de gestin de configuracin. Las herramientas que se utilicen para cada sistema de gestin de configuracin deben soportar sus necesidades en cuanto a control de los elementos de configuracin y control de acceso al sistema. En el caso de un sistema de gestin de configuracin para el entorno de trabajo, tendr una funcionalidad de gestin de cdigo y ser utilizada por desarrolladores, equipo de mantenimiento y equipo de gestin de configuracin. El foco estar en gestionar las versiones de los elementos de software y dar soporte a las actividades de mltiples desarrolladores. A niveles superiores de control, el acceso est ms restringido y el equipo de gestin de configuracin ser el usuario principal. El gestor de configuracin debe establecer los permisos de acceso en la etapa inicial del proyecto. Por ejemplo, se pueden establecer los siguientes sistemas, cada uno con el siguiente nivel de acceso:
Sistema de gestin de configuracin Sistemas dinmicos (desarrollo) Descripcin Sistemas que contienen componentes que se estn creando o revisando en la actualidad. Estn en el entorno de trabajo desarrollador y son controlados por l. del

Los elementos de configuracin bajo este sistema estn bajo control de versiones. Sistemas que contienen la lnea base actual y los cambios realizados sobre ella. Los elementos de configuracin bajo este sistema estn bajo control de configuracin. Sistemas que contienen varias lneas base ya liberadas y que han sido archivadas. Estos sistemas configuracin. estn bajo control de

Sistemas mster (controlados)

Sistemas estticos

Tabla 5

Ejemplos de sistemas de gestin de configuracin

Estos sistemas de gestin de configuracin tambin son una fuente de informacin importante para la medicin del trabajo y del progreso. El gestor de configuracin establecer una estructura de directorios designando un rea de almacenamiento, procedimientos y herramientas para acceder al sistema de configuracin del proyecto. Tendr que reflejar en el plan de gestin de configuracin la ubicacin y estructura de los directorios donde se van a almacenar todas las lneas base y activos del

19

Instituto Nacional de Tecnologas de la Comunicacin

proyecto cuando sean desarrollados. El directorio debera ser estructurado de tal forma que ayude a: Planear cmo controlar los elementos de configuracin identificados como lnea base. Soportar distintos niveles de control de gestin de configuracin. Proporcionar un repositorio central con lneas base del software para asegurar la correcta creacin de productos y entregables desde el repositorio. Proporcionar un lugar para compartir y transferir elementos de configuracin entre grupos dependientes. Proporcionar un lugar orientado al registro y generacin de informes. Soportar el mantenimiento del directorio mediante copias de seguridad regulares del contenido.

Los mecanismos de almacenamiento y de recuperacin de los elementos de configuracin debern ser documentados en el plan de gestin de configuracin. Hay que asegurarse de que los archivos y directorios importantes de los miembros del equipo forman parte de la copia de seguridad. Ser necesario identificar la frecuencia, ubicacin y responsable de realizar la copia de seguridad. Las copias de seguridad han de alojarse en un sitio distinto al de los documentos originales.

2.2.2.

Establecer lnea base

Una vez identificados los productos que estarn bajo gestin de configuracin, habr que incluirlos bajo una lnea base para que, a partir de ese momento, cualquier modificacin que se vaya a realizar sobre dicho producto tenga que seguir los procedimientos diseados para ello. Una lnea base es un conjunto de elementos de configuracin formalmente designados y fijados en un momento especfico del ciclo de vida. Este trmino tambin se utiliza para hacer referencia a una versin particular del elemento de configuracin que ha sido aprobada. En cualquier caso, la lnea base slo puede ser modificada a travs de un procedimiento formal de cambios. La lnea base, junto con todos los cambios aprobados sobre la lnea base, representa la configuracin vigente y aprobada. Para formar parte de la lnea base no slo tiene que estar identificado como elemento a incluir sino que tendr que cumplir unas condiciones mnimas, esto es, que el producto est acabado y haya sido formalmente aprobado. Todos los productos no sern incluidos en la lnea base al mismo tiempo, ya que cada producto (cdigo, documentacin tcnica, documentacin de gestin, etc.) puede ser incorporado en distintas fases del proyecto. Las lneas base ms utilizadas son la funcional, de desarrollo y de producto. La lnea base funcional corresponde a la especificacin de requisitos software y del sistema que han sido ya revisados. La del desarrollo representa la evolucin de la configuracin del software en determinados momentos seleccionados del ciclo de vida. La lnea base del producto corresponde al producto finalizado y entregado para su integracin en el sistema.

20

Instituto Nacional de Tecnologas de la Comunicacin

Las lneas base que se van a realizar en un proyecto, junto con el nivel de autorizacin requerido para aprobacin de cambios, deben ser identificadas en el SCMP. Los elementos de configuracin se colocan bajo control de la gestin de configuracin en distintos momentos, es decir, se incorporan a una lnea base en un momento concreto del ciclo de vida del software. El evento que desencadena esta incorporacin a la lnea base es la realizacin de alguna tarea de aceptacin formal del elemento de configuracin, como una revisin formal. En la siguiente figura se puede ver un ejemplo de cmo se incorporan elementos a la lnea base a medida que evoluciona el ciclo de vida (en este caso, ciclo de vida en cascada).
Revisin de requisitos Revisin de diseo Revisin de disponibilidad de las pruebas Aceptacin

Especificacin de requisitosA

Especificacin de requisitos B Diseo detallado A

Especificacin de requisitos C Diseo detallado Codificacin A B

Especificacin de requisitos D Diseo detallado C Codificacin B

Control de cambios sobre especificacin de requisitos

Control de cambios sobre especificacin de requisitos y diseo detallado

Plan de pruebas A

Plan de pruebas B Manual de usuario A BBDD pruebas de regresin A

Control de cambios sobre especificacin de requisitos, diseo detallado, codificacin y planes de pruebas

Figura 1

Incorporacin de elementos en lnea base

Despus de la incorporacin de un elemento de configuracin a la lnea base, los cambios sobre l deben ser aprobados formalmente segn el procedimiento definido en el SCMP para ese elemento y esa lnea base. Despus de la aprobacin, el elemento se incorporar a la lnea base siguiendo el procedimiento adecuado. Los procedimientos y controles definidos para la gestin de configuracin se aplicarn sobre los productos una vez estn incluidos en la lnea base.

21

Instituto Nacional de Tecnologas de la Comunicacin

Lnea base
Cambio 1 Cambio 2 Cambio 1 Cambio 2

Lnea base

A1 B1 C1 D1 E1

A2

A1 B1 C1 D1 E1

A2 B2

B2

Figura 2

Evolucin de la lnea base (I)

22

Instituto Nacional de Tecnologas de la Comunicacin

Lnea base
Cambio 1 Cambio 2 Cambio 3 Cambio 1 Cambio 2

Lnea base
Cambio 3

A1 B1 C1 D1 E1

A2 B2

A1 B1 C1 D1
E1

A2 B2

E1 F3

F3

Figura 3

Evolucin de la lnea base (II)

2.3.

MANTENIMIENTO CONFIGURACIN

CONTROL

DE

LA

GESTIN

DE

El control de configuracin est relacionado con la gestin de cambios durante el ciclo de vida. El control de configuracin cubre el proceso de determinar qu cambios realizar, la autorizacin necesaria para aprobar ciertos cambios, el soporte a la implementacin de esos cambios, y el concepto de desviaciones formales con respecto a los requisitos del proyecto. La informacin derivada de estas actividades es til para medir el trfico de cambios y aspectos de re-trabajo. Los cambios no se producen nicamente para incluir nuevas funcionalidades o crear nuevos productos, tambin pueden ser utilizados para corregir errores. Cuando se solicita un cambio que afecta a algn producto bajo gestin de configuracin (lnea base), entrar en funcionamiento el proceso de control de cambios. En este proceso, que se explicar a continuacin, se deben identificar y valorar los cambios y, si son admitidos, modificar los productos afectados, siguiendo el procedimiento establecido. Estos

23

Instituto Nacional de Tecnologas de la Comunicacin

cambios realizados deben comunicarse a todas las personas que resulten afectadas por los mismos. Dentro del alcance Asegurar que slo se aceptan y registran los elementos de configuracin previamente identificados y aprobados. Este control asegura que ningn elemento es aadido, modificado, reemplazado o eliminado sin existir un control adecuado de los cambios, p.ej.: una peticin de cambio aprobada y una especificacin actualizada. Fuera del alcance La configuracin de elementos que la organizacin/proyecto ha decidido no controlar. Entradas Tareas Registrar las peticiones de cambios y errores detectados Evaluar el impacto de realizar dichos cambios y tomar la decisin de si llevarlos a cabo o se rechazarlos Registrar la aceptacin o rechazo de los cambios solicitados Implementar los cambios en los distintos productos, aplicando los procedimientos de gestin de cambios Registrar los cambios realizados de forma que se pueda disponer de un histrico de versiones del producto y de una trazabilidad entre los cambios y los distintos productos Comunicar a los afectados los cambios realizados Peticin de cambios Productos bajo gestin de configuracin (lnea base)

Salidas Productos bajo gestin de configuracin modificados (nueva lnea base) Registros de cambios realizados y rechazados

2.3.1.

Proceso de control de cambios

A continuacin, se describe en qu consiste el proceso de gestin de cambios, es decir, cules son los principales pasos que hay que tener en cuenta. El primer paso para gestionar los cambios sobre los elementos controlados es determinar qu cambios realizar. El proceso de peticin de cambios proporciona procedimientos formales para enviar y registrar peticiones de cambio, evaluar el coste e impacto potencial del cambio propuesto, y aceptar, modificar, o rechazar el cambio propuesto.

24

Instituto Nacional de Tecnologas de la Comunicacin

Los cambios solicitados o los errores detectados debern ser identificados a travs de los canales preestablecidos (personas, herramientas, etc.). Una vez recibidos sern documentados para su posterior estudio. Las peticiones de cambio sobre elementos de configuracin pueden iniciarse por cualquiera en cualquier punto del ciclo de vida y pueden incluir una sugerencia de solucin y prioridad de la peticin. Un posible origen de las peticiones de cambio es el inicio de una accin correctiva en respuesta a informes de problemas. El tipo de cambio (p.ej.: defecto o mejora) se suele registrar en la peticin de cambio (SCR) para as poder recoger mtricas sobre los cambios por tipo de cambio. Una vez que se recibe una SCR, se realiza una evaluacin tcnica o anlisis de impacto para determinar el alcance de las modificaciones que seran necesarias realizar una vez se acepte la peticin. En este punto es importante un buen entendimiento de las relaciones entre los elementos de software. Segn la lnea base afectada, los elementos de configuracin implicados, y la naturaleza del cambio, la persona responsable evaluar los aspectos tcnicos y de gestin de la peticin de cambio, y a continuacin aceptar, modificar, rechazar o aplazar el cambio propuesto. En cualquier caso, la decisin tomada deber quedar documentada de alguna forma. Las SCR aprobadas se implementan utilizando los procedimientos de software definidos de acuerdo a los requisitos de tiempo que apliquen. Ser necesario proporcionar una forma de realizar un seguimiento de qu SCR se incorporan, en qu versiones de software y lneas bases concretas. Como parte del cierre del proceso de cambios, los cambios realizados deben pasar por auditoras de configuracin y verificacin de la calidad del software. Esto incluye asegurar que slo se han realizado los cambios aprobados. La implementacin del cambio ser soportada por una herramienta que permita gestin de versiones y un repositorio de cdigo. Tras realizar el cambio se comunicar, si as est establecido, a todos aquellos que estn afectados por dicho cambio. De esta forma, se pretende preservar la integridad de los productos haciendo que todo el mundo trabaje con las versiones correctas. El siguiente grfico ilustra este proceso de control de cambios:

25

Instituto Nacional de Tecnologas de la Comunicacin

Figura 4

Proceso de control de cambios

2.3.2.

Comit de control de configuracin

La autoridad para aceptar o rechazar los cambios propuestos reside en una entidad conocida como comit de control de configuracin (CCB). En proyectos pequeos, esta autoridad puede desempearla el lder o una persona asignada para ello en lugar de un comit de varias personas. Puede haber mltiples niveles de autorizacin de cambios dependiendo de varios criterios como la criticidad de los elementos implicados, la naturaleza del cambio (p.ej.: impacta en presupuesto o calendario), o el momento actual en el ciclo de vida. Las actividades del CCB estn sujetas a revisin y auditora de calidad de software. Un proceso de control de cambios efectivo requiere del uso de distintas herramientas y procedimientos de soporte que refuercen el flujo del proceso de cambios, recogiendo las decisiones del CCB, y reportando la informacin del proceso de cambios.

2.4.

INFORME DEL CONFIGURACIN

ESTADO

DE

LOS

ELEMENTOS

DE

El informe del estado de la configuracin es la actividad de reportar la informacin necesaria para gestionar de forma efectiva la configuracin de software. En esta actividad se disea y opera un sistema para la captura y reporte de la informacin necesaria a medida que avanza el ciclo de vida.

26

Instituto Nacional de Tecnologas de la Comunicacin

Dentro del alcance El informe de todos los datos actuales e histricos de cada elemento de configuracin a lo largo de su ciclo de vida. Esto permite establecer una trazabilidad entre los elementos de configuracin y sus cambios asociados. Fuera del alcance El registro de informacin de costes, contratos, o estado financiero durante el ciclo de vida.

Como en cualquier sistema de informacin, la informacin sobre el estado de la configuracin que se quiere gestionar debe ser identificada, recogida y mantenida. Son necesarias diversas mtricas e informacin para dar soporte al proceso de gestin de configuracin. El tipo de informacin disponible incluye la identificacin de configuracin aprobada as como el estado actual de la implementacin de los cambios. Por ejemplo, informacin del tipo: Un registro de documentacin de configuracin aprobada. La designacin de un responsable de los elementos de configuracin del proyecto. El estado de cambios propuestos y desviaciones de la configuracin. La implementacin del estado de los cambios aprobados. La configuracin de todas las unidades de los elementos de configuracin en el inventario. Resultados de las auditoras.

Para llevar a cabo estas actividades de recogida de datos y generacin de informes se hace necesario el soporte de una herramienta automatizada. Los informes generados pueden ser utilizados por distintas partes de la organizacin: el equipo de desarrollo, el equipo de mantenimiento, gestin de proyectos, equipo de calidad. Estos informes pueden ser consultas realizadas a demanda para responder a preguntas especficas o informes prediseados que se generan peridicamente. Cierta informacin generada por la actividad de informe del estado de la configuracin a lo largo del ciclo de vida puede ser un registro para el aseguramiento de la calidad. Adems de reportar el estado actual de la configuracin, la informacin obtenida en esta actividad puede servir como base para varias mtricas de inters para la gestin, desarrollo y gestin de la configuracin. Algunos ejemplos son el nmero de peticiones de cambio por elemento de configuracin y el tiempo medio necesario para implementar una peticin de cambio.

2.5.

VERIFICACIN Y AUDITORA

Una auditora de software es una actividad llevada a cabo para evaluar, de forma independiente y objetiva, la conformidad de los productos y procesos software con respecto a las regulaciones, estndares, guas, planes y procedimientos aplicables (IEEE1028-97).

27

Instituto Nacional de Tecnologas de la Comunicacin

Las auditoras se llevan a cabo de acuerdo a un proceso bien definido que detalla los roles y responsabilidades de los auditores. Cada auditora debe ser cuidadosamente planificada, en funcin de la naturaleza del proyecto y de los requisitos. Las herramientas que ayudan en la planificacin y realizacin de la auditora facilitan en gran medida el proceso. La actividad de auditora de configuracin de software determina en qu medida un elemento de configuracin satisface sus caractersticas funcionales y fsicas requeridas. Se pueden realizar auditoras de este tipo en puntos clave del ciclo de vida. El resultado satisfactorio de una auditora se puede utilizar como prerrequisito para establecer una lnea base del producto. El objetivo de las auditoras de gestin de configuracin es asegurarse de que: Los elementos de configuracin se encuentran en el directorio apropiado. El estado actual de los elementos de configuracin es consistente. La informacin de lnea base se mantiene de forma correcta. Se verifica la conformidad con estndares y procedimientos aplicables a la gestin de configuracin, por ejemplo, comprobando si se usa la versin correcta del documento de diseo para realizar la codificacin.

Como resultado de la auditora se deber generar un informe donde se registren todas las no conformidades detectadas y as iniciar un plan de mejora para solucionarlas. Despus de una auditora de configuracin exitosa se puede establecer una lnea base del producto. La verificacin no se realiza sobre los propios productos sino que consiste en comprobar que los productos que conforman una lnea base estn gestionados correctamente bajo el control de configuracin, que todos los cambios realizados sobre estos productos han sido registrados y, por tanto, se puede establecer una trazabilidad entre cambios y productos afectados. Dentro del alcance Realizacin de una serie de revisiones y auditoras que verifiquen la existencia de los elementos de configuracin, la comprobacin de que estn registrados correctamente en la base de datos de configuracin y la confirmacin de adherencia con la poltica de gestin de configuracin. Fuera del alcance Inventario fsico de hardware. Entradas Lnea base de productos bajo gestin de configuracin. Tareas Identificar los productos de la lnea base. Verificar la integridad de los productos de la lnea base. Revisar el histrico de cambios a los productos.

28

Instituto Nacional de Tecnologas de la Comunicacin

Revisar trazabilidad entre cambios realizados y productos afectados. Comprobar adherencia a la poltica y procedimientos establecidos. Generar informe de auditora con las no conformidades detectadas.

Salidas Informe de auditora.

2.6.

GESTIN DE LA LIBERACIN DEL SOFTWARE

El trmino liberacin se utiliza en este contexto para referirse a la distribucin del elemento de configuracin de software fuera de la actividad de desarrollo. Esto incluye tanto liberaciones internas como distribuciones al cliente. Antes de hacer el despliegue es necesario empaquetar los materiales correctos para la entrega. La construccin del software es la actividad de combinar las versiones correctas de los elementos de configuracin, usando los datos de configuracin apropiados, en un programa ejecutable para entregar al cliente u otro destinatario, por ejemplo, el equipo de pruebas. Adems de construir software para nuevas entregas durante la gestin de configuracin, tambin suele ser necesario poder reproducir versiones anteriores durante la realizacin de recuperaciones, pruebas o mantenimiento. El software se construye utilizando herramientas de soporte, como compiladores. Es til que estas herramientas permitan construir el software seleccionando las versiones correctas de los elementos software para un determinado entorno y que se automatice el proceso. El proceso de construccin y los productos suelen ser objeto de verificacin de calidad de software. Las salidas del proceso de construccin pueden ser necesarias para referencia futura y pueden ser registros para el aseguramiento de la calidad. La gestin de la liberacin del software implica la identificacin, empaquetado y entrega de los elementos del producto, por ejemplo, programas ejecutables, documentacin, notas de versin, y datos de configuracin. Puesto que los cambios en el producto pueden producirse de forma continua, una de las cuestiones que se plantean en la gestin de la liberacin es cundo debe lanzarse una nueva versin. Esta decisin se tomar teniendo en cuenta la severidad de los problemas encontrados y la mtrica de densidad de defectos registrada en la versin actual. En la tarea de empaquetado se deben identificar qu elementos del producto se van a entregar y las versiones correctas de esos elementos, segn la aplicacin deseada del producto. Las notas de versin describen las nuevas funcionalidades, problemas conocidos, y requisitos de la plataforma necesarios para la correcta operacin del producto. El paquete que se va a liberar tambin contiene instrucciones para la instalacin o actualizacin.

29

Instituto Nacional de Tecnologas de la Comunicacin

3.
3.1.

ENFOQUE DE ALGUNOS MODELOS


CMMI

CMMI es un modelo de madurez de mejora de procesos para el desarrollo y mantenimiento de productos y servicios. Consiste en una serie de mejores prcticas que dirigen las actividades de desarrollo y mantenimiento que cubren el ciclo de vida del producto. El modelo CMMI contempla la gestin de configuracin en una de sus reas de proceso del nivel de madurez 2. El rea de proceso Gestin de Configuracin (CM) est dentro de la categora de soporte. Esto quiere decir que es un proceso que da soporte a la implementacin de otras reas de proceso. Los productos que van a estar bajo gestin de configuracin pueden ser productos generados por otras reas de proceso e incluyen productos entregados al cliente, productos internos, productos adquiridos, herramientas, y otros elementos utilizados para la creacin de estos productos. El propsito de este proceso es establecer y mantener la integridad de los productos mediante la consecucin de una serie de metas u objetivos que son: establecer lneas base de los productos de trabajo identificados, registrar y controlar los cambios en los productos bajo gestin de configuracin y establecer y mantener la integridad de las lneas base. Para alcanzar cada una de estas metas, el modelo propone una serie de prcticas que se deben llevar a cabo. Para establecer lneas base de los productos de trabajo tendremos que: Identificar los elementos de configuracin, componentes y productos de trabajo relacionados que estarn bajo gestin de configuracin. Un elemento de configuracin es una entidad que requiere gestin de configuracin, que puede consistir en mltiples productos de trabajo relacionados que componen una lnea base. Esta agrupacin facilita la identificacin y acceso controlado a estos elementos. La seleccin de los elementos que estarn bajo gestin de configuracin debe basarse en criterios establecidos durante la planificacin. Establecer y mantener un sistema de gestin de configuracin y de gestin de cambios para controlar los productos de trabajo. Un sistema de gestin de configuracin incluye medios para almacenamiento de los elementos de configuracin, procedimientos y herramientas para acceder al sistema de configuracin. Un sistema de gestin de cambios incluye procedimientos y herramientas para gestionar las peticiones de cambio. Crear o liberar lneas base para uso interno o para entregar al cliente. Una lnea base es un conjunto de especificaciones o productos de trabajo que han sido revisados y aprobados formalmente y que, por tanto, sirven como base para un posterior desarrollo y slo pueden ser modificados siguiendo un procedimiento de control de cambios.

30

Instituto Nacional de Tecnologas de la Comunicacin

Para registrar y controlar los cambios en los productos bajo gestin de configuracin se debern: Registrar las peticiones de cambio sobre los elementos de configuracin. Las peticiones de cambio no son solamente requisitos nuevos o modificados, tambin pueden ser fallos o defectos en los productos de trabajo. Las peticiones deben ser registradas en una base de datos de peticiones de cambio. A continuacin, ser analizadas para determinar el impacto que va a tener el cambio en el producto, en otros productos relacionados, y en el calendario y coste. Las peticiones registradas necesitan ser gestionadas de forma eficiente hasta su cierre. Controlar los cambios sobre los elementos de configuracin a lo largo de su ciclo de vida. Ser necesario obtener la autorizacin adecuada antes de introducir los cambios en el sistema de gestin de configuracin e incorporar los cambios de forma que se mantenga la integridad de los elementos de configuracin, realizando revisiones para asegurar que los cambios no causan efectos indeseados sobre la lnea base.

Para conseguir establecer y mantener la integridad de las lneas base debemos: Establecer y mantener registros que describan los elementos de configuracin, su contenido y estado, y asegurar que las personas adecuadas tengan acceso a esta informacin. Es importante identificar la versin de los elementos que constituyen una determinada lnea base y describir cules son las diferencias entre lneas base sucesivas. Realizar auditoras de gestin de configuracin para mantener la integridad de las lneas base de configuracin. En ellas se revisar la estructura e integridad de los elementos que conforman la lnea base y se confirmar que su contenido es completo y correcto basado en los requisitos especificados y las peticiones de cambio aprobadas. Tambin se evaluar la adherencia a los estndares y procedimientos de gestin de configuracin.

31

Instituto Nacional de Tecnologas de la Comunicacin

Seguimiento y control de cambios Establecer lnea base

Crear o liberar lneas base

Gestionar peticiones de cambio

Controlar elementos de configuracin

Peticiones de cambio

Establecer integridad
Resultados de auditora

Establecer un sistema de gestin de configuracin

BBDD de peticiones de cambio

Realizar auditoras de configuracin

Acciones

Identificar elementos de configuracin

Sistema de gestin de configuracin

Establecer registros de gestin de configuracin


Informes

Figura 5

Gestin de configuracin (CMMI)

3.2.

SPICE (ISO 15504)

El modelo SPICE describe los procesos que una organizacin debe ejecutar para adquirir, proveer, desarrollar, operar, evolucionar y dar soporte al software, y las prcticas genricas que caracterizan la capacidad de esos procesos. Cada proceso del modelo se describe en trminos de prcticas bsicas, que son las actividades esenciales de un proceso especfico. El modelo clasifica los procesos en cinco categoras que son: Cliente-Proveedor, Ingeniera, Proyecto, Soporte y Organizacin. El proceso de gestin de configuracin pertenece a la categora de soporte y su nomenclatura en el modelo es SUP.8. El propsito del proceso es establecer y mantener la integridad de los productos/elementos de trabajo de un proceso o proyecto y ponerlos a disposicin de las partes implicadas. Segn SPICE, como resultado de implementar este proceso de forma satisfactoria se conseguir: 1. Desarrollar una estrategia de gestin de configuracin 2. Identificar, definir y realizar lnea base de los productos de trabajo generados por un proceso o proyecto 3. Controlar los cambios y versiones de los productos de trabajo

32

Instituto Nacional de Tecnologas de la Comunicacin

4. Poner a disposicin de las partes afectadas los cambios y versiones de los productos de trabajo 5. Registrar e informar del estado de los productos de trabajo y sus cambios 6. Asegurar que los productos de trabajo son completos y consistentes 7. Controlar el almacenamiento, gestin y despliegue de los productos de trabajo Para implementar este proceso, el modelo propone una serie de prcticas bsicas: Desarrollar una estrategia de gestin de configuracin, incluyendo las actividades de gestin de configuracin y la planificacin para llevar a cabo estas actividades. Identificar los elementos de configuracin que necesitan, de forma independiente, ser identificados, almacenados, probados, revisados, utilizados, modificados, desplegados y/o mantenidos. Para proporcionar una forma eficiente de acceso y almacenamiento de estas entidades se debe establecer una estructura y jerarqua de ficheros y directorios. Establecer una estrategia de gestin de ramas para los desarrollos paralelos que utilizan la misma fuente. Esta estrategia debe incluir estrategias para la fusin de las ramas, versionado de ficheros y etiquetado. Adems, deber definir cundo y por qu se crearn las ramas, qu actividades se llevarn a cabo en cada una de ellas y cmo se migrarn a la fuente principal. Establecer lneas base, tanto internas como entregables. Las lneas base incluyen productos como requisitos, planes, documentacin de diseo, producto, documentacin de usuario, especificaciones de pruebas, etc. Mantener descripcin de los elementos de configuracin actualizada. Controlar los cambios y versiones. Para ello deben establecerse mecanismos. El control de cdigo fuente puede incluir check-in/out, permisos de acceso a ficheros, identificacin e incremento de versiones, comentario de cambios y bloqueo de ficheros. Mantener histrico de los elementos de configuracin con suficiente detalle como para poder recuperar una versin de una lnea base anterior, si es requerido. Informar del estado de la configuracin, informando del estado de cada elemento de configuracin y su relacin en la integracin del sistema actual. Verificar la informacin acerca de los elementos de configuracin, que sea completa y asegurar la consistencia de los elementos. Gestionar las copias de seguridad, almacenamiento, manejo y despliegue de los elementos de configuracin para asegurar la integridad y consistencia de los elementos de configuracin.

33

Instituto Nacional de Tecnologas de la Comunicacin

3.3.

ITIL

ITIL (Information Technology Infrastructure Library) es el enfoque ms ampliamente aceptado de la gestin de servicios IT. Proporciona un conjunto de mejores prcticas recogidas de sectores pblicos y privados. ITIL es utilizado por organizaciones de todo el mundo para crear y mantener capacidades de gestin de servicios. La versin 3 de ITIL se basa en el ciclo de vida del servicio a la hora de mostrar los distintos procesos involucrados en la gestin de servicios. Esto hace que sea ms fcil implementar la gestin de servicios y gestionar los servicios para conseguir los resultados de negocio. El ciclo de vida lo divide en 5 etapas que son: Estrategia, Diseo, Transicin, Operacin y Mejora continua del servicio. El proceso de gestin de configuracin juega un papel ms relevante durante la etapa de transicin del servicio. El propsito fundamental de la gestin de la configuracin es proporcionar un modelo lgico de la infraestructura o un servicio identificando, controlando, manteniendo y verificando las versiones de los elementos de configuracin que existan en el entorno IT de produccin. La gestin de la configuracin es un proceso multidisciplinar; soporta otros procesos de gestin de servicios y ayuda a la organizacin en la toma de decisiones correctas y a tiempo. A los componentes de la gestin de la configuracin de infraestructura y servicios se les denomina elementos de configuracin. Los tipos de elementos de configuracin que se gestionan en una organizacin dependen del alcance requerido definido durante la fase de planificacin del proceso y puede incluir: hardware, software, documentacin, otros componentes que necesitan ser controlados dentro del entorno IT, junto con cualquier relacin entre elementos de configuracin y sus elementos de datos de soporte asociados (p.ej.: personas, organizaciones,) Los registros de configuracin se mantienen y almacenan en una base de datos de gestin de la configuracin (CMDB). Una CMDB puede ser una base de datos fsica nica o puede estar comprendida por mltiples bases de datos fsicas para formar una entidad lgica. La informacin almacenada dentro de la CMDB representa el estado actual de los elementos de configuracin gestionados en el entorno IT. Para proporcionar informacin exacta y actualizada a la organizacin, los elementos de configuracin necesitan ser gestionados de forma efectiva a travs del ciclo de vida del servicio. De esta forma, la informacin almacenada dentro de la CMDB debe estar autorizada y controlada por un proceso de autorizacin apropiado. Los objetivos de la gestin de la configuracin se enumeran a continuacin: Proporcionar informacin exacta de los elementos de configuracin a otros procesos en una base de datos central para proporcionar soporte a la toma de decisiones de negocio crticas. Responsabilidad de todos los elementos de configuracin, sus atributos y relaciones.

34

Instituto Nacional de Tecnologas de la Comunicacin

Verificar que los datos de la CMDB soportan las obligaciones financieras, legales y de seguridad de la organizacin IT. Validar la informacin de los elementos de configuracin reales contra los autorizados (proceso de cambios controlado). Proporcionar fuertes fundamentos para los procesos de gestin de incidencias, gestin de problemas, gestin de cambios y gestin de liberacin. Identificar, controlar, registrar, informar, auditar y verificar los elementos de configuracin, incluyendo versiones, lneas base, atributos de elementos de configuracin y relaciones. Proteger la integridad de los elementos de configuracin asegurando que slo se usan componentes autorizados y slo se hacen cambios autorizados. Establecer y mantener un sistema de gestin de la configuracin como parte del sistema de gestin del conocimiento.

Las organizaciones que proporcionan servicios de IT necesitan tener un entorno de gestin de configuracin controlado que permita llevar a cabo un seguimiento, registro e informe de los elementos que hay en su infraestructura de IT. La informacin sobre la infraestructura y los servicios implicados es esencial para mantener los procesos de negocio dentro de una organizacin. Un gran nmero de roles y funciones acceden, mantienen y utilizan informacin sobre la infraestructura y los servicios para asegurar que IT y el negocio puedan ejecutar las operaciones de forma eficiente y eficaz. Es por ello que los principales beneficios de implementar y adherirse a un proceso de gestin de la configuracin dentro de una organizacin son los siguientes: Aumentar la estabilidad del entorno IT. Mejorar el rendimiento del servicio. Optimizar costes del servicio (operacin y soporte). Optimizar el uso de recursos. Mejorar la prediccin, planificacin y anlisis de cambios y liberaciones. Mejorar la gestin y resolucin de incidencias y problemas. Aumentar la transparencia de la adherencia con respecto a los estndares y mejores prcticas.

Como se comentaba anteriormente, la gestin de configuracin soporta otros procesos de gestin de servicios y proporciona entradas para procesos como la gestin de incidencias, gestin de problemas, gestin de cambios, gestin de liberacin, etc. En la siguiente figura se muestra de forma grfica est relacin entre la gestin de configuracin y otros procesos de gestin de servicios.

35

Instituto Nacional de Tecnologas de la Comunicacin

GESTIN DE NIVEL DE SERVICIO


Consulta CMDB Histrico, relaciones y atributos de los CI Atributos y relaciones de CI

GESTIN DE LIBERACIN
-Registro de versiones - Consulta CMDB

Histrico, relaciones y atributos de los CI

Lnea base de Info CI

GESTIN DE SOLICITUDES

GESTIN DE INCIDENCIAS

Consulta CMDB

GESTIN DE LA CONFIGURACIN

Consulta CMDB

Informacin de CI Consulta CMDB Registro de cambios Lnea base de Info CI Registro de problemas Consulta CMDB

GESTIN DE LA CAPACIDAD

Histrico, relaciones y atributos de los CI

GESTIN DEL CAMBIO

GESTIN DE PROBLEMAS

Histrico, relaciones y atributos de los CI

Figura 6

Relacin de la gestin de configuracin con otros procesos de gestin de servicios (ITIL)

36

Instituto Nacional de Tecnologas de la Comunicacin

4.

ARTEFACTOS RELACIONADOS CONFIGURACIN

CON

LA

GESTIN

DE

En esta seccin se pretende mencionar una serie de artefactos que pueden ser de utilidad a la hora de implementar el proceso de gestin de configuracin en la organizacin. Con el trmino artefactos nos referimos a procesos/procedimientos, plantillas, herramientas, listas de control (checklist), etc., es decir, todo tipo de elementos que ayudarn a llevar a cabo las prcticas del proceso de gestin de configuracin. El propsito aqu es resaltar los elementos en los que debe apoyarse una organizacin: Proceso/Procedimiento de gestin de configuracin: documento donde se describe el proceso/procedimiento a seguir para identificar y gestionar los elementos de configuracin durante la ejecucin del proyecto, as como asegurar que las ltimas versiones de los documentos estn disponibles en todo momento. Gua de gestin de configuracin: documento que recoge buenas prcticas y recomendaciones para llevar una buena gestin de configuracin en los proyectos. Plan de gestin de configuracin: plantilla para asegurarse de que el plan de gestin de configuracin identifica todas las actividades asociadas con la identificacin, control, informe de estados y auditoras de la gestin de configuracin. Informe del estado de la gestin de configuracin: plantilla para registrar toda la informacin acerca del estado de los elementos de configuracin y lneas base, junto con los cambios asociados a ellos. Solicitud de cambio: plantilla para registrar y monitorizar informacin durante todo el proceso definido de solicitud de cambio sobre una lnea base, desde el motivo del cambio hasta la investigacin del cambio para una final aprobacin del mismo. Herramientas/Sistemas para la gestin de configuracin y la gestin de cambios. Lista de control (checklist) para las auditoras de gestin de configuracin: lista de comprobacin para asegurar que se est siguiendo adecuadamente el proceso definido para llevar a cabo auditoras de gestin de configuracin. Informe de auditora de gestin de configuracin: plantilla para registrar informacin de las auditoras que se han llevado a cabo relacionadas con la gestin de configuracin.

Algunos ejemplos de estos artefactos y herramientas pueden encontrarse en los servicios online de Directorio de herramientas y Repositorio documental de procesos disponibles de forma gratuita en el portal de INTECO (www.inteco.es), en su seccin de Calidad de software.

37

Instituto Nacional de Tecnologas de la Comunicacin

5.
-

ACRNIMOS
CCB: comit de control de configuracin. CI: elemento de configuracin. CMDB: base de datos de gestin de configuracin. SCMP: plan de gestin de configuracin. SCR: peticin de cambio software.

38

Instituto Nacional de Tecnologas de la Comunicacin

6.
-

GLOSARIO
Atributo: informacin sobre un elemento de configuracin. Por ejemplo, nombre, ubicacin, versin y coste. Los atributos de los elementos de configuracin se registran en la base de datos de gestin de la configuracin. Auditora: inspeccin y verificacin formal para comprobar si se sigue un estndar o un conjunto de guas, que los registros son precisos o que se estn cumpliendo los objetivos de eficiencia y eficacia. Una auditora puede llevarse a cabo por grupos internos o externos a la organizacin. Auditora de configuracin: una auditora realizada para verificar que un elemento de configuracin cumple un estndar especfico o un requisito. Base de datos de gestin de configuracin (CMDB): base de datos usada para almacenar registros de configuracin durante su ciclo de vida. El sistema de gestin de la configuracin mantiene uno o ms CMDB y cada uno de ellos almacena atributos de los elementos de configuracin (CI) y relaciones con otros CI. Cambio: adicin, modificacin o borrado de algn elemento de una lnea base. Comit de control de configuracin: grupo de personas responsable de evaluar y aprobar o rechazar los cambios propuestos sobre los elementos de configuracin y asegurar la implementacin de esos cambios aprobados. Configuracin: trmino genrico usado para describir un grupo de elementos de configuracin que funcionan de forma conjunta para entregar un producto o un servicio. La configuracin se usa tambin para describir el establecimiento de parmetros de uno o ms elementos de configuracin. Control de configuracin: actividades que comprenden el control de los cambios sobre elementos de configuracin. Esto incluye la evaluacin, coordinacin, aprobacin o rechazo de los cambios. La implementacin de los cambios incluye los propios cambios, desviaciones y excepciones que pueden impactar a la configuracin. Gestin de cambios: proceso responsable de controlar el ciclo de vida de todos los cambios. Gestin de configuracin: proceso cuyo propsito es establecer y mantener la integridad de los productos y servicios desarrollados. Elemento de configuracin (CI): un conjunto de productos de trabajo que van a permanecer bajo gestin de configuracin y considerado como una entidad dentro del proceso de gestin de configuracin. Histrico de cambios: listado de todos los cambios realizados sobre un objeto (documento, fichero, mdulo software, etc.). Sobre cada cambio se especifica: descripcin del cambio, informacin de la versin, fecha del cambio, origen del cambio, informacin de la peticin registrada,

39

Instituto Nacional de Tecnologas de la Comunicacin

Liberacin: conjunto de elementos de configuracin nuevos o modificados que se van a desplegar al entorno de produccin. Lnea base: una instantnea o un estado especfico de un conjunto de productos de trabajo que han sido formalmente revisados y aprobados. Aunque el estado se actualice ms adelante, siempre a travs de un procedimiento de control de cambios, la lnea base permanece constante y disponible como referencia del estado original para poder compararlo con el estado actual. Registro de cambios: registro que contiene los detalles de un cambio. Cada registro de cambio documenta el ciclo de vida de un cambio individual. Se crea un registro de cambio para cada peticin de cambio que se recibe, incluso de las que son posteriormente rechazadas. Los registros de cambios suelen hacer referencia a los elementos de configuracin que se ven afectados por el cambio. Los registros de cambios se almacenen en el sistema de gestin de la configuracin. Registro de configuracin: registro que contiene los detalles de un elemento de configuracin. Cada registro de configuracin documenta el ciclo de vida de un elemento de configuracin individual. Los registros de configuracin se almacenan en una base de datos de gestin de la configuracin. Revisin: nueva versin de un elemento que pretende reemplazar la versin anterior del elemento. Peticin de cambio software: peticin formal para realizar un cambio sobre el producto software. Plan de gestin de configuracin: documento que establece la organizacin y procedimientos para la gestin de configuracin de un proyecto. Sistema de gestin de configuracin: conjunto de herramientas y bases de datos que se usan para recoger, almacenar, gestionar, actualizar y presentar informacin sobre los elementos de configuracin y sus relaciones. Variante: nueva versin de un elemento que ser aadida a la configuracin sin reemplazar una versin anterior. Versin: una versin de un elemento de software puede verse como un estado particular y concreto de un elemento de software que evoluciona.

40

Instituto Nacional de Tecnologas de la Comunicacin

7.

REFERENCIAS

A. Abran, J.W. Moore, P. Bourque, R. Dupuis, Guide to the Software Engineering Body of Knowledge, IEEE Computer Society, 2004. D. Whitgift, Methods and Tools for Software Configuration Management, John Wiley & Sons, 1991. H.R. Berlack, Software Configuration Management, John Wiley & Sons, 1992. I. Sommerville, Software Engineering, Seventh ed., Addison-Wesley, 2005. IEEE Std 610-1991, IEEE Computer Dictionary Compilation of IEEE Standard Computer Glossaries, IEEE, 1991 IEEE Std 828-1998, IEEE Standard for Software Configuration Management Plans, IEEE, 1998. IEEE Std 1028-1997, IEEE Standard for Software Reviews, IEEE, 1998. ITIL v3 Foundation for IT Service Management, 2008. K.E. Emam, J.N. Drouin, W. Melo, SPICE: The Theory and Practice of Software Process Improvement and Capability Determination, IEEE Computer Society Press, 1998. M.B. Chrissis, M. Konrad, S. Shrum, CMMI Second Edition. Guidelines for Process Integration and Product Improvement, Addison-Wesley, 2007. Sitio de ITIL de la OGC http://www.ogc.gov.uk/guidance_itil.asp R.S. Pressman, Software Engineering: A Practitioners Approach, Sixth ed., McGraw-Hill, 2004.

41

Вам также может понравиться