Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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:

 - Text

 - 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 tracability 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(ext@<PropertyName>, criteria). (Eg: COUNT(ext@Approval\ State, ext@Approval\ 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.

...

Image Added

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

...

Image Added

You will be able to see the "Edit Values" toggle.

...

Image Added

Clicking on the toggle allows you to quickly modify external properties on multiple requirements.

...

Image Added

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.

...

Image Added

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

...

Image Added

...

Image Added

...

Image Added


Using aggregations

For "String" and "Boolean" external properties

Only the COUNT is available. It counts the number of external properties with a value.

...

Image AddedImage Added

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.

...

Image Added

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: ext@Approval\ State)

Image AddedImage Added

Calculation examples:

Property type

Query

Result


Integer or Decimal




COUNT(ext@Cost)

Counts the requirements with a Cost external property

COUNT(ext@Cost > 2)

or

COUNT(ext@Cost, ext@Cost > 2)

Counts the requirements with a Cost external property greater than 2

AVG(ext@Cost, ext@Cost > 2 AND jira = 'JIR-1')

Counts the requirements with a Cost external property greater than 2 associated to the Jira ticket 'JIR-1'

SUM(ext@Cost > 2)

Calculates the sum of Cost external properties

MIN(ext@Cost)

Calculates the minimal Cost of requirements with a Cost external property.

MAX(ext@Cost, to = 'REQ-001')

Calculates the maximal Cost of requirements with a Cost external property that are children dependencies of 'REQ-001'

String

COUNT(ext@Approval\ State, ext@Cost is not null)

Counts the requirements with an "Approval State" external property, and a Cost external property


SUM, AVG, Min, and MAX not available

Boolean

COUNT(ext@Test\ Result)

Counts the requirements where the external property "Test Result" is true

Search requirements with specific external properties

You can execute search queries on external properties. See our Search Syntax for more details.

...

Image Added

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.

...

Image AddedImage Added