Release Management

Service Management Function

 

 

Published: June 2004

Reformatted: January 2005

For the latest information, please see http://www.microsoft.com/mof

 

 

 

 

 

 

 

 



Contents

Executive Summary. 1

Introduction. 3

What's New?. 3

Feedback. 3

Release Management Overview.. 5

Goals and Objectives. 5

Key Definitions. 5

Processes and Activities. 7

Process Flow Summary. 7

Release Planning. 8

Scope Release. 10

Define and Prioritize Release. 11

Plan and Schedule Activities. 12

Determine Release Team Composition and Roles. 13

Identify Training, Logistics, and Communications Requirements. 13

Document Delivery Strategy for Release. 14

Summary of Release Planning Activities. 15

Release Building. 16

Select Release Mechanism.. 17

Design Release Package. 18

Build Release Package. 18

Test Release Package. 19

Place Copy of Release Package into DSL and Update CMDB. 19

Summary of Release Building Process. 19

Acceptance Testing. 20

Build Test Plan. 21

Design and Build Test Environment 21

Perform Tests and Evaluate Results. 22

Perform Pilot and Evaluate Results. 22

Obtain Acceptance to Proceed. 23

Summary of Acceptance Testing Process. 23

Release Preparation. 24

Assemble Resources. 26

Provide Advance Communication of Release. 26

Train Support and Administrative Staff 27

Prepare Production Environment 27

Release Readiness Review.. 28

Summary of Release Preparation Process. 29

Release Deployment 30

Deploy. 32

Review Deployed Release. 33

Summary of Release Deployment Process. 33

Roles and Responsibilities. 35

Release Manager 35

Change Owner 35

Communications Coordinator 36

Documentation Coordinator 36

Testing Coordinator 37

Change Advisory Board. 37

Summary of Responsibilities. 37

Relationship to Other SMFs. 39

Appendix: Recommended Technologies. 41

 

 


1

Executive Summary

The Release Management service management function (SMF) is responsible for deploying changes into an information technology (IT) environment. Once one or more changes are developed, tested, and packaged into releases for deployment, release management is responsible for introducing these changes and managing their release. Release management also contributes to the efficient introduction of changes by combining them into one release and deploying them together.

The goal of the release management process is to ensure that all changes are deployed successfully into the production IT environment in the least disruptive manner. Therefore, release management is responsible for:

  • Driving the release strategy, which is the overarching design, plan, and approach for deployment of a change into production in collaboration with the change advisory board (CAB).
  • Determining the readiness of each release based on release criteria (quality of release, release package and production environment readiness, training and support plans, rollout and backout plans, and risk management plan).

Within the MOF Changing Quadrant, the Release Management SMF is reliant on the Change Management and Configuration Management SMFs. Release management is embedded within the change management process and although the release is complete at the end of the release management process, a change review follows to ensure that the change element of the release was successful.

Release management does the following:

  • Provides a packaged release for all changes deployed into production and only deploys changes approved by change management.
  • Needs change management to approve changes and track them throughout the release process.
  • Ensures that, as changes are made, those changes are reported to configuration management for entry in the configuration management database (CMDB).
  • Needs configuration management information to build and verify valid test environments in the development phase of the new release.
  • Needs configuration management to assess the impact of changes to the IT environment and to provide a definitive store for the release package.

2

Introduction

This guide provides detailed information about the Release Management SMF for organizations that have deployed, or are considering deploying, Microsoft® technologies in a data center or other type of enterprise computing environment. This is one of the more than 20 SMFs defined and described in Microsoft Operations Framework (MOF). The guide assumes that the reader is familiar with the intent, background, and fundamental concepts of MOF as well as the Microsoft technologies described.

An overview of MOF and its companion, Microsoft Solutions Framework (MSF), is available in the MOF Service Management Function Overview guide. This overview also provides abstracts of each of the service management functions defined within MOF. Detailed information about the concepts and principles of MOF and MSF is also available at http://www.microsoft.com/mof.

 

What's New?

This revised look at the Release Management SMF takes into account the feedback and contributions we have received from our partners and clients since the initial publication of this SMF.

These include a revised and concise approach to the release planning and building process as well as considerable enhancements in the release preparation and deployment processes to include the rollout-related processes. The purpose of these improvements is to simplify the end-to-end process of release management as embedded within change management.

Feedback

Please direct questions or comments about this SMF guide to cisfdbk@microsoft.com.


3

Release Management Overview

This chapter describes the goal and objectives of the Release Management SMF and defines the key terms used in its processes.

Goals and Objectives

The goals and objectives of the Release Management SMF are to:

  • Plan releases in line with requirements resulting from approved changes.
  • Build effective release packages for the deployment of one or many changes into production.
  • Test release mechanisms to ensure minimum disruption to the production environment.
  • Review preparation for the release to ensure maximum successful deployments.
  • Deploy the release in line with structured implementation guidelines.

Key Definitions

Backout plan. A documented plan detailing how a specific change, or release, can be undone after being applied, if deemed necessary.

Change advisory board (CAB). The CAB is a cross-functional group set up to evaluate change requests for business need, priority, cost/benefit, and potential impacts to other systems or processes. Typically the CAB makes recommendations for implementation, further analysis, deferment, or cancellation.

Change manager. The role that has overall management responsibility for the change management process in the IT organization.

Deployment. The introduction of a release into the IT environment.

Release. Within the context of MOF, a release is any change, or group of changes, that must be incorporated into a managed IT environment. These changes are packaged into a single release.

Release manager. The role that is responsible for managing the activities of the release management process for the IT organization. For releases with large and complex scopes, the release manager forms a team to manage the release activities. The release manager selects the team members and assigns team roles and responsibilities.

Release package. The processes, tools, technologies, and documents required to move a release into production. Also, all of the components of the changes that are contained in the release.

Request for change (RFC). The formal change request, including a description of the change, components affected, business need, cost estimates, risk assessment, resource requirements, and approval status.


4

Processes and Activities

This chapter provides a detailed discussion of the processes and activities that occur in the Release Management SMF.

Process Flow Summary

Release management involves five major processes necessary to successfully plan and deploy authorized releases into an IT infrastructure. The following process flow diagram (Figure 1) identifies the major release management processes.

Figure 1. Release management process flow

This high-level overview can be further divided into a number of detailed tasks and process flows, which together provide a comprehensive blueprint for the release management process. These are described in the following sections.

The release management process begins once change management approves a request for change (RFC) and any solutions pertaining to it have been developed and are considered completed for release into the production environment.

Release Planning

The first step in the release process is the creation of a plan identifying the activities and the resources required to successfully deploy a release into the production environment. The process flow leading to the creation of this plan is shown in Figure 2.

Figure 2. Release planning process flow

The first stage of any project planning activity is to determine what tasks need to be done, when they need to be complete (timescale), and what their priority is in relation to other tasks. Only when these issues are fully understood can the release manager draw up a detailed plan of activities and assign appropriate resources to the project. In the Release Management SMF, the release manager role is responsible for building a release (project) plan for each RFC approved by change management.

When an approved RFC is passed to release management, the release manager establishes which IT components and services need to be changed in order to implement it. The release manager also determines the type and nature of the change in order to plan effectively and select the most appropriate resources in terms of strategy, requirements, and cost, taking into account any agreed-to service levels. To perform this activity, the release manager may call on technical specialists, subject matter experts, third-party suppliers, the infrastructure planning advisory board, and others who may have a clear idea of the requirements associated with the change.

Having established what needs to be done, the release manager then decides how to release those changes into production. It may be appropriate, for example, to treat the RFC as a simple single-release project, with its own project plan and allocated resources. On the other hand, it may be beneficial to combine the changes from one or more RFCs to form a more complex release package.

Once the release is defined, the release manager assigns a release priority and formulates a release plan that describes the tasks and activities required to deploy it into production. Allocating resources to each activity and factoring in resource availability enables the release manager to work out (for the first time) whether the release can be deployed by the required date.

