Skip to main content
Verify the version tags to ensure you are consuming the intended content or, complete the latest version.

Release management

The traditional application release cycle for most organizations takes months and sometimes years to roll out, from ideation to generating business value from the customers. This cycle impacts an organization's ability to be nimble and react to market changes, especially in today's fast-paced environment, as priorities and markets of users shift without warning. The time that it takes (from the conception of an idea from a requirement or a user request to the point of final delivery to the target customer and realization of the solution's value) is known as time to market or lead time.

Depending on the application release model, development methodologies, and culture of the organization, there are differences in the process and time frame in which organizations deliver software to production. Some organizations take more time moving new features to production because of industry and regulatory compliance. Some organizations have adopted automated testing and code migration technologies to support a more agile delivery model. 

Organizations recognize the financial benefit of releasing application features to end users and customers faster than their competitors. Many have adopted a DevOps approach to streamline their software delivery life cycle. DevOps is a collaboration between Development, Quality, and Operations staff to deliver high-quality software to users in an automated, agile way. Organizations can gain a competitive advantage in the market by continuously delivering new application features to end users. Because DevOps represents a significant change in culture and mindset, not all organizations are ready to embrace DevOps immediately. 

DevOps is fundamentally about increasing collaboration and speed of delivery to reduce the time to market. Agile and Scrum practices prescribe agility and deliver incremental value, transparency, and early feedback. Adding DevOps speeds up these practices and helps you to receive feedback as early as possible.

For organizations that use Agile methodologies, such as Scrum, following DevOps practices can accelerate and solidify core agile principles of being agile, delivering value early and often, receiving early feedback, and meaningful transparency. However, DevOps benefits even those teams that follow a more traditional delivery process.

Pega Platform™ also supports open DevOps integration using popular third-party tools such as Jenkins and Microsoft Azure DevOps by providing an open platform with all the necessary hooks and services. With open DevOps integration, you can build a deployment pipeline using third-party tools to automate Branch merging, application packaging and deployment, test execution, and quality metric enforcement.

Perform the following tasks as the technical lead on the project:

  • Assess the existing release management processes and tooling of the organization. Some organizations might already have a fully automated release pipeline, while others might rely on limited automated testing or manual scripts for software deployment. 
  • Design a release management strategy that aligns with the organization's release management protocols and moves application features through testing and production deployment. 
  • Gradually transition to an automated release management model, beginning with the testing processes. The pace of this evolution will depend on the organization's readiness to adopt agile methodologies and leverage automated testing, software migration tools, and shared repositories. 
Note: While setting up your team release management practices, identify a Release Manager to oversee and improve these processes. The Release Manager creates and locks Rulesets and ensures that incoming Branches merge to the correct version. 

Release pipeline setup

A DevOps cycle consists of DevelopmentContinuous IntegrationContinuous Delivery, and Continuous Deployment stages and automated processes to quickly move applications from development through testing to deployment.

Even if the organization releases software through automated methods, most organizations have a manual (or semi-automated) release pipeline. 

In the following image, click the + icons to learn more about the DevOps pipeline.

Stage 1: Development
The development stage is the first stage in the pipeline. Developers can utilize Pega Platform features, such as branches, to work in parallel with others. This approach ensures faster application development and high quality. After completing their configurations in branches, developers merge the changes into the application. Development is complete only after the developers set up their automated unit tests, and when their application configurations successfully pass all unit tests.   
Best practices to optimize the development process are:

  • Follow branch-based development practices.
  • Make use of multiple built-on applications to develop and process smaller applications.
  • Create a single Pega Platform instance as a source environment to serve as the single source of truth for the application.
  • Use Pega Platform developer tools, such as the rule compare feature.
  • Lock each complete and validated ruleset.
  • Regularly synchronize development environments with the source environment.

Stage 2: Continuous integration
Continuous integration begins when developers merge their changes into the application. Before this can occur, testing in the development environment must confirm that new changes work as expected and that existing critical functionality remains intact. Any issues identified during testing provide quick feedback, enabling developers to address them before distributing changes to other environments. Developers revert changes into the development branch for correction. Ideally, changes should be merged at least once a day, preferably several times a day.
Best Practices for Continuous Integration:

  • Define and maintain the Rule-Admin-Product Rule to reflect the current state of the application. This Rule is essential for automated packaging using tools such as Deployment Manager or Pega CLI.
  • Run unit tests and critical integration tests before packaging the application to identify issues early. If any test fails, halt the release pipeline until the issue is resolved.
  • Publish the exported application archives to a repository, such as JFrog Artifactory, to maintain a version history of deployable applications.

Stage 3: Continuous delivery
The transition from continuous integration to continuous delivery begins by ensuring the functional integrity of the application to validate its acceptability against the agreed acceptance criteria. Developers typically achieve this through automated regression testing. Successful regression testing verifies that the application is ready for deployment and that customers can use it. The next layer of testing focuses on performance, browser compatibility, and scalability.
Best Practices to ensure quality in continuous delivery:

  • Use Docker or a similar tool to create test environments for user acceptance tests (UAT) and exploratory tests.
  • Develop a wide variety of regression tests through the user interface and the service layer.
  • Store tests in a separate version control system, such as Git.
  • Roll back the latest import if a test fails.
  • If all tests pass, annotate the application package to indicate readiness for deployment. Deployment can be automated using Jenkins and JFrog Artifactory, or performed manually.

Stage 4: Deploy
The final phase addresses the question, "Is the application ready for real deployment?" At this stage, developers deploy the fully validated application to production. The team typically conducts full validation in a preproduction environment.

Version Control Best Practices in the DevOps Pipeline:
As a best practice, use semantic versioning when changing the version number:

  • Major versions: Include significant features that might cause compatibility issues with earlier releases.
  • Minor versions: Include enhancements or incremental updates.
  • Patch versions: Include small changes, such as bug fixes.

Best practices for deploying application to production:

  • Define target ruleset versions for production deployment.
  • Use lock and roll to password-protect versions and roll changes to higher versions.
  • Increment the ruleset version each time you migrate your application to production, unless the application is likely to reach the patch version limit of 99.
  • Create restore points before each deployment.
     

These activities occur whether or not you are using an automated pipeline. The Standard Release process described in Migrating application changes explains the tasks of packaging and deploying changes to your target environments. If you are on Pega Cloud®, be aware of certain procedures when promoting changes to production. For more information, see Change management in Pega Cloud Services.

Moving to an automated pipeline

In an organization that deploys software with heavy change management processes and governance, you contend with old ways of doing things. Explain the benefits of automating these processes, and explain that moving to a fully automated delivery model takes time. The first step is to ensure that the manual processes in place, particularly testing, are effective. Then, by automating over time, a fully automated pipeline emerges.

Automation and validation of testing processes are essential in an automated delivery pipeline. Create and evolve your automated test suites by using Pega Platform features and industry testing tools. Otherwise, you automate the promotion of code to higher environments, which might introduce more costly bugs.

For more information about the DevOps pipeline, see DevOps release pipeline overview.

 

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