Inicialmente, los analistas registraban los requisitos por separado, sin pensar siempre en las interrelaciones entre ellos. Esto funcionaba para sistemas pequeños, pero en grandes proyectos de TI, la complejidad de las relaciones entre requisitos aumenta drásticamente: surgen dependencias de datos, violaciones de integridad, contradicciones y cambios en cascada, que aumentan los riesgos de fallos.
Problema: La ausencia o la falta de claridad en las relaciones entre los requisitos conduce a bloques funcionales omitidos, errores, tareas bloqueadas y trabajo descoordinado de equipos. A menudo se modifica un requisito, mientras que los relacionados se quedan atrás, lo que causa problemas en el funcionamiento del producto.
Solución: Utilizar la práctica de modelado explícito y mapeo de dependencias (requirement dependencies mapping). Para esto se utilizan diagramas (por ejemplo, matriz de trazabilidad, ERD), herramientas especializadas (Jama, vinculación Jira, DOORS), un registro claro de los requisitos "padres" y "hijos", así como su influencia en los escenarios de prueba, arquitectura e historias de usuario. Es necesario documentar todas las dependencias de manera transparente y notificar a las partes interesadas sobre cada cambio relacionado con los requisitos asociados.
Características clave:
¿Qué sucederá si no se indican las dependencias en los requisitos?
Respuesta: Se pueden omitir relaciones críticas (por ejemplo, un requisito no se puede implementar sin otro), surgirán bloqueadores, descontento de los clientes y una carga adicional en las pruebas.
¿Es suficiente recopilar el mapa de dependencias una vez al inicio?
Respuesta: No. El mapa de dependencias debe mantenerse actualizado a lo largo de todo el ciclo de vida del proyecto. Cualquier cambio en un requisito puede afectar a todos los relacionados con él.
¿Pueden las dependencias ser solo directas (A depende de B)?
Respuesta: No. En sistemas reales, a menudo existen dependencias cruzadas, cíclicas y transaccionales, así como influencias a través de recursos compartidos o integraciones.
Caso negativo: En un proyecto de comercio electrónico, no se reflejó la dependencia entre los diferentes canales de pago. Al cambiar un módulo, surgió un fallo: parte de los pedidos no se procesaban.
Pros:
Contras:
Caso positivo: Para cada requisito empresarial, se registraron los requisitos técnicos relacionados y se creó una matriz de trazabilidad. Con los cambios, se enviaron automáticamente notificaciones a todas las partes interesadas.
Pros:
Contras: