Gestión de configuración

Gestión de configuración
Información sobre la plantilla
Software-update.jpg
Concepto:Es el proceso de identificar y definir los elementos en el sistema, controlando el cambio de estos elementos a lo largo de su ciclo de vida, registrando y reportando el estado de los elementos y las solicitudes de cambio, y verificando que los elementos estén completos y que sean los correctos.

Gestión de configuración. A lo largo del ciclo de vida del proceso de desarrollo del software, se realizan una serie de cambios, algunos inevitables, a medida que el producto evoluciona. Estos cambios se reflejan en la captura de requisitos, código, documentación, nuevas necesidades de los clientes, reducciones presupuestarias de planificación, lo que hace necesaria una actividad que logre gestionar los cambios y registrarlos para lograr calidad en el producto final.

Características

La gestión de configuración como parte de las actividades de garantía de calidad está presente en todo el ciclo de vida del software. La gestión de configuración permite identificar y definir los elementos en el sistema, controlando el cambio de estos elementos a lo largo del ciclo de vida, registrando y reportando el estado de los elementos y las solicitudes de cambio, verificando que los elementos estén completos y que sean los correctos.

La gestión de configuración del software (GCS) es un conjunto de actividades desarrolladas para gestionar cambios a lo largo del ciclo de vida del software de computadora. Por otro lado, el estándar (ISO/IEC12207, 2005) define el Proceso de Gestión de la Configuración como un proceso de aplicación de procedimientos administrativos y técnicos durante el ciclo de vida del software para: identificar y definir la línea de base de los artículos de software en un sistema; controlar las modificaciones y liberaciones de los artículos; registrar e informar el estado de los artículos y de las solicitudes de modificación; asegurar la integridad, consistencia y corrección de los artículos así como controlar el almacenamiento, manipulación y entrega de los artículos.

En este proceso de gestión de configuración se pueden definir 5 tareas principales:

  1. Identificación.
  2. Control de versiones.
  3. Control de cambios.
  4. Auditorías de configuración.
  5. Informes de estado.

Identificación de Objetos: los objetos se pueden identificar de 2 formas, objetos básicos y objetos compuestos. Un objeto básico es una unidad de texto creado por un ingeniero de software durante el análisis, diseño, codificación o prueba. Un objeto compuesto es una colección de objetos básicos y de otros tipos de objetos compuestos. Cada objeto tiene un conjunto de características que los identifica: nombre, una descripción, lista de recursos o una realización.

La descripción incluye el tipo de elemento de configuración del software (ECS) representado por el objeto, el identificador del proyecto y la información de la versión o cambio. Control de Versiones: el control de versiones combina procedimientos y herramientas para gestionar las versiones de los objetos de configuración creados durante el proceso del software. Para gestionar las versiones se utilizan atributos que pueden ser un número específico de versión asociado a cada objeto o una cadena de variables lógicas que especifiquen tipos de cambios funcionales asociados al sistema. Control de Cambios: en grandes proyecto de ingeniería de software, el cambio descontrolado lleva rápidamente al caos.

Para estos proyectos el control de cambio combina los procedimientos humanos y las herramientas automáticas para proporcionar un mecanismo para el control de cambio. El proceso comienza con una petición de cambio, lleva a una decisión de proseguir o no con el cambio y culmina con una actualización controlada del ECS que se ha de cambiar. Auditorías de Configuración: una auditoría complementa la revisión técnica formal al comprobar características que generalmente no tiene en cuenta la revisión.

Esta se plantea y responde algunas de las siguientes preguntas:

  • ¿Se ha hecho el cambio especificado en la Orden de Cambio de Ingeniería (OCI)?
  • ¿Se han seguido adecuadamente los estándares de ingeniería de software?
  • ¿Se han "recalcado" los cambios en el ECS?
  • ¿Se han especificado la fecha del cambio y el autor?
  • ¿Reflejan los cambios los atributos del objeto de configuración?
  • ¿Se han seguido procedimientos del GCS para señalar el cambio, registrarlo y divulgarlo?
  • ¿Se han actualizado adecuadamente todos los ECS relacionados?

Informe de Estados: la generación de informes de estado de la configuración desempeña un papel vital el desarrollo del proyecto y responde a las preguntas I) ¿Qué pasó? II) ¿Quién lo hizo? III) ¿Cuándo pasó? IV) ¿Qué se vio afectado? proporcionando información sobre cada cambio a aquellos que tienen que estar informados. El control organizado de los cambios es la primicia de la gestión de configuración, auditando, controlando e informando las modificaciones que invariablemente se desarrollan en el ciclo de vida del software.

Mejora de la calidad del software (SQA)

La calidad total o mejora continua de la calidad, es responsabilidad de quienes gestionan la calidad, planifican, controlan, evalúan; quienes a su vez corrigen todo el proceso de desarrollo, de principio a fin, en iteraciones mientras dure el ciclo de vida del proyecto. Entonces se puede afirmar que el proceso de calidad total (PCT) es el proceso de mejora continua de la calidad (PMC), y para que el mismo sea viable se debe cumplir con dos principios fundamentales:

  • Crear las condiciones adecuadas para que todos los empleados adquieran un compromiso continuo con la calidad, empezando por la dirección del proyecto.
  • Crear una estructura que mantenga el proceso y genere la información que los directivos de la empresa requieren para que este forme parte de su gestión diaria.

