IT systems management: The production acceptance process

This chapter excerpt on IT systems management explains how solutions providers can benefit from production acceptance and details the steps to effective implementation.

Solutions provider takeaway: One of your jobs as a solutions provider is to deploy application systems effectively, and a well-defined production acceptance process is a big help during deployments. Using this IT systems management excerpt, you will learn the benefits and requirements of a production acceptance process, how to assemble an acceptance team and the appropriate forms to use during the production acceptance phase.

About the book:

This chapter excerpt on Production Acceptance (download PDF) is taken from the book IT Systems Management. This book encompasses all elements of IT management for solutions providers, including best practices for maintaining IT infrastructure environments and reducing the cost and complexity of IT facilities management. You will learn about topics such as IT Infrastructure Library processes, performance and tuning and production acceptance.

No matter how well designed and well tested an application may be, the first -- and often lasting -- impressions that users form about that application come from how successfully it is deployed into production. Developers and operations personnel sometimes let unnecessary obstacles take their eyes off the goal of a successful deployment. This chapter defines the process of production acceptance and describes many of the benefits this process provides to a variety of groups both inside and outside of IT. The middle sections of this chapter discuss each of the 14 steps required to design and implement an effective production acceptance process. The chapter closes with a case study involving the assessment of production acceptance processes for seven diverse companies.

Definition of Production Acceptance

The primary objective of systems management is to provide a consistently stable and responsive operating environment. A secondary goal is to ensure that the production systems themselves run in a stable and responsive manner. The function of systems management that addresses this challenge is production acceptance.

Production Acceptance:
Production acceptance is a methodology used to consistently and successfully deploy application systems into a production environment regardless of platform.

The following key words from this definition are worth noting.

  • Consistent methodology. While the methodology is consistent, it is not necessarily identical across all platforms. This means there are essential steps of the process that need to be done for every production deployment, and then there are other steps that can be added, omitted, or modified depending on the type of platform selected for production use.
  • Deploying into a production environment. This implies that the process is not complete until all users are fully up and running on the new system. For large applications, this could involve thousands of users phased in over several months.
  • Application system. This refers to any group of software programs necessary for conducting a company's business -- the end-users of which are primarily, but not necessarily, in departments outside of IT. This excludes software still in development, as well as software used as tools for IT support groups.

The Benefits of a Production Acceptance Process
An effective production deployment process offers several advantages to a variety of user groups. These beneficiaries include the applications department, executive management, various groups within the IT infrastructure, customers, and suppliers (see Table 9-1).

Table 9-1 Beneficiaries and Benefits of Production Acceptance

 

Beneficiary Benefits
Applications
  1. Ensures that adequate network and system capacity is available for both development and production
  2. Identifies desktop upgrade requirements in advance to ensure sufficient budget, resources, and time frame
  3. Specifies detailed hardware and software configurations of both the development and production servers to ensure identical environments are used for testing and deployment
  4. Ensures infrastructure support groups (systems, networks, solution center) are trained on supporting the application weeks prior to cutover
Executive Management
  1. Quantifies total ongoing support costs prior to project start-up
  2. Reduces overtime costs by identifying upgrade requirements early on
  3. Increases the likelihood of deploying production systems on schedule by ensuring thorough and timely testing
Infrastructure
  1. Identifies initial system and network requirements early on
  2. Identifies future infrastructure requirements enabling more cost-effective capacity planning
  3. Identifies ongoing support requirements early on
Customers
  1. Involves customers early in the planning phase
  2. Ensures customer equipment upgrades are identified early and scheduled with customer involvement
  3. Ensures satisfactory user testing
Suppliers
  1. Involves key suppliers in the success of the project
  2. Identifies and partners key suppliers with each other and with support groups
  3. Provides suppliers with opportunities to suggest improvements for deployment

Implementing a Production Acceptance Process

The following list details the 14 steps necessary for implementing an effective production acceptance process. Along with our detailed discussion of each of these steps, we will look at actual experiences from industry, where appropriate, to highlight suggestions to pursue and obstacles to avoid.

 

  1. Identify an executive sponsor
  2. Select a process owner
  3. Solicit executive support
  4. Assemble a production acceptance team
  5. Identify and prioritize requirements
  6. Develop policy statements
  7. Nominate a pilot system
  8. Design appropriate forms
  9. Document the procedures
  10. Execute the pilot system
  11. Conduct a lessons-learned session
  12. Revise policies, procedures, and forms
  13. Formulate marketing strategy
  14. Follow up on ongoing enforcement and improvements

