miércoles, 24 de abril de 2013

Trazabilidad de requisitos

La trazabilidad de requisitos es una herramienta fundamental para la gestión de requisitos. Es elemental para el control y como apoyo para la toma de decisiones en el proyecto. Como no es un entregable o componente del producto, se debe cuidar que su creación y uso sea lo más eficiente posible.

Se define trazabilidad, o en algunos textos rastreabilidad, como la asociación del requisito con otros requisitos y las diferentes instancias con que se relaciona durante la evolución de las diferentes fases del ciclo de desarrollo del producto o servicio. Esa asociación se controla en ambos sentidos, de los requisitos a los resultados y viceversa. La intención principal es poder determinar si todos los requisitos base han sido considerados y si las instancias que han sido generadas pueden asociarse con un requisito válido.


Trazabilidad de requisitos en CMMI
En el modelo CMMI es una de las prácticas específicas del área de proceso de Gestión de requisitos (REQM). Es necesaria, fundamentalmente, para evaluar el impacto del cambio de los requisitos en las actividades y productos de trabajo del proyecto. Permite mostrar las relaciones e interdependencias entre los requisitos, proporcionar visibilidad a la gerencia sobre el avance en el desarrollo de los entregables y el cumplimiento de los requisitos, demostrar la satisfacción de los requisitos con los componentes y pruebas y es de gran ayuda para los que realicen mantenimientos y actualizaciones posteriores.

En la creación de la trazabilidad es importante considerar el alcance de aplicación de la traza, los elementos y relaciones que se deben considerar y la forma en que se llevara la trazabilidad. Normalmente se piensa en la traza vertical hacia las instancias que se van creando a partir de los requisitos iniciales, pero en ciertos contextos es importante conocer la traza hacía componentes del mismo nivel en forma horizontal, como son las interfaces.

Consideraciones en la trazabilidad de requisitos
Los requisitos están relacionados entre si. Es importante identificar y establecer el nivel de detalle que se requiere hacia los diferentes casos de uso, reglas de negocio, funcionalidades, características y atributos de calidad. Se deben seleccionar aquellas asociaciones que son de interés para el análisis, que en caso de cambios permitan identificar fácilmente los elementos que se afectan. Hay que tomar en cuenta que la trazabilidad de requisitos es un elemento de control, no es la definición en sí de los requisitos que se puede establecer o documentar de manera independiente.

Los requisitos se asocian con los entregables que son desarrollados como componentes de diseño, archivos de código, casos de prueba, manuales de usuario, procedimientos y componentes del producto. Se deben considerar aquellos elementos de interés para el diseño y las pruebas que permitan confirmar que los requisitos han sido adecuadamente cubiertos. En particular, es de especial apoyo para los equipos que posteriormente deban realizar el mantenimiento del producto y puedan identificar fácilmente los componentes de diseño, código o pruebas que se afectan por el cambio de requisito.

Existen diferentes herramientas especializadas que facilitan la definición y control de la trazabilidad de los requisitos, aunque no necesariamente se requiere una herramienta sofisticada para esta actividad. La herramienta en sí no hace nada. Los que utilizan la herramienta, y que estén familiarizados con la misma, son los que pueden llevar esa traza . Para ello se requiere capacitación y práctica para lograr el resultado de manera efectiva. Normalmente existe una persona responsable de estudiar y utilizar la herramienta para gestionar los requisitos en el proyecto.

La trazabilidad es un apoyo para la evolución del producto y permite controlar el flujo de requisitos hasta la conclusión del desarrollo. La profundidad y el detalle de su aplicación depende de cada situación, lo que es importante y no debe olvidarse es que para ser útil debe estar actualizada y reflejar la realidad del proyecto en tiempo.