Versions and variants

A version is a form of a product that is different in some way from other forms. A variant is a variation of a product. Both versions and variants are ways of configuring a product. In Rational® Engineering Lifecycle Manager, variants are called branches.

Versions

Versions provide a way for teams to capture a product at a certain point in time. As products meet milestones, teams check in a version of the product. Initially, the version might be a way for teams to mark that a goal was met. But as product development continues, the team might need to replace a product with a previous version for reproducibility. For example, a team might need to reproduce a product environment to solve a customer issue.

Alternatively, if a team needs to replace a product with an improved product, they might check in a version in one product and then replace older products with the newer version.

Versions have relationships to older and newer versions. Consider a product called SuperCar. When the team released their first Beta release, they checked in a version called SuperCar-Beta 1. A few months later, they reached their second Beta release and checked in the SuperCar-Beta2 version. SuperCar-Beta1 has a relationship with its predecessor, SuperCar, because SuperCar-Beta1 is a version of SuperCar. Likewise, SuperCar-Beta 1 has a relationship with SuperCar-Beta2, which is a descendent of SuperCar-Beta 1.

The product tree does not show all versions of products in the Browse Products page. If you want to see versions of a product, right-click over it and choose Show Audit History.

When you check in a product, the product tree is versioned, but the related artifacts in the tree are not.

Therefore, by checking in a product, you capture the links to each related artifact, not a version of the artifacts. If a related artifact is modified in its native tool after you check in the product, the next time you access the artifact, you see the latest artifact in the product version.

Branches

Branching provides teams with a way of creating a different variety of a product. As products evolve, teams sometimes find themselves creating products for customers that need something a little different from the mainstream product. Other teams that create products used worldwide find that they need to make many variations of a product for different countries, for example, because of voltage requirements. Branching provides teams with customization capabilities.

Additionally, teams might create a branch if a product is recalled for safety issues. The team would create a branch to fix the safety issues, and then would replace the problem branch with the new branch.


Feedback