Release management approach
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.
Release pipeline setup
A DevOps cycle consists of Continuous Integration, Continuous 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.
This pipeline highlights developer activities and user activities.
Developer activities include:
- Unit testing.
- Sharing changes with other developers.
- Ensuring changes do not conflict with other changes made by other developers.
Once the developer delivers changes, 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, are effective. Then, by automating over time, a fully automated pipeline emerges.
The terms continuous integration, continuous deployment, and continuous delivery frequently apply when discussing DevOps. Use the following definitions for these terms:
- Continuous integration: Continuously integrating into a shared repository multiple times each day.
- Continuous delivery: Always ready to deliver.
- Continuous deployment: Continuously deploying or shipping (no manual process involved).
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:
Want to help us improve this content?