¿Qué es la gestión de la configuración?

12

En todos los proyectos en los que he estado involucrado y que han recibido aportes de un consultor externo, se ha formulado la pregunta sobre qué tipo de Gestión de configuración estábamos usando. En ninguno de estos casos, el consultor ha podido definir la Gestión de la configuración. ¿Así que qué es lo?

Enrique
fuente
44
Honestamente solo Google, los primeros dos resultados son entradas relevantes de Wikipedia que explican todo al respecto
Jeremy
El enlace: en.wikipedia.org/wiki/Software_configuration_management . Buena pregunta sin embargo.
Jon Onstott
2
He leído esa página de Wikipedia y, para ser sincero, creo que fue escrita por los mismos "consultores" a los que Henry se refiere ...
Dean Harding,
Ah sí, la palabra de moda. Trae recuerdos de mis días de empresa.
Jason Baker
@Dean Harding ¡Exactamente!
Henry

Respuestas:

4

Qué Software Configuration Management (SCM) se reduce a responder lo siguiente:

  • ¿Qué archivos de origen se utilizaron para hacer nuestro producto final?
  • ¿Qué ha cambiado desde la última vez que fabricamos nuestro producto final?
  • ¿Por qué lo cambiamos?

Esto a su vez puede convertirse en un "proceso" bastante grande y feo. Los problemas del proceso son la razón por la cual la mayoría de los desarrolladores deslumbran ante la mención de SCM, ya que esto significa rastrear archivos fuente, defectos y requisitos; luego, unirlo todo para que pueda auditar los cambios (Este es un mundo ideal desde el punto de vista de la administración, ya que ofrece buenas herramientas de administrador para ver mejor qué recursos necesita dónde).

Esto es diferente de ITIL Configuration Management, que en realidad es el seguimiento de activos de software, qué software se está ejecutando dónde (qué servidor / estación de trabajo) y cuál es la configuración de ese software.

En otras palabras, lo más probable que su consultor quiera saber es cómo SU compañía / grupo de desarrollo responde las tres preguntas en la parte superior de mi respuesta.

mangelo
fuente
1
La última vez que surgió esto dije que usamos svn, Trac y Hudson. Estaba claro por la expresión de los consultores que no había escuchado nada de esto. Así que le mostré cómo nuestro registro de requisitos alimenta a Trac, cómo se integra Trac con svn, cómo Hudson construye e implementa automáticamente todo y el tipo enumeró la gestión de la configuración como un riesgo de proyecto.
Henry
12

Configuration Management abarca "todo lo demás" que no está directamente relacionado con la escritura de código. Entonces, es cómo administra las versiones, cómo administra y clasifica los informes de errores y las sugerencias de características, cómo realiza sus compilaciones, etc. A menudo también incluye cómo se administra su código fuente (por ejemplo, qué control de versión usa, estrategias de ramificación, cómo [posiblemente] administra múltiples "versiones" concurrentes, etc.).

Dean Harding
fuente
2

La gestión de la configuración ha significado muchas cosas con el tiempo. Considero que es más importante para los administradores u operaciones que directamente para los desarrolladores. Cuando eres una persona de operaciones que intenta mantener los servidores en funcionamiento, te preocupas por configurar máquinas, administrar su configuración y mantenerla en funcionamiento. Si solo inicia sesión en una computadora y comienza a instalar el software, y al cambiar los archivos de configuración en una máquina, no está administrando esa configuración. ¿Qué pasa si esa máquina muere? ¿Qué sucede si alguien va a esa máquina y cambia un archivo de configuración y todo comienza a enloquecer? ¿Qué sucede si necesita iniciar otra máquina configurada exactamente como la que se está ejecutando? ¿Puedes hacerlo?

Sin una estrategia de gestión de la configuración no se puede. Y por eso es importante. Se trata de repetibilidad. Los desarrolladores abordan la repetibilidad de manera diferente que las personas de operaciones, por lo que nos preocupamos por repetir cosas diferentes.

Hay algunas excelentes herramientas de código abierto que lo ayudan a hacer esto: Chef, Capistrano, Cook e incluso SVN. ¿Por qué los desarrolladores solo deben usar SVN? Revise sus archivos de configuración, los scripts que usa para configurar máquinas y realice un seguimiento de sus versiones. Esas partes de su organización son vitales para mantenerla en funcionamiento. No quieres perder esos.

chubbsondubs
fuente