
Release management is the process of managing, planning, scheduling and controlling a software build through different stages and environments; it includes testing and deploying
software release
The software release life cycle is the process of developing, testing, and distributing a software product (e.g., an operating system). It typically consists of several stages, such as pre-alpha, alpha, beta, and release candidate, before the fi ...
s.
Relationship with processes
Organizations that have adopted
agile software development
Agile software development is an umbrella term for approaches to software development, developing software that reflect the values and principles agreed upon by ''The Agile Alliance'', a group of 17 software practitioners, in 2001. As documented ...
are seeing much higher quantities of releases. With the increasing popularity of agile development a new approach to software releases known as
continuous delivery
Continuous delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time. It aims at building, testing, and releasing software with greater speed ...
is starting to influence how software transitions from development to a release. One goal of continuous delivery and
DevOps
DevOps is the integration and automation of the software development and information technology operations. DevOps encompasses necessary tasks of software development and can lead to shortening development time and improving the development life ...
is to release more reliable applications faster and more frequently. The movement of the application from a "build" through different environments to production as a "release" is part of the continuous delivery pipeline. Release managers are beginning to utilize tools such as
application release automation and
continuous integration
Continuous integration (CI) is the practice of integrating source code changes frequently and ensuring that the integrated codebase is in a workable state.
Typically, developers Merge (version control), merge changes to an Branching (revisio ...
tools to help advance the process of continuous delivery and incorporate a culture of DevOps by automating a task so that it can be done more quickly, reliably, and is repeatable. More software releases have led to increased reliance on release management and automation tools to execute these complex application release processes.
Relationship with ITIL/ITSM
In organizations that manage IT operations using the
IT service management paradigm, specifically the
ITIL
ITIL (previously and also known as Information Technology Infrastructure Library) is a framework with a set of practices (previously processes) for IT activities such as IT service management (ITSM) and IT asset management (ITAM) that focus ...
framework, release management will be guided by ITIL concepts and principles. There are several formal ITIL processes that are related to release management, primarily the release and deployment management process, which "aims to plan, schedule and control the movement of releases to test and live environments", and the change enablement process. In ITIL organizations, releases tend to be less frequent than in an agile development environment. Release processes are managed by IT operations teams using IT service management ticketing systems, with less focus on automation of release processes.
References
External links
"Current Trends in Release Engineering 2016" - Academic Course by Software Construction Research Group, RWTH Aachen, Germany
*
*{{Google books, id=BR9ppkdnIrQC, title=Project Management: Best Practices for IT Professionals, page=193, text=release manager
Release and Deployment Management in the ITIL Framework
Software project management
Version control
Software release