If the release is not possible given the available resources, it may be necessary to review other ongoing project commitments and consider changing priorities to facilitate progress on this release. Note that the release manager may need to discuss this with change management to ensure they have a full picture of the business priorities and any other changes that may be dependents or prerequisites of the release.

With an agreed-on project plan, the release manager can build and document a release strategy describing how to prepare the organization to accept the release, what risks it poses to the production environment, and the manner in which it can be removed from production should it fail to meet its objectives.

Deploying any release into the production environment involves risks to the availability and reliability of that environment. All affected personnel need to be aware of the potential risks involved in the deployment. Recognizing this, the release manager should ensure that the appropriate managers agree on and sign off on the release strategy document before the release moves into the design and build phase.


To complete the release planning activities, MOF Team Model role cluster activities may need to be completed, as described in Table 1.

Table 1. Release Planning Activities by Role Cluster

Role Cluster

Release Planning Activities

Infrastructure

Provides technical expertise during the release planning activities, including identifying how the new release will interact with the existing systems and infrastructure.

Operations

Helps with advice and guidance on how the release can be implemented without undermining day-to-day operations of the technology. Provides advice on training requirements for operations.

Partner

Provides input on how to accommodate third-party and supplier-related releases. Also provides advice on how a release may affect an outsourced partner and identifies any actions that may need to be taken.

Release

Manages and is accountable for the end-to-end activities taken throughout release management. Coordinates all other role clusters during planning.

Security

Provides advice and guidance on security issues related to the planning of a release.

Service

Offers advice on impact on existing service levels for affected service. Offers planning information from service catalog.

Support

Helps with expertise on how to ensure a release is fully supportable. Provides advice on training for the service desk and users. May also advise on logistical needs.

 

Scope Release

When an approved RFC is passed to release management, the release manager assesses the scope of the change before starting to build the release plan. This task involves looking at the RFC and the information provided by the change initiator, change manager, and others involved in the change process and determining which IT components and services need to be changed in order to implement the RFC.

To perform this initial assessment, the release manager looks at the target of the release deployment and any associated configuration items (CIs) and services for which he or she may consult the CMDB; the manager may also refer to information stored in Microsoft Systems Management Server (SMS), Microsoft Active Directory® directory service, or other relevant information systems.

For example, a memory upgrade is approved for all Microsoft Windows® 2000 operating system domain controllers. On receipt of the RFC, the release manager determines how many domain controllers are affected, where they are physically located, and the amount and type of memory that is required. The release manager also identifies any build or process documentation that refers to the amount of memory that should be installed in or ordered for a domain controller.

The release manager also needs to understand the nature and scale of the changes to be made to each component in order to plan effectively and select the appropriately skilled personnel resources. The release manager may need to call on subject matter experts, technical specialists, third-party suppliers, and others to help perform this task effectively.

The release manager should capture and record in the change log all the information collected during this activity and decisions that are made as a result.

To comprehensively scope a release, the release manager can utilize information held in the CMDB to determine which technology components may be affected by the release. Even without using a CMDB, truly accurate completion of this activity requires up-to-date configuration information. This information needs to be presented in such a way that those involved in this activity can effectively plan the requirements of the release.

The software and hardware inventory information reported by SMS can be used to provide the release team with a wealth of information about the target environment. Complex queries can be created to select Windows clients based on whether they meet specific requirements. For example, a simple query can be created to establish which Windows workstations meet the hardware requirements for running Microsoft Windows XP.

Define and Prioritize Release

The release manager oversees all change requests passed to release management from change management and is thus in a good position to assess how these changes should be moved into the production environment.

In many cases, the release manager treats each RFC as a separate release project—with its own project plan, allocated resources, and implementation schedule. Treating each RFC as a separate release project keeps the project plan simple and minimizes risk to the production environment. Since only one of these projects is permitted to update a particular IT component at any one time, any related issues become more apparent.

A service pack upgrade to a Windows 2000 domain controller, for example, would normally be treated as a separate release project, with no other changes (to that server) permitted during the same time as the upgrade. Note that changes to other IT components in the production environment may be scheduled to occur at the same time.

It may be preferable, however, to combine a number of different RFCs to form a single release project, especially if the RFCs make different changes to the same IT components and services. Making changes in this manner can often help reduce downtime and improve the use of resources available to the release manager.

For example, an upgrade to the basic input/output system (BIOS) version of a server is approved by change management. The BIOS upgrade requires that the server be taken out of service (turned off) while the upgrade is being performed. A memory upgrade is also approved by change management (separate RFC) to take the server from 128 megabytes (MB) to 512 MB physical RAM. The addition of physical memory also requires that the server be taken out of service. If these two change requests were treated as separate release projects, the server would need to be taken out of service twice—with a subsequent impact on service availability. It would be better, therefore, to implement these two changes together as a single release and take the server out of service only once.

Note that it may not always be possible to combine two or more RFCs into the same release project, either because of the type of changes being made to the IT components or because of the perceived risk to the production environment.

Once the release manager determines the contents of a release, the release is assigned a reference number linked to the RFC number and the release manager tracks and records the progress of that release. As releases are used to implement changes, it is recommended that RFCs and releases be tracked in the same, or compatible, systems.

Note   The fact that an RFC has been allocated to a release (and the release reference number) should be recorded.

The technical needs of defining the scope of a release mean that any tool used on this function must cope with a range of release packages, covering everything from a single component up to a complex suite of interdependent components. The technology used within this space needs to be able to relate to the specific changes and construct release packages out of this. It also needs to have the ability to combine these packages into larger packages. Tools such as SMS can create software release packages that cover a large range of complexities.

As release packages are created, distributed, and implemented, the release team needs tools to track the status of the release and return this information to the change management system. SMS, for example, provides a status system that provides information that can be extracted and fed directly into the CMDB.

Plan and Schedule Activities

Once the release has been defined and prioritized, the release manager constructs a release plan that identifies the tasks and activities required to deploy the release into the production environment.

For small or well-understood releases, a release plan should contain all of the tasks and activities required to deploy the release into the production environment. For large and complex releases, however, the release plan may contain a number of tasks that simply indicate the duration and owner of a particular phase or stage, with the owner responsible for creating and resourcing a rollout plan to deliver that part of the release.

If a release is to be deployed in Seattle, Cambridge and Edinburgh, for example, the release plan may contain all of the tasks and activities required to roll out the release in Seattle, but not Edinburgh or Cambridge. The release manager may decide to delegate the task of planning and deploying the release in these two locations to locally based support staff as separate stages, since they have a detailed knowledge of the environment and can thus plan accordingly.

Note that although the release manager may delegate responsibility for a part of the release to others, the release manager is still responsible for delivering the entire release, through all stages or phases, into production. In this respect, the release manager needs to agree on and then monitor the progress of all plans connected with the delivery of that release.

The size and complexity of the release drives the selection of tools used to create and maintain the project plan. In planning a large and complex release, the release manager probably needs to use project management tools such as Microsoft Project, but this may not be necessary for smaller releases where a spreadsheet or simple document may be sufficient.

Once the release plan is complete, the release manager may need to discuss it with the change manager and change advisory board, if appropriate, before selecting and assigning resources to specific tasks and activities. The necessity for this review depends on the size and complexity of the release, the number of resources required to implement it, and the perceived risks to the production environment.

The release plan should be saved against the release reference number, and the change log for each RFC in the release should be updated to indicate that the release plan is now complete.

Microsoft Project is an ideal tool for planning medium to large releases since it provides the release manager with an accurate picture of resource requirements and utilization. Its use may be inappropriate for small releases.


Determine Release Team Composition and Roles

