La administración de requerimientos es un proceso que tiene por objetivo comprender y controlar los requerimientos. Como todo proceso de administración, inicia con la planeación a la par de la identificación inicial de requerimientos. Este proceso tiene diferentes formas que dependen del proceso de desarrollo de software que se esté empleando, independientemente de esto se deben considerar las siguientes etapas:

Etapas:

  1. Requerimientos duraderos y volátiles.
  2. Planeación de la administración de requerimientos.
  3. Administración del cambio de los requerimientos.

Durante esta etapa, para cada proyecto, es necesario establecer el nivel de detalle. Se tiene que decidir sobre:

  • La identificación de los requerimientos.
  • Un proceso de administración del cambio.
  • Políticas de rastreo.
  • Ayuda de herramientas CASE.

La administración de requerimientos necesita de ayuda automática para:

  • Almacenar requerimientos.
  • Administrar los cambios.
  • Administrar el rastreo.

Una de las principales causas para el fracaso de un proyecto de software es la mala (o ausencia de) administración de requerimientos. Los principales problemas que se derivan de un mal manejo de requerimientos son:

  • Incapacidad para manejar los cambios en los requerimientos durante el desarrollo.
  • Falta de especificación detallada de los requerimientos.
  • Mala organización y control de requerimientos.
  • Requerimientos mal entendidos.

La administración de requerimientos comprende las actividades relacionadas con la definición, clasificación, asignación, seguimiento y control de los requerimientos durante todo el ciclo de vida de desarrollo de software. Es indispensable para asegurar la calidad de los productos, así como para llevar control y seguimiento de los proyectos.

Gestión de los requisitos

La gestión de requisitos es el conjunto de actividades que ayudan al equipo de trabajo a identificar, controlar y seguir los requisitos y sus cambios en cualquier momento. Es decir, la gestión de requisitos consiste en gestionar los cambios de los requisitos, las relaciones entre ellos, las dependencias entre la especificación de requisitos y otros documentos producidos por el proceso de desarrollo de software. De esta forma se asegura la consistencia entre los requisitos y el sistema construido.

Por lo tanto, los objetivos principales del proceso de gestión de requisitos serán:

  • Gestionar la recogida de requisitos
  • Obtener la aprobación de los participantes del proyecto
  • Gestionar los cambios (trazabilidad)

La gestión de requisitos es un proceso que se desarrolla a lo largo de toda la vida del producto.

Administración de cambios

Los requisitos cambian durante todo el ciclo de vida de desarrollo del producto como se vio en apartados anteriores. Los cambios deben controlarse y documentarse, es decir, hay que convivir con ellos y por ello la gestión de cambios es esencial para tratar dichos cambios.

Cuando, durante el proyecto y una vez aceptada la línea base de requisitos, se solicita un cambio sobre esta línea base, estos cambios no se pueden aceptar sin más ya que podrían afectar al desarrollo de todo el sistema, o alguna parte esencial del mismo.

El siguiente gráfico muestra el proceso de gestión de cambios con las actividades a llevar a cabo durante el desarrollo del mismo:

Grafico 1

En definitiva, podríamos destacar tres importantes actividades dentro del proceso de gestión de cambios:

Evaluar el impacto

La primera tarea a realizar tras recibir una petición de cambio es valorar el impacto del mismo. Para ello se deberá ir recorriendo todo el árbol de requisitos viendo como les afecta el cambio, y aquí es donde entra la trazabilidad de los requisitos.

Aceptación del cambio

Una vez analizado el impacto del cambio, se debe tomar una decisión. Si se acepta el cambio, tras negociarlo con el cliente, se continuará con la actividad de implementar el cambio. En caso contrario, se deberá negociar con el cliente el siguiente paso a realizar.

Implementación del cambio

Si se ha aceptado el cambio, hay que reflejar ese cambio en todos los productos que resulten afectados por dicho cambio (si el cambio es mínimo algunos productos como el plan del proyecto, puede que no sea necesario modificar). Además se deberá generar un nuevo punto de partida (línea base) de requisitos.

Trazabilidad

Un concepto clave en el proceso de gestión de cambios es la Trazabilidad. Los requisitos deben ser trazables, es decir, “rastreables”. Se podría decir que un requisito es trazable si se pueden identificar todas las partes del producto existente relacionadas con ese requisito. Todos los requisitos deberían ser trazables para mantener consistencia entre los distintos documentos de un proyecto.

Es importante conocer aspectos de los requisitos tales como:

  • Su origen (Quién los propuso)
  • Necesidad (Por qué existe)
  • Relación con otros requisitos (Dependencias)
  • Relación con otros elementos (Dependencias)

El uso de matrices de trazabilidad es una buena técnica para llevar a cabo esta actividad de forma eficiente. A continuación se propone una posible matriz de trazabilidad:

Grafico 2

En la matriz se irán registrando los requisitos de negocio. Por cada requisito de negocio se identificarán los requisitos de usuario correspondientes. De cada requisito de usuario se identificarán cuáles son los requisitos de sistema asociados a cada uno de ellos…. Y así sucesivamente se irá rellenando toda la matriz de requisitos.

La siguiente matriz se utiliza para relacionar requisitos. Es una matriz de dependencias:

Grafico 3

En este caso los Requisitos (A) representan los requisitos que originan las dependencias y los Requisitos (B) serían los requisitos que dependen de otros requisitos, de los Requisitos (A). Vamos a poner un ejemplo para verlo más claro.

Por ejemplo, se puede ver como los requisitos 1,3 y 7 dependen del requisito 5, o que el requisito 3, además de depender del requisito 5 también depende del requisito 6. De esta forma se puede ver de qué manera se relacionan los requisitos, para analizar mejor el impacto de los cambios.

Beneficios de una correcta Administración de Requerimientos

Una correcta administración se lleva a cabo mediante la especificación de Requerimientos de Software (ERS), lo cual trae beneficios durante las siguientes fases del ciclo de vida de sistema. La ERS documenta el conjunto completo de capacidades del sistema y provee de los siguientes beneficios:

  1. Asegura al cliente que el desarrollador entiende sus necesidades y que está respondiendo a ellas.
  2. Una oportunidad para una retroalimentación entre el cliente y el proveedor.
  3. Un método para que el cliente y proveedor o desarrollador puedan identificar tempranamente problemas y malentendidos mientras los costos de corregirlos son relativamente bajos.
  4. Una base para la calificación y calidad del sistema para establecer que este cumple con las necesidades del cliente.
  5. Protección para el proveedor, dando una línea base para las capacidades del sistema y una base que determine cuando la construcción del sistema está completa.
  6. Soporte para el desarrollador en la planificación, diseño y desarrollo del programa.
  7. Ayuda en la evaluación de los efectos de los cambios en los requerimientos.
  8. Incrementa la protección en contra de malentendidos entre el cliente y el proveedor mientras se desarrolle el software.

Leave a comment