Pega 7 uses branch rulesets to help teams manage parallel development in distributed environments. A branch is a container for rulesets with records that are undergoing rapid change and development. The rulesets associated with a branch are called branch rulesets.
A branch ruleset:
Is based on (branched from) another ruleset
Contains rules that are in active development in the associated branch
In Pega, you create a branch ruleset for each team. These branches allow each team to create and update rules without impacting other teams.
The following scenario describes how branches allow multiple teams to make rule update changes in parallel.
Team Alpha and Team Beta are developing an HR Onboarding application. Team Alpha is assigned to develop a new UI feature. Team Beta is assigned to work on candidate profile information. While each team works independently, both features involve changes to rules in the same rulesets: HR, HRApps, and HRAppsInt.
Using branches and branch rulesets, each team creates its own development branch. When the rule updates are complete, each team resolves conflicts the system detects between the branch rules and other instances of the rules. After the team resolves rule conflicts, the system merges the updated branch rules into the original application.
Branch rulesets allow each team to work within an isolated space (the branch) without affecting functionality other teams are developing.
Pega provides two methods for creating new versions of an application. Each method preserves prior application versions. Application versioning is a way to differentiate current and past application configurations. Rule resolution can look through all the minor and patch versions for the current major ruleset.
Application components include the application ruleset stack — this contains the rules and data types used by the application. To version an application, you must version the application's rulesets.
The versioning methods are lock and roll and skimming. The act of using a version method begins a release cycle. Every major version, minor version, and patch version represents a release cycle. Both methods list the highest version, and offers to roll the ruleset to a still-higher version by default.
Your choice of method depends on the type of application change. Lock and roll is best for incrementing patch versions. Skimming is better for minor and major versions.