Go Back Back to APPENDIX D. SYSTEM MAINTENANCE
Go Up Up to Appendix D Table of Contents
Go Forward Ahead to D.2 Perform Post-Implementation Review

D.1 Perform Maintenance Implementation

The maintenance process for implementation of corrective, adaptive, and perfective change requests is characterized by the following activities:

Table D-2 lists the activities performed and shows how the SDM development lifecycle phases (Initiate, Define, Design, Build, Evaluate, and Operate) may be correlated to system maintenance. While phases are combined for maintenance activities, they are performed in an iterative fashion depending on the size or scale of the maintenance effort.

Table D-2. Maintenance Process Activities

Process Phase

Process
Activity

Process Products
(New and/or Updated)

Initiate Change request initiation Preliminary Maintenance Plan
Initiate Change request identification, solution, and impact analysis Feasibility Study, Risk Analysis, Maintenance Plan (updated)
Define, Design, and Build Change request implementation Security Plan; System Decision Paper; Functional Requirements Document; Data Requirements Document; System/Subsystem Specifications; Database Specifications. Program Specifications; Test Plans (unit & integration); Validation, Verification, & Test Plan
Build and Evaluate Regression testing
 
Evaluate Validation and verification Test and Evaluation Report, Operations Manual, User's Manual, Installation and Conversion Plan, Training Plan and Training Guide
Evaluate Solution acceptance Tested and accepted product
Operate Solution installation Product installation in production environment

Normally, system maintenance efforts are divided into the following three sizes:

Small maintenance efforts require flexibility, and the project manager must be aware of this need during planning and be responsive to it. For example, management must decide on a quick-fix maintenance effort (which may require only one day to implement) and how to combine phases for effective implementation. One approach is to have the programmer combine the Initiate, Define, Design, and Build phases into one phase. After the combined phases are complete and the software changes are tested, validated, and delivered to the user, documentation changes could be made and approved. In this case, there is no iteration of phases. If user documentation did not change, the PTAR analysis becomes the documentation of the system change.
A medium-sized maintenance effort generally follows a more disciplined approach because more planning and documentation are normally required. To ensure delivery with the software modifications, produce, review, and approve user documentation of the modifications before the maintenance product is put into operation.
A large-sized maintenance effort follows a disciplined approach because planning and documentation are required. It is recommended that the project manager and the development team follow the SDM development lifecycle phases, without combining them, for this type of maintenance.

Top D.1.1 Change Request Initiation D.1.2 Change Request Identification, Solution, and Impact Analysis D.1.3 Change Request Implementation D.1.4 Regression Testing D.1.5 Validation and Verification D.1.6 Solution Acceptance D.1.7 Solution Installation D.1.8 Statistics for Trend Analysis

D.1.1 Change Request Initiation

Initiation of the maintenance process is the receipt of one or more software change requests (Needs Statement, ARN, or PTAR) for a system. In general, the requests should contain the problem or need for change, type of maintenance requested (corrective, perfective, or adaptive), and priority level. Assign a project development team to analyze requests. If a change request is a problem identified by a PTAR, determine if the problem is due to a misunderstanding of procedures or an actual processing malfunction. Also, determine if the problem is already being resolved in response to another PTAR. Provide a needs assessment, and generate a preliminary feasibility study for change requests.

Concurrently, the project manager defines a preliminary schedule, resource profile, WBS, and budget and documents the preliminary information in a maintenance plan.

Top D.1.1 Change Request Initiation D.1.2 Change Request Identification, Solution, and Impact Analysis D.1.3 Change Request Implementation D.1.4 Regression Testing D.1.5 Validation and Verification D.1.6 Solution Acceptance D.1.7 Solution Installation D.1.8 Statistics for Trend Analysis

D.1.2 Change Request Identification, Solution, and Impact Analysis

This step localizes the change request to the precise parts of the affected software. Develop various change alternatives to satisfy the change request. Perform an impact analysis to evaluate the consequences to the system of each alternative, and select a solution. The project manager updates the maintenance plan to reflect the process activities and schedule, based on the scale of the effort to implement the solution.

Top D.1.1 Change Request Initiation D.1.2 Change Request Identification, Solution, and Impact Analysis D.1.3 Change Request Implementation D.1.4 Regression Testing D.1.5 Validation and Verification D.1.6 Solution Acceptance D.1.7 Solution Installation D.1.8 Statistics for Trend Analysis

D.1.3 Change Request Implementation

The development team performs the unit modifications (design and code), generates unit and integration test plans, and performs unit and integration testing. Based on the scale of the effort, the development team updates the documentation specified in the maintenance plan. The acceptance test team updates the VV&T Plan with the new test procedures and expected results. QA monitors the implementation process for adherence to processes and standards.

Top D.1.1 Change Request Initiation D.1.2 Change Request Identification, Solution, and Impact Analysis D.1.3 Change Request Implementation D.1.4 Regression Testing D.1.5 Validation and Verification D.1.6 Solution Acceptance D.1.7 Solution Installation D.1.8 Statistics for Trend Analysis

D.1.4 Regression Testing

The development team tests the new or modified components for compatibility with the existing system. Use the VV&T Plan that was generated during the development of the system. Choose the tests from the VV&T Plan that validate the functionality being modified by, or being affected by, the maintenance change. Use a test environment that duplicates the operational environment. CM configures the test environment.

Top D.1.1 Change Request Initiation D.1.2 Change Request Identification, Solution, and Impact Analysis D.1.3 Change Request Implementation D.1.4 Regression Testing D.1.5 Validation and Verification D.1.6 Solution Acceptance D.1.7 Solution Installation D.1.8 Statistics for Trend Analysis

D.1.5 Validation and Verification

This step is an independent verification and validation process that ensures the quality of the modified components. The acceptance test team, independent of the project development team, executes the new test procedures that validate the modifications and verifies that all of the change request requirements have been met. Additionally, the acceptance test team performs independent regression testing to verify that the maintenance change has not affected existing functionality. Use the original VV&T Plan to choose a limited set of regression tests. Document and forward any discrepancies to the maintainers for resolution. QA monitors test results and test plans. Make modifications to the User's Manual, Operations Manual, and Installation and Conversion Plan, as necessary. Check all modified documentation for conformity to requested changes.

Top D.1.1 Change Request Initiation D.1.2 Change Request Identification, Solution, and Impact Analysis D.1.3 Change Request Implementation D.1.4 Regression Testing D.1.5 Validation and Verification D.1.6 Solution Acceptance D.1.7 Solution Installation D.1.8 Statistics for Trend Analysis

D.1.6 Solution Acceptance

The requester of the change performs solution acceptance. The requester checks the test results to verify that the solution fulfills and resolves the requested change. QA verifies that only authorized work was completed.

Top D.1.1 Change Request Initiation D.1.2 Change Request Identification, Solution, and Impact Analysis D.1.3 Change Request Implementation D.1.4 Regression Testing D.1.5 Validation and Verification D.1.6 Solution Acceptance D.1.7 Solution Installation D.1.8 Statistics for Trend Analysis

D.1.7 Solution Installation

This is the step during which the modified software is placed into a staging area or is installed in the production environment. A production control unit normally replaces the old version with the new one.

Top D.1.1 Change Request Initiation D.1.2 Change Request Identification, Solution, and Impact Analysis D.1.3 Change Request Implementation D.1.4 Regression Testing D.1.5 Validation and Verification D.1.6 Solution Acceptance D.1.7 Solution Installation D.1.8 Statistics for Trend Analysis

D.1.8 Statistics for Trend Analysis

Collect and analyze statistics for maintenance ARNs and PTARs. Focus the analysis on why a change was made, the type of change made (corrective, perfective, adaptive), and which areas were affected by the change. Reasons why a change was made could be a change in SBA regulations, hardware upgrade, support software upgrade, or new requirement on the system. Areas affected by a change could include the program, hardware, environment, database, data reports, documentation, and users. The data can be used to determine the impact on resources required to enhance the SBA system.

Go Back Back to APPENDIX D. SYSTEM MAINTENANCE
Go Up Up to Appendix D Table of Contents
Go Forward Ahead to D.2 Perform Post-Implementation Review

SDM Home

*Last Modified: 11-19-01