Go Up Up to Appendix D Table of Contents
Go Forward Ahead to D.1 Perform Maintenance Implementation

APPENDIX D. SYSTEM MAINTENANCE

The purpose of system maintenance is to perform the activities required to keep a system operational and responsive to users' changing needs after the system is accepted and placed into production.

System maintenance is a shared responsibility between the OCIO (or the Programs IT organization) and the user community. During the Operate System phase, performance and accuracy of the production system are monitored by Operations staff and the users. Any changes due to new needs or discrepancies are recorded through the appropriate change request reporting mechanism (i.e., Needs Statement [NS], Advanced Requirements Notice [ARN], or Problem Tracking and Reporting System [PTARS]). Needs Statements are forwarded by the user community to the BTIC for disposition; ARNs and PTARs (problem tracking reports) are reported to the appropriate IT organization for disposition.

When the IT organization and the user community determine that changes are needed, approval for a maintenance release is triggered by BTIC direction or by sponsor approval of an Evaluation of Request (EOR). These changes consist of corrections, insertions, deletions, extensions, and enhancements to the system hardware and software. Generally, these changes are made to keep the system functioning in an evolving, expanding user and operational environment.

System maintenance involves many of the same activities associated with system development, but it also has unique characteristics of its own. Maintenance activities are performed within the context of an existing system framework. The maintenance staff implements changes within the existing system architecture. The older the system, the more challenging and time-consuming the maintenance effort becomes, especially when minimal or no documentation exists for the system.

Maintenance activities usually are performed within shorter time frames than development efforts. A development effort may span one or more years, while a maintenance effort may be required within hours or in releases requiring from one to six months or longer to complete. Software maintenance efforts in the SBA environment, and their implementation approaches, are associated with one of the following three sizes:

Maintenance activities for a production system are performed by a development team of users and maintainers working together. To preserve the integrity of the production system, the team uses a separate maintenance environment so that modifications can be made and tested without affecting the production environment.

SBA uses three maintenance types to categorize and track changes to SBA applications, described below:

Adaptive maintenance usually includes those activities that have been thought out and planned for future implementation. This type is usually a modification required because of software changes or a modification required because of anticipated hardware changes. Examples of adaptive maintenance are:

- Year 2000 activities required for most of the IT software
- Changes in software that were promulgated by new laws or regulations
- System software upgrades such as database management systems, CASE tools, and new communications protocols

  • Perfective Maintenance generally involves modifications that satisfy a need to improve the application in some area that is a nonfunctional requirement or to resolve a problem before the user community is affected. These activities could also be aimed at improving the maintainability of the application software. Perfective maintenance changes could be thought of as those that are "nice to have." Examples of perfective maintenance are:
  • - Optimization of execution time, memory size, and file management
    - Standardization of naming conventions and development methodology

    Functions and Products

    Functionally, system maintenance activities mirror all or part of the development phases. However, activities are often scaled down or done in combination with each other. The activities essentially consist of successive iterations of these combined phases of the development lifecycle. All products that are produced must pass appropriate CM and QA procedures before the affected software is released into production.

    Standards and Guidelines

    Follow the SBA standards and guidelines when performing system maintenance activities.

    Roles and Responsibilities

    Throughout system maintenance, key personnel are required to perform the various tasks and activities outlined in the SDM. Table D-1 identifies the types of personnel required and the activities for which they are responsible.

    Table D-1. Roles and Responsibilities for System Maintenance Personnel (1 of 2)

    Role

    Responsibility

    Project Sponsor Approves the maintenance schedule.

    Prioritizes system changes and enhancements.

    Prepares the budget for system changes and enhancements.

    Project Manager Prepares the maintenance schedule.

    Identifies the resource requirements.

    Develops the project WBS, schedule ,and work plan for the maintenance effort.

    Obtains appropriate concurrence and approvals for the schedule and work plan.

    Conducts a post-implementation review.

    Prepares a post-implementation report.

    Coordinates development, review, and approval of maintenance activities.

    Project Development Team (User and Maintainer) Identifies system changes and enhancements.

    Provides input to the project manager on required completion dates for maintenance activities.

    Conducts training classes, if necessary.

    Makes modifications and enhancements to system software, as necessary.

    Updates system documentation.

    Installs the system.

    Monitors system performance to ensure responsiveness to the user's needs.

    Develops enhancements and upgrades to software.

    Develops system enhancements.

    Conducts system and regression tests of changes and enhancements in the development environment.

    Table D-1. Roles and Responsibilities for System Maintenance Personnel (2 of 2)

    Role

    Responsibility

    Operations Ensures that the development environment is ready.

    Installs the system.

    Performs day-to-day system operations and corrective actions, as required.

    Makes modifications and enhancements to system hardware, as necessary.

    Determines additional resource and support requirements.

    Monitors system performance to ensure continued responsiveness to the user community.

    ACSPM Ensures that periodic security reviews are performed on the system when in production.

    Reviews maintenance solutions for security impacts.

    System Acceptance Test Team Develops new test scenarios to validate changes.

    Performs acceptance testing activities during maintenance.

    Signs off acceptance of the system before production use.

    Conducts user acceptance testing of system changes and enhancements.

    Project Database Administrator Reviews maintenance solutions for database impact.
    Project Data Administration Reviews and approves changes to domain data models.

    Reviews and reconciles data models for new entities, and ensures new or changed data elements conform to SBA naming conventions.

    Configuration Management Performs change control activities.

    Establishes and maintains a production baseline.

    Quality Assurance Audits maintenance activities for compliance with SBA project methods, standards, and procedures.

    Go Up Up to Appendix D Table of Contents
    Go Forward Ahead to D.1 Perform Maintenance Implementation

    SDM Home

    *Last Modified: 11-19-01