Topics / Engineering practice

ReqIF moves requirements between tools. Verify what survives the move.

Requirements Interchange Format is an exchange format. Successful import is only the beginning of checking identity, content, relationships and authority.

Treat exchange as a mapping problem.

OMG publishes ReqIF as a specification for exchanging requirements information. The receiving tool still needs to interpret the exported structures and attributes. Tool-specific meanings do not become equivalent merely because both tools accept the file.

Source: OMG: ReqIF 1.2. Scope and edition reviewed 3 October 2026.

Agree on the source of authority before importing. A copied approval label is historical data unless the receiving workflow explicitly recognizes the decision and its scope.

Inspect a small round trip first.

Illustrative example

The text arrived, but the hierarchy changed.

A supplier export contains a parent requirement and several derived obligations. The receiving view displays every text item but loses the relationship that explains the decomposition. A count comparison looks correct while the engineering meaning is incomplete.

CompareLook for
IdentityStable identifiers, duplicates and collision handling
ContentText, rich content, units and enumeration values
RelationshipsHierarchy and the meaning of typed links
LifecycleStatus, ownership and decision provenance
Unsupported informationExplicit loss or a documented alternate record

Keep imports reviewable in Proof.

Proof supports ReqIF import. Use a representative export in a separate reviewable change first, then inspect the resulting requirement records and links. Do not infer complete round-trip fidelity or synchronized authority from a successful parse.

Retain the source file, exporting tool/version, mapping decisions and unresolved differences. That record makes later exchanges easier to diagnose.

Try it on your software

Bring a small representative requirements export.

We can inspect which semantics survive and where the receiving model needs explicit mapping.