BranchManager for DOORS
Requirements Development and Management is a critical part of any business. Having the necessary methods and tools to manage your product requirements is a characteristic of successful organizations developing successful products. IBM® Rational® DOORS® has demonstrated over the years to be a critical component in supporting organizations developing high quality product requirements.
- Branch of predefinded DOORS projects versions
- Configurable compare of DOORS formal modules
- Interactive merge of formal modules (baseline version or current status)
BranchManager for DOORS is an add-on to DOORS that gives you the power to manage your requirements, and the changes to them, everywhere they are reused.
By introducing a Branch concept to DOORS Projects, DOORS now enables parallel replication of Formal Modules and their folder hierarchy. This parallel branch can now be used independently or changes can be migrated via the merge capability.
The BranchManager for DOORS suite can branch a set of requirements, visualize the differences between these branches, and merge changes across them.
The BranchManager for DOORS suite is built flexibly to meet your organization’s demands with these essential capabilities of requirements branching, requirements comparison, and requirements merging.
BranchManager for DOORS supports multiple branches of an entire project structure in DOORS, maintaining relationships (links and link modules) between the full hierarchy of DOORS modules. Individual requirement identity is maintained across all branches allowing you to view branch history across all source and children branches, as well as merge across the branches.
BranchManager for DOORS provides a powerful comparison mechanism to identify differences between baselines and across branches. Its intelligent comparison engine can compare based on a selectable list of attributes, and can detect changes in attributes, OLE objects, links, and structural changes such as moving a requirement in the hierarchy.
BranchManager for DOORS enables merging across branches by detecting changes in content, structure, and location of the same objects. Merging is performed using a three-way-merge leveraging a common base. The common base is either the common parent from the branch or a specified previous integration point of the two branches. Non-conflicting changes (no changes to the same object in two branches) can be automatically merged. Conflicting changes require the user to guide the merged result.
The merge can be configured to only detect changes from the last time the two branches have been integrated. This enables users to maintain unique branch content and focus only on the new modifications – greatly reducing effort when merging changes or bug fixes.
- Standard Use Case Support
Common scenarios supported by BranchManager for DOORS are as follows.
• Derivative Product & Maintenance Branches
Developing a new product from an existing product or creating a new maintenance branch requires only to Branch 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 ranches 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 Requirements 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.