For small releases, the release manager may be the only individual required to deploy them into production. For more complex releases, the release manager may need to assemble a release team to carry out certain tasks and activities of the release plan, or the release manager may appoint phase, or rollout, managers to manage a specific part of the release process. A test manager may be appointed, for example, to manage the release during testing.

If additional resources are required, the release manager identifies and selects individuals with the appropriate levels of skill and experience. In some cases, it may be necessary to obtain resources from third-party companies if internal resources are not available or do not have the required level of expertise.

Note that release team members not under the direct control of the release manager may be subject to outside influence and managerial pressure to work on other priority projects. In this instance, the release manager may need to identify backup (supplemental or replacement/substitute) resources for critical team members not under the manager's direct control.

Identify Training, Logistics, and Communications Requirements

To build an accurate picture of the time required to deploy a release into the part of the organization covered by a particular release plan, the plan owner first identifies the requirements to perform each task and activity and then allocates the resources to the plan. In this context, resources include equipment and materials as well as the individuals or groups required to perform a specific task or activity.

At any one time, a limited number of resources may be available to the release manager. Because of this, the release manager needs to consider the priority and urgency of the release in relation to others and to schedule activities and resources accordingly. It may be necessary to re-allocate resources or to postpone or even cancel other work in order to deploy the release, depending on its importance to the business.

The availability of critical resources can have a significant impact on the plan and the eventual deployment of the release. The plan owner should select and use resources that are under the plan owner’s direct control since resources are often subject to pressures and demands from other parts of the organization. The plan owner should also identify backup (supplemental or replacement/substitute) resources for team members and other resources critical to the release.

For example, a release that requires a month of testing is scheduled for deployment at the end of April. If the required test resources are not available until the beginning of April, the release will be delayed unless the scope of testing can be significantly reduced (thereby increasing the risk to the production environment) or additional test resources can be made available. Similarly, if two separate releases are approved by change management, one of which involves installing Microsoft Project onto a user’s workstation and the other involves installing a security hotfix or service pack onto an application server, the release manager normally allocates resources to the service pack upgrade first since the impact on the business of this change not being implemented is higher.

If the scheduled implementation date cannot be met because of problems with resource availability, the release manager may need to replan, restructure the contents of the release (by removing one or more RFCs), or escalate the problem to change management or the CAB, depending on the nature of the problem and the number of alternative resources available to the release manager.

Document Delivery Strategy for Release

Once resources have been allocated to the release plan, the release manager identifies and documents the steps necessary to prepare the organization for the release, the risks it poses to the production environment, and the manner in which it can be removed from production if it fails to meet its objectives. This information, together with the detailed release plan, forms the release strategy.

Depending on the type and nature of the release, the release strategy may need to address the following issues:

  • Training requirements. For some releases, it is necessary to train users, service desk staff, technical support teams, and operations staff in the skills and abilities they need to perform their job roles. Training may take the form of classroom training courses, workshops, or seminars, but it could also be provided by on-demand computer-based training (CBT) courses and simulations.
    • The release manager identifies and describes the type of training to be provided, when the training is to be conducted, how it is to be administered, and the reasons for providing it. A detailed estimate of cost may also be required.
  • Support for the release. The release manager needs to identify and document how the service desk and support personnel will support the release. There may be a need to ramp up the service desk during the initial deployment by hiring temporary support personnel, for example, or by arranging for external support organizations to handle day-to-day support calls while the internal team handles the new release.
  • Communications requirements. Communication is an essential and critical part of preparing for any release. For most releases, the release manager draws up a plan that describes the information to be communicated, audiences, methods of dissemination, frequency of the communications, and the requirements for developing and managing a feedback mechanism that employees can use to voice questions and concerns.
  • Release preparation (logistics). It may be necessary to provide an estimate of the equipment costs and explain how existing equipment will be reused (if appropriate) to minimize cost. In some cases, the release manager may need to provide an indication of when new equipment should be ordered and purchased, where it is to be stored prior to deployment, and how it should be moved from one location to another.

For certain releases, it may be appropriate to perform a survey of the production environment to ensure that the rollout plan contains all of the activities required to deploy the release into that environment. The survey might also uncover issues with the production environment that could significantly delay or even prevent the deployment of the release. The release manager will need to escalate these issues to change management.

A survey may reveal that the data center does not have sufficient (free) network connections to support the deployment of a file server, for example, and that a new network switch is required. The release manager will need to discuss the problem with change management and seek approval for the purchase and installation of the required equipment. Assuming approval is given, the tasks and activities required to connect it into the production network must be factored into the rollout plan.

Release order. The release team may find that business requirements and priorities change during the course of release development and it might be necessary to change aspects of the release plan or the deployment order in response to these changes as the release progresses. Therefore, it is important to confirm the release order at the start of the planning process, but remain aware that this needs to be confirmed and reconfirmed as the deployment approaches. For example, part of the organization that originally agreed to wait until the end of the release process to deploy the release may now identify a pressing need for the release, so the release team may be forced to change the release plan to accommodate them.
      • Note that there may be a number of cost implications and risks associated with amending the release order. The release manager needs to assess these carefully before agreeing to any change.

·         Release plan agreement. Once the release strategy has been documented, the release manager calls a review meeting to determine whether the release can proceed to the next phase of the release management process. This review may be as simple as a peer-to-peer discussion. For some releases, however, the release manager may need to involve or seek approval or advice from the change manager or the CAB.

Complex releases may have a number of different rollout plans, each of which lists the tasks and activities required to deploy the release into a particular part of the organization. As each plan is completed, it needs to be reviewed and agreed on by the release manager and, where appropriate, members of the CAB. The need for a CAB review at this stage depends on a number of factors, including the size and nature of the release, the number and type of resources required to deploy it, and the estimated cost of the rollout.

When it has been completed and agreed on, the release strategy document is stored in the release tracking system. The change log for each RFC in the release is updated to indicate that the release has moved to the design and build phase.

For most organizations, release strategy documents can be created in a specific format. One option is to create a document template using Microsoft Word writing and editing software, and to access this from a share that can be used as a document repository for strategy documents.

Summary of Release Planning Activities

In summary, release planning consists of:

  • Identifying scope and content of an approved change, and the release requirements for successful deployment.
  • Performing a risk assessment for the release and gaining signoff from the appropriate groups.
  • Prioritizing, planning, and scheduling release activities.
  • Establishing a suitable team for the release if required.
  • Liaising with experts and interested parties to determine the required resources and strategy for the release.
  • Documenting and tracking all release planning activities

Release Building

Once the release plan is agreed on, members of the release team identify and develop the processes, tools, and technologies required to deploy the release into production. The process flow that leads to the creation of a release package containing all of the components necessary to deploy the release is shown in Figure 3.

Figure 3. Release building process flow

Although most (if not all) releases could be deployed into production manually, a number of tools and technologies can be used to perform the same task. To make best use of time and resources, the release team should identify the tools and technologies that will enable it to automate as much of the deployment process as possible.

Once the release mechanism has been selected, the release team creates a release package that contains the processes, tools, and technologies required to deploy the release into production by using the selected mechanism and to remove it from production should that become necessary.

For some releases, the release package may simply consist of a set of documented installation and removal procedures.

The completed release package should be tested in a lab environment to give the release team a degree of confidence that it will work correctly when used in production. Assuming testing completes successfully, the release and the contents of the release package are then placed under the control of change management.

The MOF Team Model role clusters and their involvement in the release design and build activity are described in Table 2.

Table 2.

Release

Building

Activities by Role Cluster

Role Cluster

Release Building Activities

Infrastructure

Performs much of the technical activities associated with constructing the release package due to the technical nature of most releases.

Operations

Provides input into the building of the release package, specifically with testing and how it may affect the production environment.

Partner

Has limited involvement at this stage except where there is overlap with partner or third-party responsibilities.

Release

Continues to manage all activities during the building of the release package and coordinate all other role clusters during this phase.

Security

Provides advice and guidance on security issues related to the building and testing of the release package.

