Skip to main content

Parallel development

To support efficient and scalable application development, Pega Platform™ offers powerful tools for managing collaboration and configuration. Branching and Workspaces help teams organize their work, maintain version control, and streamline the development lifecycle. Branching enables developers to isolate changes before merging them into shared Rulesets, while Workspaces provide tailored environments for different roles and tasks within the project. Together, these features ensure that development efforts remain aligned, secure, and adaptable to evolving project needs.

For example, a developer creates a new Locations Data Object in their Workspace, confirms that the Data Records display as expected within their Workspace, and then pushes the Data Object to the Mapping Feature Branch. Later, the team decides to merge their branch into the main application before a release.

The following image shows the flow between a Workspace, Branch, and Application:

 

Workspaces and Branches flow

Workspaces

Workspaces in Pega Platform offer a secure, focused space for developers to build and manage application features independently. Each Workspace is tied to one specific operator with developer access, and is exclusively associated with one application. Within an application, each operator has one Workspace created by default, but an operator can create multiple Workspaces within that application.

Changes remain private within a single Workspace until shared to a Branch, helping avoid rule conflicts when multiple developers work on the same app.

Workspaces are available in App Studio and Dev Studio, and can be enabled with the EnableWorkspace setting. Developers can choose the right application layer for new Rules to ensure proper organization.

Each Workspace belongs to one application and one operator. Developers can create and switch between multiple Workspaces, which show only their own changes. Some Rule types may require Dev Studio access based on permissions.

The following topic contains information that is important for your understanding of Workspaces and for passing the certification exam: Developing Applications in Workspaces.

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 for both large and small-scale development projects, where single or multiple teams work simultaneously on the Rules in an application. For example, in a single-team scenario, three members may work on a feature while two other members work on another feature without concern for interfering with each other's development. In a multiple-team scenario, Branches help one team simultaneously work on the Rules in an application without concern for overwriting work from another team.

Branches also benefit feature development when the time to completion differs between features. For example, if two features are being developed simultaneously but the first feature is completed before the second, Branches help ensure that teams do not need to wait until both features are complete. As illustrated by the image below, developing the completed feature in its own Branch allows application development to continue while work on the unfinished feature remains isolated and in progress (shown as Feature Branch A and Feature Branch B).

A common strategy when creating a Pega Platform application is to create a separate Branch for each feature your team is developing. This approach allows teams to work independently in isolated spaces without affecting the main application or other teams. For example, one Branch might be used to update properties in a form (Feature Branch A) while another Branch is used to modify a View (Feature Branch B). Changes are merged into the main application only after the feature is complete, conflicts are resolved, and approval is granted.

The following image illustrates this approach using Feature Branch A and Feature Branch B, showing how one feature completes and merges first while the other continues development and is merged later once approved:

Parallel Feature Development

Check your knowledge with the following interaction:

Creation and use of Branches

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 are 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, which leads to processing errors due to incorrect entries. The product owner wants to reduce errors by allowing users to select a bank from a drop-down 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 UI without impacting the work that Team Beta performed:

Branch quality metrics

Members of an application development team can view information about their branch, such as the Rules that it contains and Guardrail warnings, using Branch quality metrics. 

Tip: Guardrails are settings that determine which elements in an application do not comply with Pega best practices for application development. You must respond to guardrail warnings to ensure that your application meets the lates requirements for efficiency and to save development and update time. For more information on Guardrail compliance, see Viewing application quality metrics.

Monitor the health of a Branch using the following quality metrics:

  • Guardrails: Monitor the number and severity of guardrail violations. For example, the Weighted score metric identifies guardrail warnings and their severity.
  • Merge conflicts: Investigate an potential merge conflicts to identify issues as early as possible. For example, the Total merge conflicts metric shows the number of potential merge conflicts for the Branch.
  • Test coverage and Unit tests: Check the number of your Branch Rules that are covered by tests. Review failed tests. For example, the Rules covered metric shows the percentage of Branch Rules that are covered by tests, and the Test pass rate metric indicates the percentage of unit tests that have passed.
  • Uncovered Rules: Investigate individual Rules that are not covered by tests of any kind. For example, the Uncovered Rules metric identifies the number of Branch Rules that are not covered by tests.

The following topic contains information that is important for your understanding of Branch quality metrics and for passing the certification exam: Understanding Branch quality metrics.

Check your knowledge with the following interaction:


This Topic is available in the following Module:

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

Did you find this content helpful?

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