Release management is the process of overseeing and controlling software releases with the goal of timing them properly and keeping the rollout of new releases as smooth as possible. Software companies may have an officer charged with specifically managing new releases, and in other cases, project teams appoint a head person to coordinate this work. A number of skills are required to manage software releases well, including the ability to accept the fact that a product will be under constant revision until it is retired.
The process of release management starts with requests forwarded to development teams. These can include user requests from people who want more functionality, along with suggestions or requests from company officials who want to think ahead and project user needs. The team reviews these requests, discusses the difficulty of implementation, and provides advice on whether to move forward or shelve requests for the future. Eventually, they will develop a list of changes to be made to the software and can enter the development phase.
During the development aspect of release management, programmers make changes and test the software to see how the change impacts functionality. The goal is to spot problems before releasing the software, avoiding the cost and damage to reputation associated with having to create a patch after a new release. As the developers become more confident with the stability of a release, they can send it out to larger groups of testers to put it through its paces, before finally packaging it for distribution and providing support.
Software companies are often simultaneously supporting multiple old releases, while developing the next release. Part of release management involves thinking about timing. Software companies usually want to create a regular release schedule to assure users that updates and changes are being made, without having so many releases that the software becomes impractical to manage. For especially big releases, like a jump from a 2.0 to a 3.0 version, a greater lag may appear between release times because the developers are making significant changes.
Release managers usually have information technology training, even if they aren't specifically involved in software development. They also have business skills and the ability to work with software developers, legal advisers, advertising departments, and other members of a software company. Flexibility and creativity are both useful traits to have, as is the ability to keep people coordinated, focused, and on-task throughout the release management process without stifling innovation.