Step 1: Identify an Executive Sponsor

Production acceptance is one of a handful of systems management processes that directly involve departments outside of the infrastructure group. In this case it is the applications development area that plays a key role in making this process effective. An executive sponsor is necessary to ensure ongoing support and cooperation between these two departments. Depending on the size and scope of the IT organization, the sponsor could be the CIO, the head of the infrastructure group, or some other executive in the infrastructure. (We should note that an application manager could be an excellent sponsor providing the head of the infrastructure agrees with the selection. In this case, the executives from both departments should concur on the choice of process owner, who needs to be from the infrastructure group.)

In general, the higher the level of executive sponsor, the better. It should be noted that senior executives are usually more time constrained than those at lower levels, so support sessions should be well planned, straightforward, and to the point.

The executive sponsor must be a champion of the process, particularly if the shop has gone many years with no structured turnover procedure in place. He or she needs to be able to persuade other executives both inside and outside of IT to follow the lead. This individual is responsible for providing executive leadership, direction, and support for the process. The executive sponsor is also responsible for selecting the process owner, for addressing conflicts that the process owner cannot resolve, and for providing marketing assistance.

Step 2: Select a Process Owner

One of the first responsibilities of the executive sponsor is to select the production acceptance process owner. The process owner should be a member of the infrastructure organization since most of the ongoing activities of operating and supporting a new production application fall within this group. This person will be interacting frequently with the programmers who developed and will be maintaining the system.

This continual interaction with applications makes a working knowledge of application systems an important prerequisite for the process owner. Being able to evaluate applications documentation and to communicate effectively with program developers are two additional characteristics highly recommended in a process owner. Several other medium-priority and lower-priority characteristics (see Table 9-2) assist in selecting the process lead. These attributes and priorities may vary from shop to shop, but they are intended to emphasize the importance of predetermining the traits that best suit your organization.

Table 9-2 Prioritized Characteristics for a Production Acceptance Process Owner

 

Characteristic Priority
Knowledge of applications High
Ability to evaluate documentation High
Ability to communicate effectively with developers High
Knowledge of company's business model Medium
Ability to meet effectively with users Medium Medium
Ability to communicate effectively with IT executives Medium
Ability to promote teamwork and cooperation Medium
Ability to manage diversity Medium
Knowledge of backup systems Medium
Knowledge of database systems Medium
Knowledge of desktop hardware and software Medium
Knowledge of software configurations Medium
Knowledge of systems software and components Low
Knowledge of network software and components Low
Knowledge of hardware configurations Low

Step 3: Solicit Executive Support

Production acceptance requires much cooperation and support between the applications development and infrastructure departments. Executive support from both of these departments should be solicited to ensure that policies and decisions about the design of the process are backed up and pushed down from higher levels of management.

Step 4: Assemble a Production Acceptance Team

The process owner should assemble a cross-functional team to assist in developing and implementing a production acceptance process. The team should consist of key representatives from the development organization as well as those from operations, technical support, capacity planning, the help desk, and database administration. In cases where the development group is larger than a few hundred programmers, multiple development representatives should participate.

It is important that all key areas within development are represented on this team to ensure support and buy-in for the process. Appropriate development representatives also ensure that potential obstacles to success are identified and resolved to everyone's satisfaction. An effective executive sponsor and the soliciting of executive support (steps 1 and 3) can help to ensure proper representation.

At one company where I managed a large infrastructure group, there were more than 400 programmers in the development department grouped into the four areas of finance, engineering, manufacturing, and logistics. A representative from each of these four areas participated in the development of a production acceptance procedure; each brought unique perspectives, and together they helped to ensure a successful result to the process.

Step 5: Identify and Prioritize Requirements

Early in my career I participated on a number of production acceptance teams that fell short in providing an effective production turnover process. In looking for common causes for these failed attempts, I noticed that in almost every case there were no agreed-upon requirements at the start; when there were requirements, they were never prioritized.

Later on, as I led my own production acceptance design teams, I realized that having requirements that were prioritized and agreed upon by all participants added greatly to the success of the efforts. Requirements vary from company to company, but some are common to almost all instances. Table 9-3 lists some of the more common requirements I have witnessed in successful implementations of production acceptance, along with their typical priorities.

Table 9-3 Sample of Prioritized Requirements

 

