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

Release management approach

Defining a release management approach

Depending on the application release model, development methodologies, and culture of the organization, you see 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 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 end users in an automated, agile way. By continuously delivering new application features to end users, organizations can gain a competitive advantage in the market. Because DevOps represents a significant change in culture and mindset, not all organizations are ready to embrace DevOps immediately.

These are your tasks as the technical lead on the project:

  1. Assess the organization's existing release management processes and tooling. Some organizations may already work with a fully automated release pipeline. Some organizations may use limited automated testing or scripts for moving software across environments. Some organizations may perform all release management tasks manually.
  2. Design a release management strategy that achieves moving application features through testing and production deployment, according to the organization's release management protocols.
  3. Evolve the release management process over time to an automated model, starting with testing processes. This evolution rate depends on the organization's readiness to adopt agile methodologies and rely on automated testing and 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 takes care of creating and locking rulesets and ensures that incoming branches are merged into the correct version.

Setting up a release pipeline

Even if the organization releases software in an automated way, most organizations have a manual (or semi-automated) release pipeline. The following image illustrates the checkpoints that occur in the release pipeline.

release_pipeline

This pipeline highlights developer activities and end user activities. Developer activities include:

  • Unit testing
  • Sharing changes with other developers
  • Ensuring changes do not conflict with other developer's changes.

Once the developer has delivered changes to the end user, end user activities typically include:

  • Testing new features
  • Making sure existing features still work as expected
  • Accepting the software and deploying it to production

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, have proven to be effective. Then, automating bit by bit over time, a fully automated pipeline emerges.

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

When discussing DevOps, the terms continuous integration, continuous deployment, and continuous delivery are frequently used.

Use the following definitions for these terms:

  • Continuous integration – Continuously integrating into a shared repository multiple times per day
  • Continuous delivery – Always ready to ship
  • Continuous deployment – Continuously deploying or shipping (no manual process involved)
DevOps

Automating and validating testing processes is essential in an automated delivery pipeline. Create and evolve your automated test suites using Pega Platform capabilities along with industry testing tools. Otherwise, you are automating the promotion of code to higher environments, potentially introducing bugs found by your end users that are more costly to fix.

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


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