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.
Video Release management
Background
Release management is a relatively new but rapidly growing discipline within software engineering. As software systems, software development processes, and resources become more distributed, they invariably become more specialized and complex. Furthermore, software products (especially web applications) are typically in an ongoing cycle of development, testing, and release, often running on evolving platforms with growing complexity. Such systems require dedicated resources to oversee the integration and flow of development, testing, deployment, and support.
Maps Release management
Relationship with Continuous Delivery, DevOps, and Agile software development
Organizations that have adopted agile software development are seeing much higher quantities of releases. With the increasing popularity of agile development a new approach to software releases known as Continuous delivery is starting to influence how software transitions from development to a release. One goal of Continuous Delivery and DevOps 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 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 Enterprise Release Management
While Release Management focuses on the transitions from development to testing and release for a single project or a collection of related projects, Enterprise Release Management (ERM) is focused on the coordination of individual releases within a larger organization. An organization with multiple application development groups may require a highly orchestrated series of releases over multiple months or years to implement a large-scale system. ERM involves the coordinated effort of multiple release managers to synchronize releases in the context of an IT portfolio.
Relationship with ITIL/ITSM
In organizations that manage IT operations using the IT Service Management paradigm, specifically the ITIL 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 Management 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.
See also
- Application release automation
- Build automation
- Change management
- Configuration management
- DevOps
- Software testing
- Continuous testing
- Test plan
- DevOps toolchain
- WinOps
References
External links
- Project Management: Best Practices for IT Professionals
- Release Management - Where to Start?
- Release and Deployment Management in the ITIL Framework
- Release Management Wiki - Compilation of Current Resources about All Aspects of Release Management
- Managing Software Projects By Frank F. Tsui
- "Current Trends in Release Engineering 2016" - Academic Course by Software Construction Research Group, RWTH Aachen, Germany
Source of article : Wikipedia