Requirement Priority
1. Ensure that operations, technical support, help desk, network services, and database administration are all involved early on in implementing a new application. High
2. Ensure capacity-gathering requirements are compatible with the capacity planning process. High
3. Provide application documentation to operations prior to production turnover. High
4. Develop and enforce management policy statements. High
5. Ensure adequate service desk support from applications during the first week of production. Medium
6. Implement a pilot subset for very large applications. Medium
7. Do not set up a separate help desk for a new application. Medium
8. Ensure that a user test plan is developed and executed. Medium
9. Ensure that a user acceptance plan is developed and executed. Medium
10. Analyze daily the types and frequencies of service desk calls during the first two weeks of production; then weekly thereafter. Medium
11. Leverage the use of existing tools and processes. Medium
12. Simplify forms as much as possible for ease of use. Low
13. Involve appropriate groups in the design and approval of forms. Low
14. Ensure that developers estimate the type and volume of service desk calls during the first week of production. Low
15. Include desktop capacity requirements. Low
16. For systems being upgraded, ensure that all impacts to end-users are identified up front. Low

Step 6: Develop Policy Statements

The cross-functional team should develop policy statements for a production acceptance process. These statements should then be approved by the executive sponsor. Policy statements help ensure that issues such as compliance, enforcement, and accountability will be supported by senior management and communicated to the applicable levels of staffs. The following lists some sample policy statements:

  1. All new mainframe- or server-based applications are to go through the formal production acceptance process prior to deployment into production.
  2. All major new versions of existing production applications are to go through the formal production acceptance process prior to deployment into production.
  3. Process owner ([insert name]) is responsible for coordinating and maintaining the production acceptance process and has authority to delay an application's deployment into production pending full compliance with the process.
  4. Key support groups such as operations, technical support, network services, database administration, and the help desk are to be informed about the application from its start and involved with its development as prescribed by the production acceptance process.
  5. Development owners of applications that are deployed through the production acceptance process are expected to regularly update the capacity plan for their applications to ensure adequate resource support in the future.
  6. Any applications deployed through the production acceptance process that require substantial desktop capacity upgrades are to provide specific requirements to capacity planners with sufficient lead time for planning, ordering, delivering, and installing all upgrades.
About the author:

Rich Schiesser is founder and owner of RWS Enterprises Inc., a consulting firm for designing and implementing world-class infrastructures, and has managed the primary data center at Northrop Grumman Corp. for almost 10 years. Schiesser has also written IT Production Services.

Pilot System
A pilot system is a small-scale version of an application used to try out new processes, functions, or features associated with the application. A single purchasing module of a comprehensive enterprise-wide financial system is an example of a pilot system.

Step 7: Nominate a Pilot System

When a production acceptance process is designed and implemented, particularly in environments that have never had one, there is normally a major change in the manner in which application systems are deployed. Therefore, it is usually more effective to introduce this new method of production turnover on a smaller scale with a minimal-impact pilot system. If a small system is not available as a pilot, consider putting only an initial portion of a major system through the new process.

Step 8: Design Appropriate Forms

During the requirements step, the cross-functional team normally discusses the quantity, types, and characteristics of forms to be used with a production acceptance process. The following list details some of the forms that are typically considered here. Some shops elect to combine some or all of these forms, depending on their complexity.

  1. Primary production acceptance form
  2. Capacity planning form
  3. Customer-acceptance form
  4. Service desk form
  5. Testing plan
  6. Lessons-learned form
  • The capacity form is for periodic updates to resource requirements.
  • The customer-acceptance form is for user feedback prior to deployment.
  • The service desk form is for anticipated calls during start-up.
  • The test plan is for developers to show function and performance of the new system.
  • The lessons-learned form is for follow-up and improvements after full deployment of a new system.

The forms are proposed, designed, and finalized by the team. Figure 9-1 shows a production acceptance form used by one of my clients. Specific requirements of the form vary from shop to shop, but the form should always be simple, thorough, understandable, and accessible. Many shops today keep forms like these online via their company intranets for ease of use and access.


Production Acceptance
  IT systems management: The production acceptance process
  IT systems management: Production acceptance, application deployment

This chapter is an excerpt from the new 2nd Ed. of IT Systems Management, by Rich Schiesser, ISBN 0137025068, Feb. 2010, Prentice Hall Professional, Copyright 2010 Pearson Education Inc. For a complete table of contents please visit the publisher site: www.informit.com/title/0137025068.

Dig Deeper on MSP business strategy