Au départ, les analystes enregistraient les exigences séparément, sans toujours penser aux interrelations entre elles. Cela fonctionnait pour des systèmes réduits, mais dans de grands projets informatiques, la complexité des relations entre les exigences augmente de manière exponentielle : des dépendances de données apparaissent, des violations d'intégrité, des contradictions et des changements en cascade augmentent les risques d'échec.
Problème — l'absence ou l'ambiguïté des liens entre les exigences entraîne des blocs fonctionnels manquants, des bugs, des tâches bloquantes et un travail d'équipe incohérent. Un changement dans une exigence peut souvent entraîner un retard dans les exigences liées, ce qui provoque des problèmes dans le fonctionnement du produit.
Solution — utilisation de la pratique de modélisation explicite et de traçabilité des dépendances (requirement dependencies mapping). Pour cela, des diagrammes (par exemple, matrice de traçabilité, ERD), des outils spécialisés (Jama, Jira linking, DOORS), une documentation claire des exigences "parent" et "enfant", ainsi que de leur impact sur les scénarios de test, l'architecture et les récits utilisateurs sont utilisés. Une documentation transparente de toutes les dépendances et une notification des parties prenantes pour chaque changement concernant les exigences liées sont nécessaires.
Caractéristiques clés :
Que se passera-t-il si les dépendances ne sont pas spécifiées dans les exigences ?
Réponse : Il est possible de manquer des liens critiques (par exemple, une exigence ne peut pas être mise en œuvre sans une autre), des blocages apparaîtront, des clients mécontents, une charge supplémentaire sur les tests.
Une seule collecte de la carte des dépendances au départ est-elle suffisante ?
Réponse : Non. La carte des dépendances doit être maintenue à jour tout au long du cycle de vie du projet. Changer une exigence peut affecter toutes celles qui y sont liées.
Les dépendances peuvent-elles être uniquement directes (A dépend de B) ?
Réponse : Non. Dans les systèmes réels, il existe souvent des dépendances croisées, cycliques et transactionnelles, ainsi que des influences à travers des ressources communes ou des intégrations.
Cas négatif : Dans un projet pour le e-commerce, la dépendance entre différents canaux de paiement n'a pas été reflétée. Lorsqu'un module a été modifié, un échec est survenu — certaines commandes n'étaient pas traitées.
Avantages :
Inconvénients :
Cas positif : Pour chaque exigence métier, nous avons enregistré les exigences techniques connexes et établi une matrice de traçabilité. Lors des changements, des notifications automatisées étaient envoyées à toutes les parties prenantes.
Avantages :
Inconvénients :