David Runciman · 17th March 2023
Release management and DevOps: what’s the difference?
The terms ‘release management’ and ‘DevOps’ are often used interchangeably, especially in the Salesforce world. But they’re not really synonymous. So what’s the difference?
What is release management?
Release management is a catch-all term for any approach to getting new apps, features and updates out to users. Good release management should lead to more reliable releases and better software delivery, but anyone involved in software releases is doing some kind of release management, whether they know it or not. Release teams inevitably have to ask themselves questions like:
- What does our development and release process look like?
- How much work should we release at a time?
- How often should we release?
- What will the impact be on end users?
- Are we doing a good job? How can we improve?
A release management process typically involves a set of stages, including planning, designing, building, testing, deploying and monitoring work. What those stages look like, and how consciously they’re managed, will vary from team to team. Work progresses through a series of environments, e.g. from developer environments to a staging environment and finally through to the production environment for end users.
Some teams speak more in terms of application lifecycle management (ALM). This is a broader concept than release management, as it’s concerned with ensuring quality software for the long term. In practice, there’s a lot of overlap, since both release management and ALM deal with a similar set of stages in the development cycle.
What is DevOps?
DevOps is a particular approach to release management. So it’s not accurate to describe any release management process as DevOps. By embracing DevOps, teams will have a coherent set of answers to the questions posed by release management.
The term ‘DevOps’ is a contraction of development and operations. It represents the idea that releases are best managed when development (planning, building, testing) and operations (releasing, monitoring, maintaining) are brought together.
So rather than developers building stuff without much thought about how it will be released, they’re closely involved in the release process. Developers play an active role in both getting their work out to users, and monitoring its performance.
For teams practicing DevOps, releases aren’t something to put off for as long as possible, but something to do more frequently in order to deliver value sooner and tighten the feedback loop.
There’s no one DevOps process that works for every team. But DevOps teams need:
- Version control, to improve collaboration and resilience;
- Continuous integration, to combine and test work early and often;
- Continuous delivery, to release work more frequently to end users.
DevOps practices go hand in hand with Agile development, where smaller incremental improvements are preferred to larger infrequent releases. Adopting DevOps methods can be an effective way to achieve Agile principles.
Why is DevOps a popular approach?
DevOps is now well established as a proven approach to release management with clear benefits. It makes life easier for development teams, improves software quality, and delivers for end users.
For development teams, DevOps means:
- Better collaboration and fewer single points of failure
- More successful releases, improved efficiency and less manual effort
- The earlier identification and remediation of potential bugs
- Increased job satisfaction due to more immediate feedback
For end users, whether they’re internal or external customers, DevOps means:
- Valuable features and improvements are delivered sooner
- Feedback shapes the direction of development work
- Downtime, bugs and errors are less common
For businesses, DevOps means:
- Greater returns on software development investments
- More agility and resilience to meet both challenges and opportunities
- Accelerated digital transformation
Changing terminology in the Salesforce world
From the early days of the force.com platform, teams of admins and developers have been thinking in terms of release management. ‘Salesforce DevOps’ is newer. From around 2015, third-party vendors of release management solutions, most notably Gearset, which came out of another DevOps company, introduced the tools, principles, and the language of DevOps to the Salesforce world.
There’s now a lively community of teams adopting Salesforce DevOps, and vendors providing some or all of the tools these teams need to make DevOps a success on Salesforce.
Salesforce itself has followed suit. In 2018, it released Salesforce DX, a set of features and updates explicitly designed to make DevOps on the platform that bit more manageable. Then in late 2022, Salesforce released its next iteration on native release management tooling: DevOps Center.
DevOps Center is a significant improvement on change sets. Most significantly, it’s built on version control and provides a UI for low-code teams to track development through a pipeline of environments. However, it doesn’t yet offer the functionality required for CI/CD.
Salesforce DevOps is here to stay
Just like the wider world of software, the Salesforce ecosystem now sees DevOps as the way to do release management. This shift affects everyone building on Salesforce, whether you’re an admin, configurator, developer, architect, tester or release manager. DevOps Launchpad is here to help you learn more, demonstrate your mastery of DevOps concepts, and advance your career development. Sign up today to browse our full range of free courses, all tailored specifically for DevOps on Salesforce.