Políticas de gestión de la configuración del cronograma del proyecto

Rodrigo Ricardo Publicado el 10 noviembre, 2020 6 minutos y 13 segundos de lectura

Gestión de la configuración

Bill es el ingeniero de sistemas de una empresa de fabricación marina y es responsable del mantenimiento y la supervisión de todos los sistemas de aplicaciones de software y las herramientas de gestión instaladas en las embarcaciones. Su responsabilidad también incluye la gestión de la configuración , lo que significa que tiene que establecer procesos para garantizar la consistencia y el rendimiento de los productos, analizar los requisitos físicos y funcionales y supervisar el diseño y las operaciones del producto a lo largo de su ciclo de vida. Actualmente, Bill está trabajando en un proyecto que requiere que administre la configuración de la aplicación de navegación del software de los barcos.

Propósito de la gestión de configuración de software (SCM)

A través del proceso de SCM , el objetivo de Bill es garantizar que se mantenga la integridad de la aplicación y que cualquier cambio en las configuraciones del software se pueda rastrear a lo largo de su ciclo de vida de principio a fin. Bill explicó a su equipo de expertos que SCM es diferente del soporte: el soporte se trata de actividades que suceden después de que la versión final del software se pone en funcionamiento, mientras que SCM incluye todo el ciclo de vida del software, incluido el seguimiento de los cambios realizados en el software a través de la versión. cambios.

Cambio de control

Se escribe y ejecuta una aplicación de software para un propósito específico, en este caso es para el sistema de navegación del barco, algunas de sus funciones incluyen calcular la posición geográfica del barco y proporcionar direcciones. El requisito de producto para el software puede cambiar debido a varias razones:

  • Para igualar la funcionalidad ofrecida por los competidores: en este caso Bill se enteró de que uno de los proveedores competidores estaba ofreciendo una funcionalidad que ayudaría a calcular la velocidad del barco, que es la dirección y la velocidad del movimiento.
  • Los clientes exigen mejoras: el capitán del barco había solicitado una función para incluir la hora estimada de llegada, que la versión actual de la aplicación no proporcionaba

Sin embargo, antes de implementar los cambios, Bill tenía que asegurarse de que no hubiera restricciones presupuestarias que pudieran demorar la revisión de la aplicación, o cualquier cambio organizacional que pudiera verse afectado por cambios en el diseño de la aplicación. Bill necesitaría implementar un proceso de control de cambios en el que todos los cambios estén debidamente documentados, no se interrumpa ningún servicio y todos los recursos disponibles se utilicen de manera eficaz.

Línea de base de configuración

Una línea de base es un conjunto de especificaciones que se han revisado y aceptado según sea necesario para la funcionalidad básica del software. No se recomiendan cambios en la línea de base de configuración y, de ser necesario, requerirían procedimientos de control de cambios formalizados. El conjunto de especificaciones definidas en la línea de base ayuda a Bill a determinar puntos de partida de las funciones básicas y también ayuda a controlar nuevos cambios sin afectar negativamente la implementación de nuevos cambios.

Bill comentó con este equipo que una función importante de la línea de base es registrar los métodos y funciones aprobados que están presentes cuando el sistema es estable, y asegurar que se logre un estado consistente y estable a través de futuras revisiones del software.

Medir el desempeño y monitorear los cambios

Con el fin de administrar correctamente la gestión de la configuración del software para el software de navegación, incluida la medición del rendimiento y el seguimiento de los cambios , Bill educó a su equipo sobre algunas de las políticas que deberían implementarse.

SCM para mejorar el rendimiento del software
SCM para un rendimiento mejorado
  1. Gestión de versiones: la gestión de versiones era fundamental, explicó Bill, para mantener un historial de los cambios realizados en cada iteración o revisión del software. Esto ayudaría a los ingenieros y miembros del equipo de software a comparar archivos, identificar cambios y el motivo de los cambios en la aplicación y las diferencias de rendimiento entre las diferentes versiones del software y también ayudaría a identificar qué versión está actualmente en uso y en desarrollo.
  2. Repositorio: Bill también enfatizó la necesidad de un repositorio centralizado para almacenar datos de la implementación actual del software, así como de versiones futuras. Al revisar los datos históricos, Bill encontró un ejemplo de un cambio de formato en el que hace unos cinco años, solo se guardaban los dos últimos dígitos del año, y la versión actual del software guarda el año como cuatro dígitos. El formato del año anterior debe traducirse correctamente; por ejemplo, debe etiquetarse como 1910 o 2010. Un repositorio histórico ayudaría a monitorear los cambios en los datos a través de las distintas versiones de la aplicación.
  3. Modelado: Bill y su equipo también reconocieron que deberían existir procedimientos en los que se puedan modelar futuras versiones de software antes de la implementación real. Esto significaría crear prototipos o versiones incompletas del software para que los nuevos componentes puedan visualizarse antes del desarrollo real. El modelado ayudaría a probar el rendimiento del producto futuro frente al producto actual y realizar las mejoras necesarias para que la próxima versión proporcione un rendimiento mejorado.
  4. Pruebas de rendimiento: como parte del proceso de control de cambios, Bill recomendó que las pruebas de rendimiento fueran un componente crítico del proceso de implementación para determinar cuál es el tiempo de respuesta, la confiabilidad y la escalabilidad de la nueva versión, en comparación con la línea de base y la versión de trabajo actual. .

Resumen de la lección

La gestión de la configuración del software , o SCM, es una función de soporte técnico para garantizar que se controlen los cambios realizados en el software de la aplicación. SCM ayuda a garantizar que se mantenga la integridad de la aplicación y que cualquier cambio en las configuraciones del software se pueda rastrear a lo largo del ciclo de vida de la aplicación. SCM exige un proceso de control de cambios bien gestionado en el que todos los cambios estén debidamente documentados, ningún servicio se interrumpa y todos los recursos disponibles se utilicen de forma eficaz.

Un componente importante de SCM es determinar la configuración de línea de base para que todas las revisiones futuras puedan compararse con la línea de base para monitorear cambios y medir el desempeño . Algunas de las políticas para una SCM eficaz incluyen la gestión de versiones para mantener un registro histórico de las revisiones realizadas, un repositorio para almacenar datos a través de las iteraciones del software, modelado para visualizar el producto final antes del desarrollo y pruebas de rendimiento para probar la nueva versión. con la versión actual para medir diferentes aspectos del desempeño.

Explora más sobre este tema

Selecciona un tema y sigue aprendiendo...

Rodrigo Ricardo
Rodrigo Ricardo Editor y fundador