Software Release Glossary
Most commonly used terms and acronyms by product managers, engineers and devops
ABCDFKMPRSTUV

Release Manager

Release management is a relatively new but fast-growing field within software engineering. This concept is about managing, planning and scheduling software delivery all through the release lifecycle.

The aim is to facilitate the process required to move software releases into production while coordinating with different teams to ensure the smooth delivery of software releases with little disruption. 

Thus, release management has become an integral part of software delivery and IT service management as well as a crucial aspect of continuous delivery.

Overview of the role

As more and more companies adopt DevOps practices, the need for highly specialized roles has increased in the last few years.

One such role is a Release Manager, who can plan projects and schedule faster and more frequent delivery of software.

This is especially important as at the core of DevOps is releasing new software in shorter time increments to reach end-users faster.

A Release Manager in DevOps, more particularly, works with development and operations teams to ensure the scheduling of fast releases.

He/she will work closely with different teams from the beginning of a project and see it through to the moment of release.

It goes without saying, then, that this manager will need to be familiar with DevOps tools.

Roles and responsibilities

A Release Manager should stay on top of the release management lifecycle including scheduling and coordinating releases across the company for multiple applications.

He/she will usually be focused on the bigger picture and views the software development and release processes in relation to the overall business objectives.

Whenever necessary, he/she will provide the tools and services needed to help product teams manage and deploy code into production.

Therefore, this manager will be responsible for implementing and managing the release process from development to testing then finally to the production environments.

In this case, the goal of this manager is to handle consistent, on-time delivery of high quality releases. Time is of the essence when it comes to this role so he/she will need to be able to create the infrastructure necessary to enable frequent and quick releases.

To summarize, the following are the typical daily tasks of a Release Manager:

  • Scheduling, managing and coordinating releases across multiple applications within various portfolios across different teams and projects.
  • Constructing a release calendar for the different projects to have a centralized view of all releases.
  • Manage and mitigate risks and resolve issues regarding release quality and schedule.
  • Continuously monitor projects and provide reports about their progress.
  • Ensuring all team members are adhering to engineering best practices as well as enforcing DevOps policies.
  • Monitoring the release process and collecting feedback from the different teams as well as customers for review.
  • Making improvements on a regular basis to the release process.

Required skill set

The Release Manager, then, will need to work across different teams involved in the software development processes and will provide support to developers as they set up test environments.

He/she will also need to work with the IT team in order to enhance software engineering practices and work closely with project or portfolio managers.

The release manager will usually have a background in computer science or a related field with advanced knowledge of the software development lifecycle. This manager may also have a project management background.

Furthermore, he/she will need to have some technical skills with thorough knowledge of feature toggles, branch handling, continuous integration and continuous delivery.

He/she will use these technical skills to solve any issues that arise; hence, he/she will need to be in possession of interpersonal skills and problem-solving abilities to resolve any cross-functional team issues.

He/she will also need to define and implement the best practices and methodologies depending on the project requirements.

Such a role is considered to be highly challenging as these managers are involved in various aspects of the release process including monitoring, testing, communicating across teams and deploying and so he/she should be able to work under pressure.

Additionally, he/she will need to have a clear understanding of business needs and their priorities. They will also align software development with organizational goals, acting as an intermediary between tech and business teams, in order to effectively schedule builds and testing as well as create release plans.

Release management tools

The following are some common tools that Release Managers may need to be familiar with: 

  • Jenkins- popular tool for continuous integration but it can also be used for release management.
  • Ansible- this is an open source configuration management and application deployment tool intended for IT professionals.
  • Chef- another configuration management tool which enables continuous automation across all IT processes.

When incorporated into IT processes, such tools can reduce inefficiencies by creating consistent automated processes which result in high-quality releases.

What is the salary of a Release Manager?

According to Indeed.com, a Release Manager makes an average base salary of $81,679 per year in the United States with a $6,000 cash bonus per year.

Conclusion

To sum up, a Release Manager is an important part of release management and is usually the final decision maker on any vital release-related issues.

Such a manager is capable of carrying out various functions and work across teams by developing a collaborative approach in the software development process.

These managers promote more effective release management within your organization to reduce release management pains and to help successfully deploy reliable software with the least disruption possible.

More terms from the glossary
Soak Testing

Soak testing is a type of performance and load test that evaluates how a software application handles a growing number of users for an extended period of time.

Read description
User Acceptance Testing

User acceptance testing (UAT) is used to verify whether a software meets business requirements and whether it’s ready for use by customers.

Read description
Fake Door Testing

Fake door testing is a method where you can measure interest in a product or new feature without actually coding it.

Read description
crossmenu