Comparison tables involve listing stories and then comparing the components or factors relevant to each story. Generally speaking a comparison table is created as follow:
- Stories are listed as either column headings or row headings; and
- Story components or characteristics are listed for each story.
Typical comparison tables include:
- The “things that matter” table; and
- The “non-functional requirements” table.
Things that matter table
The “Things That Matter” (TTM) matrix is a simple tool for understanding a story. The components of a system that be involved in a story are shown on the left of the matrix and stories are listed on the top, as shown in the table below:
In this case, I have shown 4 possible connections between a story and a component (not counting the possibility of “no relationship”):
|Component||Story 1||Story 2||Story 3||Story 4|
- L means that there will be some work on that component but it will not be complex;
- M means that there will be a moderate level of work involved;
- H means a high level of work and complexity; and
- I Means no direct work but this component is indirectly impacted and may need testing of collaboration with the team building that component.
This comparison table might be used to clarify which systems are involved to assist the team in defining which tasks each team member must do, or it might be used to generate acceptance tests.
Non-functional requirements comparison table
A similar approach to the “things that matter table” is to list the non-functional or qualities that are important in a system. In the table below I have taken the quality definitions from ISO 9126, which is an international standard for defining software quality:
|Quality||Story 1||Story 2||Story 3||Guide or standard|
|Usability||Mary’s usability guide|
|Portability||L||H||Supported browser list|
I have rated the importance and complexity of the non-functional requirement as high, medium or low. However you might choose to include specific targets, constraints or statements in the table.
The non-functional comparison table might be used to generate acceptance tests or to assist the team in the overall conversation about each story.
Using comparison tables
Comparison tables are used to generate a conversation about each story and to give the team some assurance that they are not missing important elements of the story they are discussing.