Ambos preceptos si se adaptan a las particularidades del proyecto o la empresa no constituyen traba alguna, hay que recordar que ningún proyecto es igual a otro en términos funcionales y de entorno por lo que es acertado conformar o guiarse por una metodología especifica que satisfaga en gran medida las necesidades del proyecto.

Siempre prestando atención conforme a directrices como lo son:

  • Preparación y planificación de procesos

Dicha preparación surge cuando la dirección del proyecto adopta el compromiso con la mejora continua de la calidad y convoca o propicia la creación de un equipo de trabajo que analice la situación real por la que se atraviesa e identifique las necesidades, que pueden ser puntuales o derivadas y además de planificación. En la planificación deben verse reflejados: los objetivos que se persiguen, las estrategias a trazar para lograr dichos objetivos, los planes de actuación específicos así como la distribución de los recursos necesarios para su posterior implantación. Los resultados de dicha planificación pueden evaluarse mediante experiencias piloto antes de hacerla extensiva al resto del proyecto.

  • Comprensión hacia los clientes.

Siendo la calidad, conformidad con los requisitos y las necesidades de los clientes, entiéndase por clientes al de carácter tanto interno como externo. Cada tarea es cliente de la anterior y proveedor de la que le sucede por tanto la calidad debe verse orientada a los procesos de manera que el producto sea eso, el resultado de un proceso exitoso, lo que se traduce en una mejor actuación del proyecto o empresa.

  • Compromiso.

El proceso de mejora continua requiere estrategias globales de calidad, de manera que la calidad se integre a la gestión de la empresa y que cada empleado contribuya al proceso. Para ello se hace necesaria una concientización y lograr el compromiso de todos los trabajadores por los que deben ser los directivos los que primero se integren. Se deben definir políticas que persigan el cumplimiento de objetivos específicos y que los mismos sean comunicados al resto del equipo de desarrollo. Mediante una adecuada comunicación, el reconocimiento y la formación es el mejor modo de lograr un compromiso real con la calidad por parte de los involucrados en el proceso de manera general.

  • Estructura

Debido a que la calidad es un proceso global y es resultado del trabajo de todo el equipo, la vía para conseguir la participación de igual manera global, es mediante un estilo de dirección participativa. No quiere decir que se convierta en trabajo de nadie por ser trabajo de todos. Esta estructura debe estar regida por los objetivos estratégicos de la empresa y permitir o viabilizar el trabajo en conjunto por un bien común. Dependiendo claro está de las particularidades de la organización. Una propuesta acertada sería: Director del programa (debe ser parte de la dirección).

Comité de calidad (un grupo de trabajo que enmarque aspectos de calidad y además que tenga cierta autonomía para comprometer recursos según necesidades puntuales). Grupo de trabajo (concientización, formación, seguimiento de indicadores de calidad, acciones correctoras). Las acciones correctoras tienen 2 objetivos fundamentales:

  1. Desarrollar acciones que permitan corregir las causas que impiden conseguir los resultados establecidos.
  2. Utilizar la experiencia adquirida para desarrollar procedimientos que impidan que se repitan causas adversas similares.

Con las acciones correctoras se buscan soluciones persistentes, de forma que no haya que preocuparse por lo mismo más de una vez; estas pueden ser complejas y engorrosas si los problemas no están bien delimitados, por lo que deben ser analizadas y verificada su validez antes de llevarlas a cabo.

Pasos para gestionar la calidad total de los procesos

  • Identificación de los procesos.

Para abordar la atención diferenciada y la mejora de los procesos, primeramente deben estar definidos los niveles de criticidad de los mismos, atendiendo a la correspondencia con las necesidades del cliente, resultado que aporta y a los indicadores de calidad (Eficiencia, Eficacia, Flexibilidad) teniendo estos un impacto significativo tanto para el cliente como para el negocio. Para condicionar una fácil identificación de procesos estos deben ser definidos en cuanto a:

  1. Actividad principal de la organización.
  2. Sistema de gestión de calidad
  • Definición de las interrelaciones internas y externas.

Las relaciones externas vienen enmarcadas por el entorno ajeno a la organización y que influye en sus resultados, a su vez estos mismos resultados tienen impacto en el entorno. Este entorno externo esta constituido por clientes, competidores y proveedores. Por otra parte las relaciones internas establecerán el desglose de los procesos desde los generales, atravesando por los específicos hasta llegar a los unitarios.

  • Documentación de los procesos.

Es necesario documentar los procesos porque: Las salidas tienen mayor consistencia. El conocimiento no depende de las personas. Se ahorra tiempo la “Próxima vez”. Se facilita el traspaso de tareas e identifica puntos débiles en el proceso y finalmente permite realizar promociones y/o rotaciones. Los beneficios que se obtienen a partir de la documentación de los procesos pueden reflejarse en la reducción de los costos por trabajo mal hecho, debido a un mejor conocimiento y comprensión aportado por la documentación. Esto ayuda a los trabajadores e inspectores a clasificar el trabajo a realizar y el rendimiento esperado de sus actividades.

