If you want to create links to reference requirements between one and another. When creating your requirements, you will want to reference that requirement to another existing requirement. We’ll see how to create dependencies depending on your structure in this documentation.
You can also take a look at the tutorial for more information:
https://www.youtube.com/watch?v=891Q3OpCiLAHow to create a dependency?
Using tables
When you write your requirements in tables, whether in Horizontal, or Vertical, you will simply have to add the /requirement yogi link
macro to your requirement line.
The name of the relationship is the one you put in the column header.
In the first example below: FN-01
references BR-01
and DIS-REQ-001
with the relationship Refines
.
Horizontal Tables | Vertical Tables |
---|---|
Using paragraphs
When you write requirements is using paragraphs, we will index the paragraph where the requirement is defined in. And the dependencies work the same way as above:
Write your requirement definition and put a
/requirement yogi link
macro in the same paragraph for us to index it as a dependency.By default, the name of the relationship will be
Dependency
but you can customize it with the RY Configuration macro and Paragraph Configuration (see docs).In the example below,
TECHNICAL REQUIREMENT 001
referencesLIDAR 001
, with the relationshipDependency
.
Using Linear Docs
When you write requirements outside of tables, and need a better customization than the paragraphs, we have a feature called Linear Documents.
💡Linear documents create requirement keys for each heading, we index the heading text as the description, and everything that is written in that section will be the property @Content
of the requirement. If you are not familiar with linear docs, we recommend to read the documentation and test the feature: Linear documents: Manage requirements outside of tables .
There are two ways to create dependencies using Linear Documents:
Automatic dependencies: Linear docs index dependencies using the heading hierarchy. H1 titles reference H2 titles, which also reference H3 titles, etc.
In the example below, you can see the heading
4.1.1
references headings4.1.1.2
and4.1.1.1
, and is referenced by heading4.1
.
Usual way: Using the
/requirement yogi link
macro anywhere in your paragraphs, and we’ll index it as a dependency of the last heading.In the example below, you can see the Heading
1.2
referencesMSFC-STF-3716
with the link macro.
Using the parent requirement configuration
When you are writing your specifications, and using a page-per-feature structure, you may define the highest requirement first in the page, and then define all it’s sub requirements in the same page. You may want all those sub-requirement to be references of this higher level requirement, automatically. Using the RY Configuration
macro, and the Parent requirement Configuration
, you can achieve that. See the documentation for the full explanation: https://confluence.intranet.requirementyogi.com/wiki/spaces/RYC/pages/2554036227/Parent+Requirement+Configuration?atlOrigin=eyJpIjoiOTYyYTIwYTI2ODdmNDJkYTkxYWM5MTg0NmVjYzM3ZWEiLCJwIjoiYyJ9.
In the example below, my feature AUTO-BR-01
is the higher level requirement, and all my AUTO-FN
requirements automatically reference the parent with the configuration.
How to trace dependencies?
Search syntax
You can use a specific search syntax to look for requirements with specific dependencies. We have two terms to identify the requirement who references another, and the requirement who is referenced. You can use either TO
/FROM
or PARENT
/CHILD
. Here are a few examples:
Syntax | Will result with |
---|---|
TO = 'REQ-001' | Requirements which reference REQ-001. |
PARENT = ‘REQ-001’ | |
FROM = 'REQ-001' | Requirements which are referenced by REQ-001. |
CHILD = 'REQ-001' | |
FROM ~ 'REQ-%' | Requirements which are referenced by any requirement starting with "REQ-". |
CHILD ~ 'REQ-%' | |
TO@refines = 'REQ-001' | Requirements which reference REQ-001 with the relationship “refines". |
PARENT@refines = 'REQ-001' |
The syntax is a bit more different for Linear Documents, find more information on our search syntax in this documentation page: https://confluence.intranet.requirementyogi.com/wiki/spaces/RYC/pages/1804765458/Search+syntax?atlOrigin=eyJpIjoiNWZkZTUxNjk4MmM0NDhiYTk1ZTI0MDkzZjcwZDhmZjAiLCJwIjoiYyJ9
Traceability Matrix
You can create your matrices and display multiple levels of requirement dependencies in your reports.
Click on the cog menu of your requirement’s column.
Display sub level requirements by clicking on
FROM
, and select the relationship.Display higher level requirements by clicking on
TO
, and select the relationship.It is possible to go several layers deep in the levels of requirements
Dependency graph
When viewing your requirement detail, scroll down and view your requirements in a graphical way to navigate between dependencies.
Higher level requirements are displayed on the left, sub-level requirements on the right, and Jira issues below.
Click on a requirement to see its detail
Click on a relationship name and be redirected to the search to find dependencies with that relationship