Use Cases for BranchManager for DOORS®

Derivative Product & Maintenance Branches

Developing a new product from an existing product, or creating a new maintenance branch, requires only branching a set of existing requirements. By creating a formal branch, the development is configured to merge future changes using a common parent in a three-way merge. Branching takes place from a baseline from the source project. The chosen baseline can be a current baseline or a past baseline of a product.

Requirements Review

Reviewing proposed requirement changes becomes significantly easier. By flagging the differences between the existing requirements and the proposals on a branch enables offline changes and comparison to the latest requirements. If the proposal is for multiple branches, these can all be reviewed at exactly the same time.

Fix and Propagate

When you have multiple products, it is a common occurrence to identify a requirement that needs to be updated in all products. Instead of doing this by hand, it is much more effective to make this change once and replicate to the other branches.

Core Requirement Reuse

Most organizations have a core set of behaviors that apply to all products, even those that are unique for a particular customer. These requirements are standard and must be applied to all products. These requirements are updated occasionally and therefore need a method to detect and propagate these changes. Rather than do a simple copy, branching these requirements ensures that updates are merged correctly and consistently.