Aanvankelijk documenteerden analisten vereisten afzonderlijk, zonder altijd rekening te houden met de onderlinge relaties. Dit werkte voor kleine systemen, maar in grote IT-projecten neemt de complexiteit van de relaties tussen vereisten snel toe: gegevensafhankelijkheden, integriteitsproblemen, tegenstrijdigheden en cascadewijzigingen ontstaan, wat de risico's van storingen verhoogt.
Probleem — Het ontbreken of onduidelijkheid van verbindingen tussen vereisten leidt tot gemiste functionele blokken, bugs, blokkades en inconsistente samenwerking van teams. Vaak verandert één vereiste, terwijl gerelateerde vereisten achterblijven, wat problemen in het product oplevert.
Oplossing — Het gebruik van expliciete modellering en traceerbaarheid van afhankelijkheden (requirement dependencies mapping). Hiervoor worden diagrammen gebruikt (zoals traceability matrix, ERD), gespecialiseerde tools (Jama, Jira linking, DOORS), duidelijke documentatie van "ouder" en "kind" vereisten, evenals hun impact op testscenario's, architectuur en gebruikersverhalen. Transparante documentatie van alle afhankelijkheden en communicatie met belanghebbenden over iedere wijziging met betrekking tot gerelateerde vereisten is noodzakelijk.
Belangrijke kenmerken:
Wat gebeurt er als afhankelijkheden niet in de vereisten worden vermeld?
Antwoord: Kritische verbindingen kunnen worden gemist (bijvoorbeeld, één vereiste kan niet worden geïmplementeerd zonder een andere), er zullen blokkades ontstaan, klantontevredenheid, en er zal extra druk op de tests komen.
Is het voldoende om de afhankelijkheidskaart één keer aan het begin te verzamelen?
Antwoord: Nee. De afhankelijkheidskaart moet gedurende de hele levenscyclus van het project actueel worden gehouden. Wijzigingen aan elke vereiste kunnen invloed hebben op alle gerelateerde vereisten.
Kunnen afhankelijkheden alleen direct zijn (A is afhankelijk van B)?
Antwoord: Nee. In echte systemen zijn er vaak kruislinks, cyclische en transactionele afhankelijkheden, evenals invloeden via gedeelde middelen of integraties.
Negatieve case: In een e-commerce project was de afhankelijkheid tussen verschillende betalingskanalen niet weergeven. Bij het wijzigen van één module ontstond er een storing – een deel van de bestellingen werd niet verwerkt.
Voordelen:
Nadelen:
Positieve case: Voor elke zakelijke vereiste werden de gerelateerde technische vereisten vastgelegd en werd een traceerbaarheid matrix samengesteld. Bij wijzigingen werden automatisch meldingen naar alle belanghebbenden verzonden.
Voordelen:
Nadelen: