Descripción del sistema de manejo de la configuración
Objetivo
Informar a los miembros del equipo sobre la estructura del sistema de manejo de configuración para facilitar su uso.
Estructura del sistema de manejo de la configuración
Todos los elementos de configuración del departamento están en el sistema de manejo de la configuración el cual será manejado en git completamente (esto aplica tanto para código como otros productos de trabajo). El sistema se compone de varios niveles: dinámico, controlado y estático.
El nivel dinámico no tiene ninguna restricción en cuanto a los cambios realizables y no requiere revisiones.
El nivel controlado requiere como criterio de entrada que se haga una revisión de los cambios antes de integrar. Este nivel contiene las modificaciones ya revisadas que requieren más seguimiento antes de considerarse estables.
El nivel estático contiene las versiones estables de los elementos de configuración del departamento. Una versión estable requiere que todos sus componentes estén integrados, funcionen correctamente y estén aprobados.
Flujo de cambios de elementos de configuración
Los cambios a un elemento de configuración siguen el siguiente flujo:
- Primero, se realizan en el nivel dinámico.
- Luego, se hace una solicitud de integración al nivel controlado
- Los cambios que contiene la solicitud se revisan y, de ser aprobados, se integran con el nivel controlado.
- En el nivel controlado se realizan pruebas y seguimiento a los elementos de configuración y sus cambios.
- Una vez probados, se hace una solicitud para integrarlos con el nivel estático.
- El Configuration Control Board se reúne y revisa la solicitud de cambio a nivel estático. Si el Board aprueba la solicitud, los cambios se integran al nivel estático.
Realización de cambios
- Obtenga la última versión en el nivel controlado del elemento de configuración a cambiar.
- Realice los cambios en un lugar separado. Si está usando git, cree una rama nueva para los cambios.
Transición de nivel dinámico a nivel controlado
- Haga una solicitud de cambio para el elemento de configuración.
- Incluya en la solicitud una descripción de los cambios que se realizaron y asigne revisores. Si está usando git, haga un pull request de la nueva rama hacia develop.
- Los cambios deben pasar por una revisión y ser aprobados antes de integrarse con el nivel controlado
Transición de nivel controlado a nivel estático
- Los cambios a nivel controlado deben probarse
- En el caso del código, al final de la iteración, haga una solicitud de cambio para pasar lo que está en nivel controlado a nivel estático
- En el caso de los procesos, haga una solicitud de cambio cuando el Cofiguration Control Board tenga disponibilidad (el lunes de cada semana en tiempo de departamento, preferentemente) para pasar lo que está en nivel controlado a nivel estático
- El Configuration Control Board se reúne y revisa los cambios de manera exhaustiva
- Si los cambios se aprueban, se integran al nivel estático
Obtención de la versión de un archivo que está en cada nivel
- Si está usando git, acceda al archivo en el repositorio
- De click al dropdown “Branch: <nombre_branch>” y elija una rama:
- Para ver la versión más reciente del archivo en el nivel estático, elija la rama “master”
- Para ver la versión más reciente del archivo en el nivel controlado, elija la rama “develop”
Obtención del dueño de un elemento de configuración
- Si está usando git, acceda al archivo en el repositorio
- De click al botón “History”
- Vea quién creó el archivo. Esa persona es el último responsable (dueño) del elemento.
- Vea a los autores de los últimos cambios. Esas personas son responsables del elemento.
El Configuration Control Board
La función del comité es revisar exhaustivamente los cambios propuestos al nivel estático. Este comité se compone de 5 miembros del departamento que tengan conocimiento del área de gestión de la configuración y ejerzan roles relacionados con la gestión del proyecto.
Miembros del Configuration Control Board
- Abraham Lemus Ruiz
- Dante Maximiliano Flores Moreno
- Luis Enrique Canales Oliveros
- Paulo Eugenio Solís Álvarez
- Oswaldo David García Rodríguez