Skip to main content

Parallel development

When multiple teams work in the same application rulesets, coordinating changes across teams is a challenge. When development teams configure an application in parallel, rule changes might result in conflicts. Resolving conflicts disrupts the overall project and may delay time to delivery.

Branches

Pega Platform™ uses branches to help teams manage parallel development in distributed environments. A branch is a container for rulesets with records that undergo 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

Branches are beneficial on large development projects, where multiple teams work simultaneously on the rules in an application. In a Pega Platform application, you create a branch for each feature your team is developing. This allows your team to independently develop a feature within an isolated space (the branch) without affecting other teams. For example, your team creates one branch to change properties in a form and one branch to change a UI section. Changes do not affect other teams until the changes are stable, conflicts are resolved, and approval is granted to make the changes available to all development teams.

Check your knowledge with the following interaction.

Branch ruleset management

To manage the independent development of features that share rulesets, each Pega development team creates its own branch and branch rulesets. 

For example, two development teams are building features for a new application. Changes made by each team impact the same application rulesets. To develop rules in parallel using branched rulesets, each team follows these steps:

  1. Create a team application built on the main application
  2. Create one or more development branches in the team application
  3. Grant developers access to the team application
  4. Create branches in the team application as needed
  5. Create or update rules using the branches
  6. Resolve any conflicts between the branches and the application
  7. Merge each branch into the team application rulesets when development in branches is complete and stable

After resolving any conflicts between its branch and the team application, the team merges the contents of the branch into the main application rulesets. The following image illustrates the structure of the main application, team applications, and respective team branches. 

branches
Note: For more information on branching, see the Community topic Branches and branch rulesets.

Branched development sample use case

Using branches and branch rulesets, a development team creates its team application and development branches to implement a feature in an application without impacting other development teams. After the team resolves any rule conflicts, the system automatically checks which rules were updated and which rules do not exist in the team application before merging the updated rules from the branch into the main application.

The following scenario describes how branches allow one team to update an application without impacting a second team.

Both Team Alpha and Team Beta are updating an Employee Onboarding application. One of the case types in the application allows a new employee to register for direct deposit of their paycheck to their bank account.

Team Alpha is assigned a user story to improve the user experience when users identify a bank account for the direct deposit. The current implementation requires that users enter the bank name and routing number, leading to processing errors due to incorrect entries. The product owner wants to reduce the number of errors by allowing users to select a bank from a dropdown list that automatically provides the appropriate routing number. At the same time, due to a recent change in the tax code, Team Beta is assigned to update the calculation of tax to withhold for an employee.

While each team works independently, both features involve changes to rules in the same rulesets: HR, HRApps, and HRAppsInt.

In the following image, click the + icons to learn more about how branched rulesets allow Team Alpha to update the user interface (UI) without impacting the work performed by Team Beta.

Check your knowledge with the following interaction.

If you are having problems with your training, please review the Pega Academy Support FAQs.

Did you find this content helpful?

100% found this content useful

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice