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.
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 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
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.
- Identify an executive sponsor
- Select a process owner
- Solicit executive support
- Assemble a production acceptance team
- Identify and prioritize requirements
- Develop policy statements
- Nominate a pilot system
- Design appropriate forms
- Document the procedures
- Execute the pilot system
- Conduct a lessons-learned session
- Revise policies, procedures, and forms
- Formulate marketing strategy
- 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
|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
|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:
- All new mainframe- or server-based applications are to go through the formal production acceptance process prior to deployment into production.
- All major new versions of existing production applications are to go through the formal production acceptance process prior to deployment into production.
- 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.
- 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.
- 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.
- 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.
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.
- Primary production acceptance form
- Capacity planning form
- Customer-acceptance form
- Service desk form
- Testing plan
- 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.
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.