Service

Provides advice on service levels and input into how the release may affect these.

Support

Helps with expertise on how to test the release so that it can be fully supported once it is deployed.

 

Select Release Mechanism

A release may be deployed into the production environment in a number of ways. The release team needs to select the one that best enables it to deliver the release on time and within budget.

Even for process documents, the release team may have a number of alternatives. If master copies of the documents are stored in an online repository such as Microsoft SharePoint™, for example, new and updated documents could be added manually. The release team could also use a Web-based tool that ensures that all the required document properties, such as author and revision number, are completed before the document is added to the repository. The tool could also provide facilities that enable the release team to roll back to the previous version (in a controlled manner) should this become necessary.

The release team should aim to deploy each release by using a mechanism that allows it to automate as much of the process as possible since this ensures repeatability and consistency. Although this is an ideal, the time required to develop the most technically elegant and efficient release mechanism is not always available and a compromise must be found. This is especially true of emergency releases where the release team is under considerable pressure to deploy the release regardless of the relative efficiency of the release mechanism.

If there is a need to apply a security hotfix to a critical line-of-business server, for example, the release manager may decide that manual installation is the most appropriate release mechanism, even though Microsoft Systems Management Server would normally be used to distribute and install service packs and hotfixes.

Although performing one-time manual installations may be appropriate in certain circumstances, if the number of these requests escalates, the release manager may quickly find that no resources are available to work on other (perhaps more critical) releases. Service level agreements (SLAs) between release management and the business may suffer as a result.

Design Release Package

Once the release mechanism has been selected, the release team can develop the procedures, tools, and technologies necessary to deploy the release into production using the selected mechanism and to remove it from production if necessary.

The release package design will need to take into account the requirements of the release. For instance, it may need to update configuration files, create scripts, or even develop or acquire a number of different tools and utilities in order to deploy the release by using the selected release mechanism. When deploying a software application by using Microsoft Systems Management Server, for example, the release team can choose to allow the user to interact with and provide information to the installation routine. As this interaction often leads to inconsistencies and nonstandard configurations, most software releases are performed without user involvement. To achieve this type of installation, the release team might create a number of configuration files, use unattended installation programs and utilities provided by the software manufacturer, or use technologies that allow images or snapshots to be taken following a successful installation, which can then be applied to other computers.

Ideally, when designing the solution, the same tools and technologies used to deploy the release into production will also be able to uninstall it, returning the production environment to its previous state. Wherever possible, the tools and technologies used should be instrumented (supplied with measuring devices) so that they automatically maintain information within the configuration management database.

To ensure that the design meets not only the technical requirements of the release but is also an appropriate fit for technology strategy, organization requirements, and budgetary constraints, the design should be agreed on by the release team and should be aligned to any strategic guidelines for release packages.

Build Release Package

The release package is built in line with the solution design. It is important to consider, however, that in building the release package, the release team must document the manual processes and procedures required to deploy the release into production (or remove it as necessary) in addition to any technology solution. The documentation created as part of the build stage should include details of how to monitor and check the effectiveness of the release and how to recognize and react to problems. It may not always be necessary to back out changes when the release fails; for example, a workaround may be more appropriate, but the acceptance criteria for this should be considered as the build develops.

Depending upon the size and scale of the release and the amount of development time available to the release team, it may be appropriate to evaluate a number of different release mechanisms, deployment tools, and technologies. Building the most efficient and cost-effective solution can make a significant difference in the speed of deployment and the overall cost of the release.

Test Release Package

Once the release package build is complete, both the technology solution for the release and the supporting process documentation are tested in a lab environment. This is a test to ensure the mechanism delivers the designed release successfully and that the technical elements of the release all work.

Once testing is complete, the release manager calls a review meeting to discuss the results. This review may be as simple as a peer-to-peer discussion. For some releases, however, the release manager may need to involve the change manager or CAB. If problems are encountered during testing, the release team evaluates the results to establish whether parts of the solution should be reworked or whether a different deployment mechanism should be used and passes the release back to the design process for further investigation.

Place Copy of Release Package into DSL and Update CMDB

Assuming agreement to proceed, the release manager ensures that changes to the release or any element of the release package are authorized and controlled by change management.

To achieve this, detailed information about the release and the release package should be recorded in the configuration management database, and any software components such as configuration files, application source files, and scripts should be added to the definitive software library (DSL).

Note that the DSL is a secure library that contains all versions of software that have been approved for storage following development and testing, in addition to those that are currently being deployed in the production environment.

The release tracking system is updated once information about the release and release package has been added to the CMDB. The change log for each RFC in the release is updated to indicate successful completion of this phase of the release process. All changes to the contents of the DSL must be strictly controlled because this library is used as the source for every software application, tool, or utility installed in the organization.

Security should be configured to allow authorized users to read information from the DSL but it should require the use of a DSL Web form to add or remove files.

The DSL needs to be reliable and available at all times. A number of copies can be made and placed in separate locations to ensure that the organization can rebuild and recover any site in the event of a disaster.

Summary of Release Building Process

In summary, the release building process:

  • Selects a suitable release mechanism for the change that is a strategic fit, is repeatable, and is consistent.
  • Designs and builds a release package for the change that allows it to be successfully deployed.
  • Tests that the release package delivers the change effectively in line with requirements.
  • Ensures the release package is updated to the CMDB as a pending release package and any script is added to the DSL.

Acceptance Testing

Up to this point, the emphasis of testing has been to confirm that the release and release package work correctly within a development environment. Acceptance testing allows developers and business representatives to see how the release and release package perform together in an environment that closely mirrors production. In some cases, pilot testing is required to build the confidence necessary to proceed to a corporate-wide deployment of the change. The process flow leading to a release being accepted as suitable for deployment is shown in Figure 4.

Figure 4. Acceptance testing process flow

Although testing in a simulated production environment provides the release team with a degree of confidence in the release, it does not guarantee that the release will perform well in production where conditions may be significantly different. In this respect, it may be necessary to perform a number of controlled tests in the production environment to confirm that the release meets expectations. Piloting a release in a production environment carries a number of risks to that environment and should only be performed if the recovery procedures contained in the release package have been proven in the test environment.

The MOF Team Model role clusters and their involvement in the release acceptance activity are described in Table 3.

Table 3. Release Acceptance Activities by Role Cluster

Role Cluster

Release Acceptance Activities

Infrastructure

Provides technical advice and guidance in release acceptance testing.

Operations

Advises and provides sign-off on whether the release meets the operability requirements of the environment. Is also involved in testing these.

Partner

Has limited involvement at this stage except where the partner or third party has direct responsibility and then may need to be involved in the sign-off.

Release

Continues to manage all activities during the release acceptance phase and coordinate all other role clusters during this phase.

Security

Advises and provides sign-off on whether the release meets the security requirements of the environment. Is also involved in testing these.

Service

Advises and provides sign-off on whether the release meets the service level requirements for affected components and services. May also be involved in testing these requirements.

Support

Advises and provides sign-off on whether the release meets the supportability requirements of the environment. Is also involved in testing these.

 

Build Test Plan

The test plan should be aligned to critical success factors and the key deliverables of the release. It is unlikely that time and resources will allow testing of every eventuality. However, the release manager will be able to highlight the key elements of the release and release mechanism that require testing and should also look at the release technology-specific testing in line with any business requirements for the release, cost, operability, and timings.

Design and Build Test Environment

To ensure releases do not adversely affect the production environment, an organization should build and maintain a test facility that effectively models the conditions existing in production. The degree to which this can be achieved is limited by the complexity of the target environment and the amount of time and money the organization is willing to invest, but the test facility should be sufficiently equipped to allow the release team and business representatives to develop confidence in a release.

A test manager is appointed to oversee the creation of the test facility and to monitor and control all activities that take place within it. The test manager ensures that changes to the test configuration or setup of the test lab is controlled and authorized and that those using test equipment and resources make no changes without going through the change control process.

