Release management
Encyclopedia
The release management process is a relatively new but rapidly growing discipline within software engineering
Software engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...

 of managing software releases.

As software systems, software development process
Software development process
A software development process, also known as a software development life cycle , is a structure imposed on the development of a software product. Similar terms include software life cycle and software process. It is often considered a subset of systems development life cycle...

es, and resources become more distributed, they invariably become more specialized and complex. Furthermore, software products (especially web application
Web application
A web application is an application that is accessed over a network such as the Internet or an intranet. The term may also mean a computer software application that is coded in a browser-supported language and reliant on a common web browser to render the application executable.Web applications are...

s) are typically in an ongoing cycle of development, testing
Software testing
Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software...

, and release. Add to this an evolution and growing complexity of the platforms on which these systems run, and it becomes clear there are a lot of moving pieces that must fit together seamlessly to guarantee the success and long-term value of a product or project.

The need therefore exists for dedicated resources to oversee the integration and flow of development, testing, deployment, and support of these systems. Although project managers have done this 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
Software development process
A software development process, also known as a software development life cycle , is a structure imposed on the development of a software product. Similar terms include software life cycle and software process. It is often considered a subset of systems development life cycle...

, various applicable operating systems and software application or platforms, as well as various business functions and perspectives.

A release manager is:
  • Facilitator: serves as a liaison between varying business units to guarantee 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.


Some of the challenges facing a software release manager include the management of:
  • Software defects
  • Issues
  • Risks
  • Software change requests
  • New development requests (additional features and functions)
  • Deployment and packaging
  • New development tasks

Impact of agile software development on release management

Agile software development methodologies have driven radically higher numbers of release events in organizations where it has been adopted. More release events have corresponded to increased pressure on release management teams and their colleagues in IT Operations to track and execute complex application release processes. Operations teams have used methodologies—such as Information Technology Infrastructure Library ITIL v3 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 has also driven development and operations teams to collaborate more closely during production release events—this trend is referred to as DevOps
DevOps
"DevOps" is an emerging set of principles, methods and practices for communication, collaboration and integration between software development and IT operations professionals...

.

See also

  • Build automation
    Build Automation
    Build automation is the act of scripting or automating a wide variety of tasks that software developers do in their day-to-day activities including things like:* compiling computer source code into binary code* packaging binary code* running tests...

  • Change management
    Change management
    Change management is a structured approach to shifting/transitioning individuals, teams, and organizations from a current state to a desired future state. It is an organizational process aimed at helping employees to accept and embrace changes in their current business environment....

  • Configuration management
    Configuration management
    Configuration management is a field of management that focuses on establishing and maintaining consistency of a system or product's performance and its functional and physical attributes with its requirements, design, and operational information throughout its life.For information assurance, CM...

  • Agile software development
    Agile software development
    Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams...

  • Information Technology Infrastructure Library
    Information Technology Infrastructure Library
    The Information Technology Infrastructure Library , is a set of good practices for IT service management that focuses on aligning IT services with the needs of business. In its current form , ITIL is published in a series of five core publications, each of which covers an ITSM lifecycle stage...

     (ITIL)
  • Granular Configuration Automation
    Granular Configuration Automation
    Granular configuration automation is a specialized area in the field of configuration management which focuses on visibility and control of an IT environment’s configuration and bill-of-material at the most granular level. This framework focuses on improving the stability of IT environments by...

    (GCA)

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK