Preconditions
In order to use this report, it assumes that you have already some requirements in your SpiraPlan product:
It also assumes you have some risks in your SpiraPlan product:
and finally, that you have mapped some of these requirements to risks (and vice-versa):
Creating the Custom Report
With the necessary data in place, simply create a new custom report, choosing the following options:
- Name: Requirements - Risk Traceability Matrix
- Category: Requirements
- Format(s):
- HTML
- Excel (printable)
- Word (current)
- PDF
Then add a custom section to this report, with the following query and template:
Report Query
(select RQ.REQUIREMENT_ID, RQ.NAME as REQUIREMENT_NAME, RK.RISK_ID, RK.NAME as RISK_NAME, RK.RISK_IMPACT_NAME, RK.RISK_PROBABILITY_NAME, RK.RISK_EXPOSURE
from SpiraTestEntities.R_Requirements as RQ
left join SpiraTestEntities.R_ArtifactAssociations as AA on RQ.REQUIREMENT_ID = AA.SOURCE_ARTIFACT_ID and AA.SOURCE_ARTIFACT_TYPE_ID = 1
left join SpiraTestEntities.R_Risks as RK on AA.DEST_ARTIFACT_ID = RK.RISK_ID and AA.DEST_ARTIFACT_TYPE_ID = 14
where RQ.PROJECT_ID = ${ProjectId}
and RQ.IS_DELETED = false)
union
(select RQ.REQUIREMENT_ID, RQ.NAME as REQUIREMENT_NAME, RK.RISK_ID, RK.NAME as RISK_NAME, RK.RISK_IMPACT_NAME, RK.RISK_PROBABILITY_NAME, RK.RISK_EXPOSURE
from SpiraTestEntities.R_Requirements as RQ
left join SpiraTestEntities.R_ArtifactAssociations as AA on RQ.REQUIREMENT_ID = AA.DEST_ARTIFACT_ID and AA.DEST_ARTIFACT_TYPE_ID = 1
left join SpiraTestEntities.R_Risks as RK on AA.SOURCE_ARTIFACT_ID = RK.RISK_ID and AA.SOURCE_ARTIFACT_TYPE_ID = 14
where RQ.PROJECT_ID = ${ProjectId}
and RQ.IS_DELETED = false)
Report Template
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:template match="/RESULTS">
<table class="DataGrid"><tr><th>Requirement ID</th><th>Requirement Name</th><th>Risk ID</th><th>Risk Name</th><th>Risk Impact</th><th>Risk Probability</th><th>Risk Exposure</th></tr>
<xsl:for-each select="ROW">
<tr><td>RQ:<xsl:value-of select="REQUIREMENT_ID"/></td><td><xsl:value-of select="REQUIREMENT_NAME"/></td><td>RK:<xsl:value-of select="RISK_ID"/></td><td><xsl:value-of select="RISK_NAME"/></td><td><xsl:value-of select="RISK_IMPACT_NAME"/></td><td><xsl:value-of select="RISK_PROBABILITY_NAME"/></td><td><xsl:value-of select="RISK_EXPOSURE"/></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
Click Save on the popup, and Save on the main report page. The report is now ready to use.
Running the Report
Now that you have created the report, go to the main Reports tab and choose to run the report in one of the supported formats. You will now see the following:
Requirement ID | Requirement Name | Risk ID | Risk Name | Risk Impact | Risk Probability | Risk Exposure |
---|
RQ:1 | Functional System Requirements | RK: | | | | |
RQ:2 | Online Library Management System | RK: | | | | |
RQ:3 | Book Management | RK: | | | | |
RQ:4 | Ability to add new books to the system | RK: | | | | |
RQ:4 | Ability to add new books to the system | RK:4 | The book pages may not be easy enough to use | Marginal | Possible | 6 |
RQ:4 | Ability to add new books to the system | RK:6 | The client team may not be ready for UAT | Critical | Rare | 3 |
RQ:5 | Ability to edit existing books in the system | RK: | | | | |
RQ:5 | Ability to edit existing books in the system | RK:1 | The v1.1 release may not be ready in time | Critical | Certain | 15 |
RQ:5 | Ability to edit existing books in the system | RK:5 | The software licenses may be too expensive | Marginal | Unlikely | 4 |
RQ:6 | Ability to delete existing books in the system | RK: | | | | |
RQ:7 | Ability to associate books with different subjects | RK: | | | | |
RQ:8 | Ability to associate books with different authors | RK: | | | | |
RQ:8 | Ability to associate books with different authors | RK:3 | The database may not support the volume | Critical | Unlikely | 6 |
RQ:9 | Ability to associate books with different editions | RK: | | | | |
RQ:9 | Ability to associate books with different editions | RK:3 | The database may not support the volume | Critical | Unlikely | 6 |
which will render something like: