Gestión de la Configuración del Software: Mejores Prácticas y Beneficios

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,82 KB

Definición

La Gestión de la Configuración del Software (SCM) es una disciplina que se ocupa de identificar la configuración de un sistema en puntos discretos en el tiempo. Su propósito es controlar sistemáticamente los cambios a esta configuración y mantener la integridad y trazabilidad de la misma a través del ciclo de vida del sistema.

El Cambio en el Desarrollo de Software

Se entiende por cambio toda alteración de algún componente del negocio que surge como una necesidad interna, una exigencia del mercado, una obligación legal o una innovación tecnológica.

Problemas Asociados al Cambio

  • Problemas de coordinación entre grupos de trabajo.
  • Mala comunicación entre áreas comerciales y operativas.
  • Mala actualización de procesos y documentos.
  • Gran esfuerzo de retrabajo y gran cantidad de errores.
  • Baja productividad personal.
  • Mala calidad frente al cliente.

Origen de los Cambios

  • Nuevos negocios o condiciones comerciales.
  • Nuevas necesidades del cliente que demandan la modificación de los datos, funcionalidades o servicios.
  • Restricciones presupuestarias o de planificación que provocan la redefinición del sistema o producto.

Claves para Gestionar el Cambio

Para convivir con el cambio es necesario:

  • Conocerlo
  • Controlarlo
  • Administrarlo
  • Medirlo
  • Identificar los componentes del negocio
  • Facilitar el trabajo por versiones

Particularidades del Cambio

Para entender el cambio, es fundamental conocer sus particularidades:

  • Un cambio impacta en más de un componente del negocio.
  • Un cambio trivial se puede expandir en forma descontrolada.
  • Un cambio puede tener relación con otros cambios.
  • Un cambio mal aplicado puede afectar productos no involucrados en su implementación.

Documentación de la Necesidad de Cambio

El documento de necesidad debe poseer:

  • Objetivo del requerimiento
  • Área productora
  • Producto/s afectado/s
  • Detalle del cambio a realizar
  • Beneficios esperados por el cambio
  • Tiempo de liberación al mercado

Propósito de la Gestión de la Configuración del Software (SCM)

El propósito de la función de SCM es mantener el seguimiento y la integridad de los activos del proyecto durante su evolución en el proceso de desarrollo de software. También se ocupa de organizar el trabajo de forma tal que los desarrolladores individuales del equipo no estén constantemente pisándose entre ellos.

Problemas que Resuelve la SCM

  • Software perdido: Evita la pérdida de código con un control de versiones adecuado.
  • Enlaces desaparecidos: Asegura que los componentes necesarios estén disponibles.
  • Sobrescritura de código: Previene que los desarrolladores sobrescriban el trabajo de otros.
  • Falta de botón "deshacer": Permite volver a versiones anteriores del código.
  • Incertidumbre sobre la versión del cliente: Facilita la identificación de la versión que tiene cada cliente y a cuál corresponde un bug.

Problemas Típicos sin SCM

  • Doble mantenimiento: Múltiples copias idénticas o semejantes de piezas de software.
  • Mantenimiento simultáneo: Dos programadores trabajando simultáneamente en la misma pieza de software.
  • Código compartido: Modificaciones en una pieza de código compartida sin notificación a los responsables de otros componentes.

Problemas del Desarrollo de Software sin SCM

  • La versión actual del código se sobrescribe por una anterior.
  • Una actualización crítica se descarta de la versión final.
  • Se hacen cambios a una versión incorrecta del código.
  • Reaparecen errores ya corregidos.
  • No se logra determinar qué versiones van en una entrega.

Aspectos que Contempla la SCM

  • Gestión de versiones
  • Gestión de cambios
  • Métricas

Importancia de la SCM

  • Mejora la productividad.
  • Costos de mantenimiento más bajos.
  • Reducción de defectos.
  • Independencia de personas.

Beneficios del Conocimiento a través de la SCM

La SCM es una actividad de garantía de calidad del software que se aplica en todas las fases del proceso de ingeniería del software. Permite conocer:

  • ¿Quién hizo los cambios?
  • ¿Qué cambios se hicieron al software?
  • ¿Cuándo se hicieron los cambios?
  • ¿Por qué se hicieron los cambios?

Entradas relacionadas: