release management fundamentals

Release Management Fundamentals

Release management is the process of managing, planning, scheduling and controlling a software build through different stages and environments; including testing and deploying software releases. (source: wikipedia)

What Is a Release in Software Engineering?

In software engineering, a release is a new or modified software and the process of its creation. A release constitutes a fully functional version of the software, and it is the climax of the software development and engineering processes. Alpha and beta versions of the software typically precede its release.

While alpha and beta version launches may also be called alpha or beta releases, in the singular form, release generally refers to the final version of software. You may also see releases referred to as launches or increments.

Most organisations identify releases with a unique set of numbers or letters that update sequentially. This naming process is called software versioning. There are no industry-wide rules for how these unique identifiers change from release to release, but each company consistently follows its own internal standard.

What Is the Release Management Process?

Organisations improve the quality, speed, and efficiency of building or updating software by focusing on release management. This is the process of planning, scheduling, and managing a software build through the stages of developing, testing, deploying, and supporting the release. Techniques like Agile development, continuous delivery, DevOps, and release automation have helped optimize release management. The velocity of this process has accelerated recently, to the point where several years ago Amazon passed the mark of 50 million code deployments a year — more than one per second.

Release management is a relatively new discipline in software engineering, but it’s also growing rapidly thanks to swift innovations in technology. As a discipline, it draws from both traditional, business-focused project management and technical knowledge of the systems development life cycle (SDLC) and the IT Infrastructure Library, a set of practices for IT service management.

The Objectives and Benefits of Release Management

Done effectively, release management increases the number of successful releases by an organization and reduces quality problems. Productivity, communication, and coordination are improved, and the organization can deliver software faster while decreasing risk.

These improvements mean the team can repeatedly produce quality software with shorter times to market, which allows the company to be more responsive to the operating environment.

Release management also helps standardize and streamline the development and operations process. The team implements auditable release controls, thus creating a repository for all releases throughout the life cycle. Having a single, well-documented process that must be followed for all releases increases organizational maturity. Increased standardisation and the focus on product allow teams to draw more useful lessons from experience and apply them in future releases.

Operations departments appreciate the increased coordination with developers because there are fewer surprises. They can now avoid feeling that a release has simply been “thrown over the wall” from development, leaving operations to fight fires and “patch and pray” because of short deadlines. There’s also more of an opportunity to resolve configuration issues between the development and operating environments.

In short, release management breaks down team barriers across multiple functions in an IT organization. As a result, you can improve product delivery holistically.

source: SmartSheet by Kate Eby

Further articles:

Recommended further readings:

...back to knowledge base main page