Requirements Traceability [CALC2]
As in “[CALC1] A simple calculator”, we can automatically generate the an overview of the requirements.
The tree view
Lessons learned
We can directly see that specification Big fractional numbers (CALC2_1000ND) influences all existing test-cases.
Each test depends on both a (functional) requirement and a (non-functional) specification (at least in this case).
The requirements-relations can become more complicated, even by adding only one requirement!
Can you imagine what will happen when we add a handful of requirements to the calculator (memory, square-root, powers)? Or, a few more non-functionals (speed-of-operation, floats). Then the complexity quickly raises even for such a simple product. And it becomes hard to predict which tests have to be adapted or rerun.
Likewise, when a few requirements become altered in an upcoming sprint: can you predict which tests will have to change? A graph, as above, will certainly help in working that out.
The table view
ID |
Type |
Title |
Incoming |
Outgoing |
---|---|---|---|---|
demo |
Exact Calculator |
|||
req |
Generic Add |
|||
req |
Generic Sub |
|||
req |
Generic Multiply |
|||
req |
Generic Divide |
|||
spec |
Big fractional numbers |
CALC_TEST_ADD_1; CALC_TEST_ADD_2; CALC_TEST_SUB_1; CALC_TEST_MULT_1; CALC2_TEST_DIV_1 |
||
test |
Basic addition test |
|||
test |
Big addition test |
|||
test |
Subtract test |
|||
test |
Multiplication test |
|||
test |
DIV test (demo2 only) |
Lessons learned
The advantage of a table-view is that is will only grow in one direction: it just becomes a bit longer.
Even for a big project, it’s a great page to bookmark and use as a start-page for all kinds of requirements.
Probably, you like to split it into the kind of ‘need’.
It would be great to show a classical Requirements Traceability matrix (RTM) too. This table shows the relations between all the requirements and all the tests.
Note
As ‘needs’ currently does not support classical RTMs, I can’t generate/show it here. See a manually made
TRM to get the idea. As you will see: it’s easy to read.
However, its quite hard to grasp deep relations; then the tree above is more helpfull.
Next steps
We might add more product-variants, or more sprints to convince you that requirement-traceability is important. The only effect is more pages with (trivial) requirements, specifications or other ‘needs’. And the same to generated overviews; the later cost only a small number of lines, independent of the size of the product. So we will leave that as an exercise.
As a bonus, we will show you one more generated graph: All needs [BigTree], combining the Simple Calculator (CALC1) and Exact Calculator (CALC2) requirements.
Whenever you have more quistions, you can email me Albert.
Comments
comments powered by Disqus