To test a release using this facility, the release team reserves the required resources with the test manager. There may be occasions when a number of different releases are competing for the same resources and in these situations, the test manager assesses the relative priority of each release and allocates resources accordingly.

Because the test facility may need to be restored (returned to its original condition) at the end of a test or suite of tests, the test manager should ensure that its original configuration and structure is recorded in the CMDB beforehand. It will also be necessary to make extensive use of automated setup tools and utilities to minimize the amount of time required to restore the environment.

Perform Tests and Evaluate Results

It is not possible to test every eventuality. The amount of time allocated to testing a release will be limited by time pressures, the availability of test resources, and a number of other factors. With these constraints in mind, the focus of testing should be on what an organization sees as the key aspects of functionality, with other tests performed as time allows. For most releases, key functionality tests include proving the effectiveness of backout and recovery procedures.

In this respect, the release team—plus business representatives and other stakeholders in the release such as a partner—should draw up a test plan that enables them to develop confidence in the release and its ability to perform in the production environment. Once the plan is complete, the release team performs the tests jointly with business and user representatives and members of the operations team who will be actively involved in the rollout and long-term support of the release.

As each test is completed, the results are documented and verified against the expected results. Failures encountered during testing should be investigated and evaluated to determine if the failure is acceptable or if components in the release or release package need to be reworked.

Although testing is normally associated with technology solutions, it may also be used to check the effectiveness of amendments to IT processes and procedures. Testing in an environment that simulates production can also be a useful training aid.

Perform Pilot and Evaluate Results

Although testing in a simulated production environment provides the release team with a degree of confidence in the release, it does not guarantee that the release will perform well in production where conditions may be significantly different. In this respect, it may be necessary to perform a number of controlled tests in production to confirm that the release meets expectations.

Note that a release should not be piloted in production unless the backout and recovery procedures contained in the release package have been proven to return the simulated test environment to the state that existed prior to deployment.

As pilot testing is carried out in production, it poses a number of risks to the availability and integrity of systems within that environment. In this respect, the release team needs to secure the approval of change management before it can begin to implement the pilot test. To gain that approval, the release team creates a document outlining the objectives or purpose of the pilot, the rollout (deployment) plan, and the backout process. It also needs to describe how the pilot will be supported and the amount and type of user and support staff training that will be required.

Once the release is deployed, users and administrative staff can monitor and evaluate performance based on real-world conditions. If this process leads to the conclusion that the release does not meet its objectives, it should be backed out and the environment restored to the state that existed before deployment began.

Conducting a pilot test offers a number of advantages to the release team. It gives team members the ability to obtain feedback directly from the user population and also enables them to confirm that the release meets the stated objectives and performance requirements before full rollout begins. User feedback is also helpful in determining the likely level of support that will be needed after full implementation.

Obtain Acceptance to Proceed

After pilot and acceptance testing has been completed, the next step is to evaluate the test results and agree on the action to be taken—either to move to the Release Readiness Review or to return the release to the change owner or release manager for additional work.

The release manager, change manager, and change owner are the primary participants in this discussion, but it also may include representatives of other interested groups, such as the test teams, service desk, and user community (depending on the nature and size of the release).

Although a release may have failed a number of tests, both in the lab and in the production environment, the failures may not be significant enough to prevent deployment. Even if there are implications for the production environment, there may be a number of compelling business reasons why the release must be deployed.

For example, in a business-to-business commerce site, one feature—such as automated sign-up—may not work. It is easy to remove this feature and use a manual workaround. Therefore, the team might choose to proceed without this feature.

The testing experiences and lessons learned (in addition to any workarounds developed) are captured and documented. If issues were picked up during testing that affect the user community or service levels, it is necessary to discuss workarounds and expected problems with the service desk representatives and to ensure that the workarounds will be available to the service desk prior to deployment. Additional RFCs might need to be initiated in order to make the release work as planned. In either case, the change log needs to be updated with the decision and any other supporting information.

Summary of Acceptance Testing Process

In summary, the acceptance testing process:

  • Designs and builds an accurate test environment that models the conditions in production.
  • Performs key functionality user acceptance tests aligned to the requirements of the change and release to ensure confidence in the release.
  • Performs controlled pilot testing in the production environment where necessary.
  • Evaluates acceptance testing results to make a confident decision to move toward release preparation.

Release Preparation

After pilot and acceptance testing has been completed, the next step is to prepare the production environment for the release, move through the preparation process (see Figure 5) and agree on the action to be taken—either to move to the Release Readiness Review or to return the release to the change owner or release manager for additional work.

Figure 5. Release preparation process flow

The release manager, change manager, and change owner are the primary participants in the Release Readiness Review discussion, but it also may include representatives of other interested groups, such as the test teams, service desk, and user community (depending on the nature and size of the release).

Although a release may have failed a number of tests, both in the lab and in the production environment, the failures may not be significant enough to prevent deployment. Even if there are implications for the production environment, there may be a number of compelling business reasons why the release must be deployed.

For example, in a business-to-business commerce site, one feature—such as automated sign-up—may not work. It is easy to remove this feature and use a manual workaround. Therefore, the team might choose to proceed without this feature.

The testing experiences and lessons learned (in addition to any workarounds developed) are captured and documented. If issues were picked up during testing that affect the user community or service levels, it is necessary to discuss workarounds and expected problems with the service desk representatives and to ensure that the workarounds will be available to the service desk prior to deployment. Additional RFCs might need to be initiated in order to make the release work as planned. In either case, the change log needs to be updated with the decision and any other supporting information.

The MOF Team Model role clusters and their involvement in the release preparation activity are described in Table 4. They may be represented at the Release Readiness Review.

Table 4. Release Preparation Activities by Role Cluster

Role Cluster

Release Preparation Activities

Infrastructure

Provides technical advice and guidance with the release preparation and supports training, logistics, and pre-staging of rollout. Also provides input into the Release Readiness Review decision (milestone).

Operations

Provides input into the release preparation that ensures it does not adversely affect the operational environment and ideally can be seamlessly integrated into operational working practices. Attends training and provides assistance with deployment logistics and pre-staging. Also provides input into the Release Readiness Review decision (milestone).

Partner

Focuses on what a partner or third party is contributing to the release or where the release may affect work done by a partner or third party. In these cases, provides advice and guidance to the release preparation activities and training resources and also provides additional resources for pre-staging activities and logistics to facilitate the deployment. Also provides input into the Release Readiness Review decision (milestone).

Release

Owns release preparation and the Release Readiness Review and coordinates the input from all other role clusters during this phase.

Security

Ensures that release preparation does not undermine any of the organization’s security policies and guidelines. Also advises on changes to the deployment plan to minimize security risks. Provides input into the Release Readiness Review decision (milestone).

Service

Ensures the release preparation is aligned to service level requirements and provides input to the Release Readiness Review decision.

Support

Helps ensure that the release is constructed in a way that ensures supportability during deployment. Involvement primarily limited to assisting preparation to support the deployment. Attends training and provides assistance with deployment logistics and pre-staging. Provides input into Release Readiness Review decision (milestone).

 

Assemble Resources

To prepare for release, the release manager or the manager in charge of a particular rollout phase confirms that all of the resources needed to successfully deploy the release into production can be accessed. As before, resources in this context include equipment and materials as well as the individuals or groups that will carry out the tasks and activities listed on the rollout plan.

There may be a number of reasons why the required resources are unavailable. Personnel originally allocated to the release plan may be on vacation, absent due to illness, or transferred from the release to other, more business-critical projects. The hardware or software vendor may be experiencing production delays or lack of equipment that was supposed to be freed up from earlier work. Whichever the case, the release manager develops an appropriate workaround and continues with release preparation tasks. If the release manager cannot find a workaround, the problem should be escalated to change management.

