Writing specifications can include making cost estimations or approving test results. Adding data about requirements on the original page can make the page really heavy and hard to read. Constantly editing those data can also disrupt the viewers. That's why we have created external properties.
Requirement Yogi allows you to add, edit and track requirement data without disturbing the viewers or the author of the original page. External properties are not visible on the original page but you can see them in the traceability matrix or when you click on the requirement popup. External properties are also exportable to Excel with the traceability matrix.
External Properties have types:
- Decimal (eg: 54.4)
- Integer (eg: 5)
- Boolean: True/False
Decimal and Integer types allow the creation of aggregations in the traceability matrix: sum, min, max, count, and average.
Examples of use cases:
Estimate the total man hours of a parent requirement.
Create an integer or decimal external property in your space (eg: "Man hours", or "Story points")
Use the traceability matrix to estimate the time investment for each requirement (Filter your traceabilty matrix with the search query: "to = '<ParentRequirementKey>' " to estimate cost of a parent requirement)
Use the edit toggle to quickly assign a cost to each requirement
Use the SUM aggregator to calculate the total time cost.
Track the approval state of a requirement
We currently don't have an Enum type that would only allow a few values, so you will need to make use of the text type, and make sure to have the correct values (Beware capitalization and trailing spaces!). We plan to add this Enum type in the future.
Create a text external property (eg: "Approval State")
Add this property to the relevant requirements you want to track. We suggest having a set of possible values (eg: "Draft", "Ready for review", "Approved") and limit yourself to those.
Use the COUNT aggregator to count the requirements: COUNT([email protected]<PropertyName>, criteria). (Eg: COUNT([email protected]\ State, [email protected]\ State = 'Ready for review") )
Managing External Properties
The external properties administration can be found in the Requirement Yogi configuration panel for space admins.
The creation of a new external property is restricted to Confluence admins.
Regular users with page edit permissions can still add or modify external properties on requirements, but cannot create a new type of external property.
Users without page edit permissions can see the external properties on requirements, but cannot modify them.
Adding external properties to a requirement
In the traceability matrix
If you can edit Confluence pages and you add an external property to the traceabilty matrix
You will be able to see the "Edit Values" toggle.
Clicking on the toggle allows you to quickly modify external properties on multiple requirements.
Entering the wrong type of value for an external property will still save the value, but it won't be taken in account when doing aggregations.
In the requirement details page
The external properties are displayed, and you can add a property by clicking the add button, or modify properties on a requirement by clicking on the value field.
The available external properties may not all be displayed, but you can simply search them by name.
Overview of the Requirement Details page
Modifying an external property
Adding an external property
For "String" and "Boolean" external properties
Only the COUNT is available. It counts the number of external properties with a value.
For "Decimal" and "Integer" external properties
More operators are available: SUM, AVG, MIN and MAX. The properties with no values or invalid values are not taken in account in the calculation.
You will need to manually refresh the aggregator to redo the calculation if you update the values of the external properties.
Changing the operator
Click on the cog in the aggregator cell to change the calculation type.
You can also hide the totals if the default aggregation is not relevant. Spaces in property names must be escaped with a \ character (Eg: [email protected]\ State)
Integer or Decimal
Counts the requirements with a Cost external property
COUNT([email protected] > 2)
COUNT([email protected], [email protected] > 2)
Counts the requirements with a Cost external property greater than 2
AVG([email protected], [email protected] > 2 AND jira = 'JIR-1')
Counts the requirements with a Cost external property greater than 2 associated to the Jira ticket 'JIR-1'
SUM([email protected] > 2)
Calculates the sum of Cost external properties
Calculates the minimal Cost of requirements with a Cost external property.
MAX([email protected], to = 'REQ-001')
Calculates the maximal Cost of requirements with a Cost external property that are children dependencies of 'REQ-001'
COUNT([email protected]\ State, [email protected] is not null)
Counts the requirements with an "Approval State" external property, and a Cost external property
SUM, AVG, Min, and MAX not available
COUNT([email protected]\ Result)
Counts the requirements where the external property "Test Result" is true
Search requirements with specific external properties
In the requirements details, you can also search for requirements with the same values by clicking the "link" icon, and the search query will be constructed for you.