A best practice in product development is the adoption of a requirements-driven approach: all features of the product, as well as aspects of its development, should be directly or indirectly related to requirements. This concept is known as traceability. A related concept is coverage: high-level requirements should be covered by lower-level requirements and these in turn covered by other types of items such as test cases. For example, customer features can be broken down into functional requirements, which in turn can be related to test cases (represented as issues in Jira). We expect all customer features to be traceable to functional requirements and these in turn to be traceable to test cases. In this way we establish traceability and we ensure adequate coverage in our product development.
A basic form of traceability can be achieved in Jira with links: for example, each customer feature is linked to one or more functional requirements, and each functional requirement is linked to one or more test cases. However, Jira’s support for linking is insufficient for the complex hierarchical structures that characterize requirements-driven projects. A number of problems stand out:
Jira only displays direct links. You can open a customer feature and see in the links section that it is directly related to a number of functional requirements. But to find out the indirectly related test cases, you have to open each functional requirement in turn and follow its links.
Jira links are only shown for one issue at a time. Jira has no way to display the link relations between multiple requirements at once. For example, you cannot see at a glance which functional requirements are related to which customer features. There is also no convenient way to determine the degree of coverage - for example, to determine whether some customer features are missing functional requirements or test cases.
The only way to maintain links in Jira is to open individual requirements and use the links section to create or delete links. This procedure is unfeasible for complex hierarchical structures, where you want to look at a number of requirements at once and create the appropriate link relations immediately.