||This article includes a list of references, related reading or external links, but its sources remain unclear because it lacks inline citations. (May 2015)|
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.
Although project managers have covered aspects of release management in the past, they generally are more concerned with high-level, "grand design" aspects of a project or application, and so often do not have time to oversee some of the more technical or day-to-day aspects. Release managers (aka "RMs") address this need. They must have a general knowledge of every aspect of the software development process, various applicable operating systems and software application or platforms, as well as various business functions and perspectives.
A release manager's roles are:
- Facilitator: serves as a liaison between varying business units to promote smooth and timely delivery of software products or updates.
- Gatekeeper: “holds the keys” to production systems/applications and takes responsibility for their implementations.
- Architect: helps to identify, create and/or implement processes or products to efficiently manage the release of code.
- Server application support engineer: help troubleshoot problems with an application (although not typically at a code level).
- Coordinator: utilized to coordinate disparate source trees, projects, teams and components.
Impact of agile software development
Organizations that have adopted agile software development are seeing much higher quantities of releases. More software releases have led to increased reliance on release management teams to track and execute complex application release processes. Operations teams have used methodologies—such as Information Technology Infrastructure Library ITIL 2011 Book: Service Transition (which contains a section on release management) to improve their release management capabilities as they relate to both business applications and internal IT services. Agile methodologies has also driven development and operations teams to collaborate more closely during production release events—this trend is referred to as DevOps.
Release management software allows release teams to plan, manage and control the release schedule and track the status of each release to ensure production worthiness. It also provides the added benefit of applying central governance and auditing over releases before decision-makers approve releases to production.
Relationship with Enterprise Release Management
While Release Management focuses on the transitions from development to testing and release for a single project of 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 synchronized releases in the context of an IT portfolio.
- Beck, B., Fowler, M. (2000). Planning Extreme programming, Addison Wesley.
- Erenkrantz, J. R.(2003) Release Management Within Open Source Projects. In: Proceedings of the 3rd Open Source Software DevelopmentWorkshop. Portland, Oregon, USA, May 2003, S. 51–55.
- Hoek, A. van der, Hall, R. S., Heimbigner D., Wolf, A. L. (1997) Software release management, Proceedings of the 6th European conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering, p. 159–175, September 22–25, Zurich, Switzerland.
- Hoek, A. van der, Wolf, A. L. (2003) Software release management for component-based software. Software—Practice & Experience. Vol. 33, Issue 1, pp. 77–98. John Wiley & Sons, Inc. New York, NY, USA.
- Humble, J., Farley, D. (2010). Continuous Delivery, Addison Wesley.
- Krishnan, M. S. (October 31 – November 3, 1994). "Software release management: a business perspective". Proceedings of the 1994 conference of the Centre for Advanced Studies on Collaborative research (Toronto, Ontario, Canada): 36.
|Wikibooks has a book on the topic of: Release Management|
- "What You Need to Know About Software Beta Tests" Centercode.com
- Project Management: Best Practices for IT Professionals
- Release Management - Where to Start?
- Managing Software Projects By Frank F. Tsui
- Seminar Topic "Release Engineering as a Discipline" organized by Software Construction Research Group, RWTH Aachen, Germany