Disciplina: Configuración y Gestión de cambios
Esta disciplina explica cómo controlar y sincronizar la evolución del conjunto de productos de trabajo que componen un sistema de software.
Relaciones
Descripción principal

Un sistema de CM es esencial para controlar los numerosos productos de trabajo que producen las muchas personas que trabajan en un proyecto común. El control ayuda a evitar confusiones costosas y garantiza que los productos de trabajo resultantes sean conflictivos debido a algún problema de los tipos siguientes:

Actualización simultánea

Cuando dos o más miembros del equipo trabajan por separado en el mismo producto de trabajo, el último en realizar cambios destruye el trabajo del anterior. El problema básico es que si un sistema no da soporte a las actualizaciones simultáneas ello conduce a cambios en serie y ralentiza el proceso de desarrollo. Sin embargo, con las actualizaciones simultáneas, el reto es detectar las actualizaciones que se han producido simultáneamente y resolver las cuestiones de integración cuando se incorporen estos cambios.

Notificación limitada

Cuando se resuelve un problema en los productos de trabajo compartidos por varios desarrolladores y no se notifica a algunos de ellos del cambio.

Versiones múltiples

La mayoría de programas grandes se desarrollan mediante releases evolutivos. Un release puede ser utilizado por el cliente, mientras otro se está probando y un tercero sigue todavía desarrollándose. Si se detectan problemas en alguna de las versiones, deben propagarse las soluciones entre ellas. Las confusiones pueden conducir a arreglos costosos y a trabajos de rediseño a menos que los cambios tengan un cuidadoso control y gestión.

Un sistema de CM es útil para la gestión de las múltiples variantes de evolución de los sistemas de software, para realizar el seguimiento de las versiones que se utilizan en determinadas compilaciones de software, llevar a cabo compilaciones de programas individuales o de releases completos de acuerdo con especificaciones de versión definidas por el usuario y la aplicación de las políticas de desarrollo específicas del sitio.

Algunas de las ventajas directas proporcionadas por un sistema de CM son que:

  • da soporte a los métodos de desarrollo
  • mantiene la integridad del producto
  • garantiza la completitud y la corrección del producto configurado
  • proporciona un entorno estable en el que desarrollar el producto
  • restringe los cambios a los productos de trabajo basándose en las políticas del proyecto
  • proporciona una pista para las auditorías sobre las razones, los momentos y los autores de los cambios en los productos de trabajo

Además, un sistema de CM almacena datos de 'contabilidad' detallada sobre el propio proceso de desarrollo: el autor de una versión determinada (y el momento y la razón), las versiones de los recursos se han utilizado en una compilación determinada y otros datos relevantes.

Un sistema de CM de una empresa se utiliza durante todo el ciclo vital del producto, desde el inicio a su despliegue. Como depósito de activos de una empresa, el sistema de CM contiene versiones actuales e históricas de los archivos de origen de los requisitos, artefactos de diseño e implementación que definen una versión determinada de un sistema o de un componente del sistema

La estructura de directorios del producto representada en el sistema de CM contiene todos los artefactos necesarios para implementar el producto. La disciplina Gestión de cambios y configuración (CCM) como tal está relacionada con todas las otras disciplinas del proceso pues actúa como depósito para los conjuntos resultantes de productos de trabajo, que incluyen:



Más información