Se torna más fácil el entrenamiento y agiliza la integración de nuevas incorporaciones. Se erradican los “Imprescindibles”, nadie es la única fuente del “Know how”. Se facilita la comunicación o interacción entre todos los involucrados en el proceso (Proveedor-propietario-cliente). Al estar documentados los indicadores, se viabiliza el seguimiento consistente de los procesos. Se garantiza la trazabilidad en el marco global de la gestión de los procesos, a fin de optimizar las actividades transversales de la organización. Todo lo que se traduce en mayor satisfacción del cliente final como resultado de un mejor encadenamiento a través de la organización de los distintos procesos interrelacionados que afecten el producto y el servicio ofrecido.

  • Control de procesos.

El seguimiento y control de los procesos son indispensables para garantizar que los resultados se corresponden con los requerimientos. Para dicho control es necesario definir variables de control de los procesos, establecer registros necesarios que permiten obtener los datos primarios para evaluar las variables de control o la medida de rendimiento de los procesos.

  • Mejora de procesos.

Serie de conceptos y acciones que se inician con el establecimiento de metas y objetivos, la convergencia de los planes en programas concretos y el monitoreo para asegurar el cumplimiento de los objetivos tanto como para la optimización del uso de los recursos. El proceso de mejora continua responde directamente al directivo de mayor jerarquía, como parte de la gestión de la organización, y este a su vez delega de forma que compromete a todo el equipo en tareas de mejoramiento continuo como parte de sus tareas habituales; y designa un grupo para la gestión de mejora (GGM) cuyas funciones principales serían:

  1. Establecer los objetivos estratégicos de la organización y las estrategias de mejoramiento continuo en un horizonte de tiempo determinado.
  2. Analizar la organización para identificar procesos claves y su desglose desde un nivel global a uno más simple de ejecución.
  3. Desplegar las estrategias de mejoramiento hacia aquellos procesos clave donde las mismas se alcanzan, diseñar un Programa Anual de Mejora (PAM)
  4. Definir el sistema de indicadores para medir el desempeño de los procesos.

La ejecución de la mejora continua está a cargo de los equipos de desarrollo que deben aparejar a sus actividades las siguientes:

  1. Ejecutar el PAM diseñado.
  2. Identificar oportunidades de mejora en los procesos que se desarrollan dentro de la organización. v Proyectar las soluciones y documentarlas. (Impacto de la solución, cronograma de tareas, seguimiento etc.)
  3. Implementar las soluciones propuestas una vez aprobadas.
  4. Revisar periódicamente la aplicación de las medidas de mejora.

El mejoramiento de la calidad es parte de la gestión de la calidad, orientada a aumentar la capacidad de cumplir con los requisitos de la calidad. Mejora continua es la actividad recurrente para aumentar la capacidad para cumplir los requisitos. Es el proceso mediante el cual se establecen los objetivos y se identifican oportunidades para la mejora, es un proceso continuo a través del uso de los hallazgos y conclusiones de la auditoría, el análisis de los datos, la revisión por la dirección u otros medios y generalmente conduce a la acción correctiva y preventiva lo que se traduce en un ajuste en la planificación inicial.

La auditoría como uno de las principales actividades en el mejoramiento de la calidad, tiene entre sus objetivos, suministrar una evaluación de los productos y procesos para corroborar la conformidad con los estándares, las guías, las especificaciones y los procedimientos. Las razones para realizar una auditoría son:

  • Establecer el estado del proyecto.
  • Verificar la capacidad de realizar o continuar un trabajo específico.
  • Verificar qué elementos aplicables del programa o Plan de Aseguramiento de la Calidad han sido desarrollados y documentados.
  • Verificar la adherencia de esos elementos con el programa o Plan de Aseguramiento de la Calidad.

La auditoría puede traer como consecuencia la Certificación. Dicho Proceso de Certificación comienza con la emisión de una Solicitud de Certificación y culmina con la Concesión del Certificado. Un sistema de certificación de calidad permite una valoración independiente que debe demostrar que la organización es capaz de desarrollar productos y servicios de calidad. Sin embargo, el proceso de mejora es bastante difícil porque las personas son reacias a intentar cosas nuevas.

Fuentes

  • S.J. Ayer, F.S. Patrinostro, Software Configuration Management: Identification, Accounting, Control, and Management, McGraw-Hill, 1992
  • W. Babich, Software Configuration Management, Addison-Wesley, 1986
  • H.R. Berlack, Software Configuration Management, John Wiley & Sons, 1992
  • R. Pressman, Ingeniería del Software, 3ª edición, McGraw-Hill, 1993
  • European Space Agency, ESA Guide to Software Configuration Management, ESA Software Engineering Standards Issue 2, Febrero 1991.
  • Artículo: Gestión de Configuración del Software. Disponible en: "www.histaintl.com". Consultado: 2 de julio de 2012.