The release manager also ensures that all of the materials and equipment needed for the release have been transported to the site or location where it is to be installed. If a new rack-mounted server is to be installed in the Seattle server room, for example, the release manager checks that the server and all of the components required to rack-mount it and connect it to the production network have been delivered to that site before arranging for installation. Note that the release manager may need to liaise with third-party suppliers to confirm delivery dates for equipment and other components not already on-site.

Change management might need to approve a number of changes to support a particular rollout. To support the rollout of Microsoft Office XP, for example, a server in each business location might be used to hold a copy of the application source files. If one of these servers has insufficient disk space and no room for additional disk drives, it may be necessary to purchase and install an external drive bay. Only change management has the authority to authorize this.

In this respect, the release manager needs to confirm that change management has approved the deployment of the release, as well as the changes necessary to prepare the production environment for the deployment of the release.

Provide Advance Communication of Release

Up to this point, the focus and emphasis of communication has been to develop awareness of the release and the business benefits it will bring to the organization, effectively marketing the release to its target audience. In release preparation, however, the emphasis shifts to developing organizational readiness

Information communicated to users, support staff, and others during the release preparation process often includes release plans and dates, details of where to find and sign up for training courses (if appropriate), and where to obtain more detailed information about the release. A detailed Q&A may also be provided to address the most common questions and concerns.

It may also be appropriate to provide a list of actions the users need to carry out to prepare themselves and their workstations for the release. For example, if older workstations are being replaced because they do not meet the Windows XP minimum hardware specification, the information provided during release preparation could include the steps necessary to manually copy user files from the hard disk to a personal data area on the network file server.

Note that prior to deployment, the release manager and others involved in the release process should check and confirm that users have actually performed these tasks. To reduce the chance of valuable information being lost, the release package should include automated tools and technologies that perform these critical tasks without user intervention.

Train Support and Administrative Staff

The skills and expertise of the team responsible for operating and maintaining a release are critical to its long-term success. For some releases, support staff and administrators already have the skills they need to perform their roles effectively; while for others, it may be appropriate to rely on their ability to develop practical experience in the field. In some cases, however, the use of training courses, workshops, or technical seminars will be necessary for developing the required skills and abilities.

For each new release, the release manager identifies the skills and abilities required to support and maintain it. Having done so, the release manager arranges for a skills gap analysis to be performed on those responsible for carrying out those tasks in order to see if there are any areas that need to be developed or enhanced through training. Note that there may be a need to enhance IT operations skills as well as skills in technical- or product-focused areas.

Having identified the areas needing to be addressed, the release manager or members of the training department (where available) can determine the best way to develop the required skills. It may be appropriate, for example, to use external or internal training courses, computer-based training, or even classroom simulations of the production environment.

Note that unless prior agreement is reached with the business, existing service level agreements must be maintained while support staff and administrators are being trained in the new release.

Prepare Production Environment

In some cases, it is necessary to prepare the production environment for the deployment of a release. The number of tasks and activities required to achieve this depends on the type and nature of the release and, to some extent, on the selected release mechanism, but often includes making a secure backup of the IT components being updated or changed.

If the release involves upgrading a Microsoft Windows NT® 4.0 domain to Windows .NET, for example, recommended best practice is to create a backup domain controller (BDC) for the Windows NT 4.0 domain and remove it from the network before the upgrade begins. If there is a need to back out and restore the Windows NT 4.0 domain, this can be achieved by promoting the BDC to a primary domain controller (PDC) and reconnecting it to the production network.

Where possible, preparation tasks and activities should be scheduled so that they have no impact on existing service levels. For example, if preparing to deploy a new software application to all client workstations within the organization, it will be necessary to distribute a copy of the application source files to distribution points (file servers) in every business location. If this is performed over the network during normal business hours, it can have a significant impact on response times. To maintain the required service level, distribution should be scheduled to occur outside normal working hours or restrictions should be placed on the amount of network bandwidth available to the distribution mechanism.

The release manager also needs to make sure that the people and process side of the production environment is ready for the release. The service desk, for example, needs to be provided with information about workarounds and known problems and be prepared to handle the initial rise in call volumes. Technical support teams need to be provided with manuals, tools, and other technologies that will enable them to troubleshoot and diagnose problems. Other individuals also need to be made aware of any changes to operational procedures and their existing job role and responsibilities.

Release Readiness Review

The decision on whether the release is ready for deployment takes place as part of the Release Readiness Review discussion at the end of the release preparation process.

The Release Readiness Review is one of the four operations management reviews (OMRs) in the MOF Process Model and is the final management checkpoint and approval step before the release team begins deployment. The Release Readiness Review ensures the readiness of the release for deployment. It includes the operability and supportability of the release itself, as well as the readiness of the target production environment to support and operate the deployed release.

The Release Readiness Review produces a go/no-go decision about whether to deploy the release. If the decision is a go, the release will be deployed into the production environment. Otherwise, the deployment is postponed until the necessary improvements take place or it is canceled. Either way, the change log should be updated.

During the Release Readiness Review, the following factors are considered:

  • The order of the deployment to the target group.
  • Business alignment and priorities.
  • Any deployment plans.
  • Ownership of actions and activities on deployment plans.
  • Whether a survey of the target group has highlighted any issues.
  • Whether all plans have been signed off by appropriate management.
  • The availability of adequate resources in the right locations for deployment; for example, equipment, technology, and support staff.
  • Whether all required communications with all affected groups are carried out.
  • The training of all involved administration and support staff.
  • The readiness of the production environment for the release.
  • The approval of any necessary related changes in line with SLAs.

All of these components combine within the release preparation stage to ensure that the completion of the Release Readiness Review should result in approval to deploy the release into the production environment.

But even at this late stage in the process, it may be necessary to suspend or even cancel the release. For example, a change in business priorities may mean that the release is no longer required, it may have been superseded or replaced by a newer version, or the emergency deployment of another release may need to use some or all the resources planned for this deployment.

Prior to rollout preparation, it is possible to suspend or even cancel the release with no impact on the production environment. At this point, however, a number of changes may have been made to prepare for the release: Software application source files may have been copied to distribution points (file servers) in multiple business locations, new servers may have been installed and made ready for use, or additional service desk personnel may have been hired or brought under contract to field support calls.

If deployment is temporarily suspended, it may be possible to leave some or all of these changes in place. Microsoft Project 2002, for example, could be left on distribution points until additional support staff is released from other, higher priority work. The decision whether to leave these changes in production or remove them depends on a number of factors, including the type and nature of the change, the expected delay before deployment recommences, and cost.

Note that all IT components and services deployed into production carry an element of cost. All servers, for example, must be maintained and kept up-to-date with service packs and security hotfixes even if they are not being used. It can often be more cost-effective to remove these from production and re-install them once work is resumed. The release manager should obtain agreement from appropriate management levels before proceeding.

The release tracking system should be used to record the decision to proceed or rework rollout preparation steps. If deployment is canceled or suspended by change management, this fact should also be recorded in the tracking system.

Use of the Risk Management Discipline, while an important consideration for all MOF reviews, is especially important for the Release Readiness Review. This is because the introduction of a new or updated release usually entails a great amount of uncertainty, and the Release Readiness Review is the last checkpoint before the deployment status of the release can change from a potential risk to a real problem.

The Release Readiness Review process contains four essential steps:

  • Plan for review.
  • Prepare for review.
  • Conduct review.
  • Follow up on review.

Note   Each of these process steps is explained in greater detail in the MOF Release Readiness Review guide at http://www.microsoft.com/mof.

Summary of Release Preparation Process

In summary, the release preparation process:

  • Ensures that adequate resources are available for deployment of the release.
  • Ensures that effective communication pertaining to the release is carried out.
  • Ensures all training and user activity needed for deployment have been completed.
  • Confirms the suitability of plans and readiness of the production environment for receiving the release.
  • Reviews the preparation and suitability of the release for deployment into the production environment.
  • Ensures all related changes have been handled by the change management process.
  • Manages the discussion around the Release Readiness Review inputs and has the processes to deal with the outcome of this OMR.

