Requirement versioning

When changes are made to the text of requirements, the system automatically creates a requirement version in which the main requirement attributes are stored, as well as the values of custom attributes. This mechanism is described in detail in the section Page versions.

For a more formalized process of managing requirement versions, go to the project settings, the "Methodology" section, and select the requirement versioning mode there:

This mode turns off automatic creation of versions when requirements are edited.

Next, in the settings of the requirement lifecycle (states), use the "Save version" system action for the state the requirement enters when changes to the text are considered complete, for example Approval, Done, and so on.

If requirement attributes changed while you were working on it, the "Save version" system action increases the requirement version number and makes that version the current one.

Baselines

A Baseline is a version of a document tied to some stage of the project (past or future), to a Release, or to an Iteration. You can also define the purpose of a Baseline yourself.

A Baseline can be current (editable, containing future changes to the product) or past (not editable). You can make changes only to the current Baseline.

A professional approach is to create a documentation Baseline before you start revising it in the next stage of the project. Baselines are shown in the project plan. This lets you check that documentation relevant to the given stage exists, and that it is used for working purposes.

Baselines can be used to group or filter requirements, so that you focus only on the documentation used at the corresponding stage of the project. To switch between Baselines and versions within a document, use the corresponding selector located under the editor toolbar.

Documents, or individual requirements, from different Baselines can be compared with each other. In this way you can find out which changes were made to the requirements.

Besides changes in the text, the system shows changes in requirement attributes such as "Estimate", "Effort", "Actual cost", and so on. In document Baseline comparison mode, changed attributes are shown automatically above the requirement text.

Branches

Use branches to change several document Baselines at the same time.

For example, you are revising the current version of the application and expect that requirements may be added or changed in it. However, part of the team may already be preparing requirements for a future version. This means you need to have two editable versions of the requirements — for the current Release and for the future one. This scenario can be implemented with branches.

Create a requirement branch from a document or from several documents. The system will then help you easily carry changes from the master branch into all of its child branches, simplifying the transfer of changes from the current Release into future ones.

To follow the branching route of documentation versions, use the "Version tree" tab.