Release Deployment

Although the technical tasks and activities required to deploy a release into the production environment depend on the type and nature of that release and on the selected release mechanism, the process flow shown in Figure 6 is applicable to all.

Figure 6. Release deployment process flow

The process of deploying the release into the production environment depends on the type and nature of the release and on the selected release mechanism. In all cases, however, the release manager should be provided with status reports and, where appropriate, tools and technologies that will enable tracking and monitoring of deployment progress. As changes are made to IT components during deployment, corresponding changes must be made to the configuration items and relationships modeling them in the CMDB.

Once the release is deployed, the release manager confirms that it is working correctly before proceeding with further deployments. For some releases, technical support staff can obtain confirmation by using a number of tools and technologies; for others, the release manager may need to ask the service desk to contact individual users for their feedback and comments.

If the release fails to meet expectations or if serious problems are encountered during deployment, problem management may be needed to help identify and diagnose the root cause of the problem. If a suitable fix or workaround can be found, this should be documented and a request for change created to deploy it into the production environment. If not, it may be appropriate to use the backout procedures to remove the release from that environment.

Once the release deployment phase is complete, the release process should ensure that any results and information about any workarounds or RFCs raised in support of the release are recorded. If the release needs to be backed out, this should also be recorded, including any information that supports this decision.

The MOF Team Model role clusters and their involvement in the deployment activity are described in Table 5.

Table 5. Release Deployment Activities by Role Cluster

Role Cluster

Release Deployment Activities

Infrastructure

Provides technical expertise and guidance during the deployment of the release. Also provides assistance to the support role in dealing with complex technical issues and performing root cause analysis. Provides input into key decision points such as halting the deployment.

Operations

Is actively involved in performing day-to-day management of systems as they are deployed. Provides input into key decision points such as assessing the success of the deployment or halting the deployment.

Partner

Focuses on performing specific activities such as training and deployment. Can provide input into key decision points such as assessing the success of the deployment or halting the deployment; however, this depends on the responsibilities that the Partner Role Cluster takes.

Release

Owns the release deployment, coordinating the input from all other role clusters during this phase. Owns the key decision points such as assessing the success of the deployment or halting the deployment.

Security

Has limited involvement in this phase other than providing input into key decision points such as assessing the success of the deployment or halting the deployment.

Service

May deliver metrics on the performance of the deployment in line with agreed-on service levels. Provides input into the success of the deployment. May also provide information from customer relationship angle in ascertaining feedback for selection of deployment group and on the success of the deployment. Ensures any changes are entered into the service catalog.

Support

Is actively involved in supporting the release as it is deployed. Provides input into key decision points such as assessing the success of the deployment or halting the deployment.

 


Deploy

Although there may be situations where a release needs to be made available to all users at the same time, this approach to release deployment carries with it a high degree of risk. If a problem is encountered with the release, for example, the service desk will be forced to field a significant number of support calls and resources may need to be pulled from other releases and activities to resolve the problem.

For some releases, however, it is possible to structure the deployment plan so that the release is only deployed to a small group of users at any one time. The release is allowed to continue to the next group only when deployment has been signed off as being successful (and complete) for the current one.

In either case, users should have the opportunity to complete their current activity and make secure backups of sensitive files and information before deployment begins.

With some releases, the release manager needs to ensure that users can make effective use of the release from the moment it becomes available. There is little business benefit from installing a new software application on user desktops, for example, without providing the training materials and manuals that enable use of it. In some cases, the release manager and members of the training department (where available) will need to develop training programs to prepare users for a release.

Ideally, user training should occur just before the release is made available so that users can immediately begin to use the skills they have acquired. Training users too far in advance of deployment significantly reduces the value of that training and may make it necessary to provide refresher courses or to repeat some of the training.

The process of moving the release into the production environment depends on the type and nature of the release and on the selected release mechanism. In all cases, however, the release manager should be provided with status reports and, where appropriate, tools and technologies that enable tracking and monitoring the deployment progress.

Note that, wherever possible, the release should be deployed into the production environment outside normal business hours, since this minimizes disruption and reduces the potential impact on agreed-to service levels.

As changes are made to IT components during deployment, corresponding changes must be made to the configuration items and relationships that model them in the CMDB. If managed IT components in the production environment are changed without mirroring them in the CMDB, information within the database quickly becomes out of date or inaccurate and the value of configuration management to other SMFs is significantly reduced. The selected release mechanism should make these changes automatically, but—in practice—this is not always possible. Manual data entry may sometimes be required to keep the database up-to-date.

The team performing the deployment may also learn a number of lessons pertinent to future deployments of that release. These experiences need to be documented and, where appropriate, used to update the information contained in the release package. (Changes to the content of the release package need to be formally approved by change management.)

For software releases, SMS advertisements can be used to schedule installation or removal at specific times of day or, if required, immediately. If scheduled to occur during the work day, users can be granted the ability to postpone installation if the administrator allows it. Other installations can be made mandatory with no ability to postpone.

Review Deployed Release

The release manager confirms that the release is working correctly before proceeding with further deployments. For some releases, technical support staff can obtain confirmation by using a number of tools and technologies—for example, the Active Directory Replication Monitor tool (ReplMon) may be used to determine whether a new domain controller is replicating with its peers. For other releases, the release manager may need to ask the service desk to contact individual users for their feedback and comments. Note that although a release may not be performing according to expectations, these issues may not be sufficient to prevent further deployment.

If the release fails to meet expectations or if serious problems are encountered during deployment, problem management may need to help identify and diagnose the root cause of the problem. If a suitable fix or workaround can be found, this should be documented and an RFC created to deploy it into production. The RFC should also ensure that the fix and any supporting documentation are added to the release package.

Since it may not be possible to fix or work around a particular problem, it might be necessary in some cases to use the backout procedures to remove the release from production.

The results and information about any workarounds or requests for change raised in support of the release should be recorded against the release reference. If the release needs to be backed out, this should also be recorded, along with any information supporting this decision. At the end of this release deployment process, all the RFCs that make up the release should be returned to change management, and the deployment process concludes with the completion of the change review process. More information about this process is available in the MOF Change Management Service Management Function guide.

Summary of Release Deployment Process

In summary, the release deployment process:

  • Selects a suitable deployment group for the release.
  • Ensures users are adequately trained in a timely manner for the maximum benefit from the release.
  • Deploys the release into the production environment.
  • Reviews the deployed release, taking into account feedback and comments from all parties involved.
  • Passes the feedback to the change manager for the change review process.
  • Closes the release following the successful deployment and completion of the review.

5

Roles and Responsibilities

Roles associated with the Release Management SMF are defined in the context of the management function and are not intended to correspond with organizational job titles. Specific roles have been defined according to industry best practice. In some cases, many persons might share a single role; in other cases, a single person may assume many roles, or at least more than one role. It is especially likely that a person will assume different roles with respect to different SMFs. For example, the release manager for release management is likely to be the change owner for change management.

The roles also correspond to the roles defined with the seven role clusters of the MOF Team Model. These role clusters (Release, Infrastructure, Support, Operations, Partner, Security, and Service) represent at a high level the functions that must be performed in an IT environment for successful operations. The roles within each cluster are closely related to each other.

The significant roles defined for the release management process are:

  • Release manager
  • Change owner
  • Communications coordinator
  • Documentation coordinator
  • Testing coordinator

Committees are also defined in terms of the roles they play and the responsibilities they have in the context of the release management function. A committee typically involved in the release management process is the change advisory board (CAB).

Release Manager

The release manager is responsible for managing the release process, which includes planning for the release, ensuring user acceptance tests have been completed, verifying training has been provided to the affected user community if needed, validating the backout plan, staging the pilot tests, and implementing the full deployment of the release. The release manager develops detailed release plans, coordinates all project teams associated with the release, acts as liaison to appropriate management, and manages the evaluation process upon completion of the project.

For releases with large and complex scopes, the release manager forms a release team to manage the release activities. The release manager selects the team members and assigns team roles and responsibilities. The release manager facilitates team communication, thereby ensuring that releases are implemented according to the approved timeline, with system integrity and availability maintained.

Change Owner

Deployment of a release is the process of implementing a release into the production environment. The change owner is responsible for planning the release implementation, including developing implementation plans, establishing the implementation schedule, and determining deployment locations. The change owner ensures that proper implementation training is provided to rollout team members prior to implementation. The change owner also validates the deployment and, more importantly, the backout procedures before a release is implemented to either the pilot or production environments.

The change owner is the single point of contact with the CAB. The change owner reports any deficiencies or problems with the release activities and is advised of any changes to the expected release. The completion of the deployment signals the handover back to the change management process, and the change owner is key in ensuring the timely completion of the change review.

Communications Coordinator

Keeping affected parties informed during the release process is one of the most important tasks of release management. The communications coordinator is responsible for developing, updating, and managing the communications plan. The communications coordinator relies on assistance from members of the release and training teams and IT personnel who are knowledgeable about the release process and IT issues. Throughout the release process, the plan should be assessed and updated to maintain its effectiveness.

Key goals of the communications coordinator are to:

  • Increase understanding of the pending release.
  • Develop user acceptance for the release.
  • Demonstrate management support for the release.
  • Establish feedback mechanisms for stakeholders and users to voice their concerns.
  • Provide timely and accurate release status.
  • Maintain employee morale and productivity by fostering an open atmosphere and relieving employee concerns about the pending release.

The communications coordinator also creates and disseminates the information provided to stakeholders, release team members, and users; determines the channels and frequencies of communication to these various parties; and establishes a feedback mechanism that personnel can use to voice their questions and concerns regarding the release.

The communications coordinator not only keeps employees informed, but also builds support and confidence in the release. The communications coordinator must be respected within the organization so that information received from this individual is perceived as being important and reliable. The communications coordinator should possess excellent verbal and writing skills as well as high credibility among the user community.

Documentation Coordinator

Implementing a release into the production environment necessitates changing existing documentation or developing new documentation to support the release. The documentation coordinator is responsible for reviewing existing manuals and making appropriate changes that reflect the modifications made to the production environment. This person is responsible for reviewing all documentation, including user guides, administrator guides, reference materials, and all other materials supporting the existing systems affected by the release. Based on input from release developers, testers, users, and support personnel, the documentation coordinator modifies all documentation and disseminates it to the appropriate personnel prior to implementation of the release.

Testing Coordinator

Testing is conducted to ensure that the new system successfully meets user and business needs. Organizations may often have a permanent test environment that the testing coordinator maintains. If a permanent test environment does not exist, the testing coordinator is responsible for designing and building a test environment and maintaining that environment throughout the release process. The testing coordinator contributes to the development of tests, manages the release user acceptance testing process, reviews the testing results, and evaluates how to handle failures. At the completion of testing, the coordinator develops a test analysis report that is used by appropriate management to decide whether to continue the release process. The testing coordinator also ensures that all failures are properly reported to the release manager, who is responsible for coordinating the correction of identified problems with release team members and development personnel.

Change Advisory Board

The Change Advisory Board (CAB) is a decision-making body for the IT organization that evaluates and votes to approve or reject RFCs.

Summary of Responsibilities

The following table summarizes the responsibilities associated with each of the Release Management SMF roles.

Table 6. Release Management Roles and Responsibilities

Role

Responsibilities

Release
manager

·         Manages the overall release process.

·         Develops detailed release plans.

·         Coordinates all project teams associated with the release.

·         Acts as a liaison to appropriate management.

·         Manages the evaluation process upon completion of the project.

·         Forms a release team to manage the many required activities (selects team members and assigns team roles and responsibilities).

·         Facilitates team communication to ensure that releases are implemented according to schedule.

Change owner

·         Manages the planning and coordination of any pilot staging and organization-wide implementations.

·         Develops implementation plans and determines site locations for pilot rollouts.

·         Establishes implementation schedules.

·         Identifies and communicates problems and schedule changes based on feedback from release team coordinators.

·         Ensures that the rollout team is properly trained.

·         Validates deployment and backout plans during release testing.

Communications coordinator

·         Develops and manages the communications plan.

·         Develops content based on input from all project members.

·         Finalizes and distributes content.

·         Determines the channels of information dissemination.

·         Develops feedback mechanisms and a collection database for user comments.

·         Ensures communication of issue resolution in a timely and effective manner.

·         Evaluates and updates the communications plan to maintain its effectiveness throughout the release process.

·         Communicates release goals and scope to users.

·         Communicates release status, progress, and issues to appropriate groups.

Documentation coordinator

·         Assesses current user guides, administrator guides, and reference manuals.

·         Defines purpose and use of required documentation.

·         Identifies required documentation from developers and users.

·         Identifies documentation options and formats that meet the users’ needs.

·         Designs, develops, and proofs documentation.

·         Tests and validates documentation with users.

·         Manages the modification of existing documentation to support the release.

·         Disseminates documentation to appropriate personnel.

Testing
coordinator

·         Designs, builds, and maintains the test environment.

·         Prepares tests and procedures and executes testing strategies.

·         Identifies testers and assigns testing responsibilities.

·         Develops and manages testing schedule.

·         Documents test procedures and problems.

·         Manages problem resolution and re-testing.

·         Gathers, documents, and analyzes test results.

·         Communicates results and provides recommendations to appropriate parties.

·         Validates readiness of release package to be integrated into the production environment.


6

Relationship to Other SMFs

There is a close relationship between the three service management functions (Change Management, Configuration Management, and Release Management) that make up the MOF Changing Quadrant. Figure 7 illustrates the relationship that exists between these three SMFs.

Figure 7. MOF Changing Quadrant process flow


Change management

  • Provides the authorization and tracking processes (RFC, change log, and reviews) to ensure only approved changes are deployed.
  • Needs configuration management to assess the impact of change on all potential CIs.
  • Needs release management to package the changes for successful deployment with minimal disruption to production.

Configuration management

  • Provides a managed database (CMDB) for the change logs, RFCs, definitive software library (DSL), definitive hardware store (DHS), release package, and all CIs.
  • Needs change management to ensure that only approved changes are deployed and all tracking of the authorization process is complete.
  • Needs release management to update the CMDB with the release package after deployment.

Release management

  • Provides a packaged release for all changes deployed into production.
  • Needs change management to approve changes and track them throughout the release process.
  • Needs configuration management to assess the impact of changes to CIs and to provide a definitive store for the release package.

All other service management functions have a relationship to release management in that there is a direct effect on each SMF as release management is applied to that particular area. This not only applies to each of the technical areas covered within the Operating Quadrant, but also to changes that may affect the SMF processes in the Supporting and Optimizing quadrants.


Appendix: Recommended Technologies

All organizations intending to use release management to deploy approved changes in their production environments can use certain tools and technologies to aid this. The number and complexity of these tools depend on the size of the organization and the type of changes needed to be made.

A number of Microsoft tools can assist with the release management process:

  • Microsoft Visio® 2002 Enterprise Edition drawing and diagramming software and Microsoft Systems Management Server (SMS) are tools that can assist the release manager in defining the scope of a release.
  • SMS is also a software distribution mechanism that enables the release team to track and monitor the progress of a software release.
  • Microsoft Project is a tool that enables the release manager to manage both simple and complex release projects.
  • Microsoft PowerPoint® presentation graphics program is a tool that enables the release manager and those involved in training to create and build computer-based “on-demand” training sessions for users and technical support staff.