Application Maintenance
Application maintenance is the
activity consisting of the
cohesive collection of all
tasks that are primarily
performed to incorporate minor fixes and enhancements into a
application after deployment for use by the
user organizations (i.e., between development projects to
produce major new versions).
The typical goals of application maintenance are to:
- Ensure correct functioning of the application until the
next version is deployed.
The typical objectives of the application maintenance
subactivity are to:
- Perform
adaptive maintenance by making minor
modifications due to:
- Business changes (e.g., reengineering, competition,
reorganization, business-internal politics).
- Legal changes (e.g., new legislation, new
regulations).
- Technology changes (e.g., hardware, software,
communications, technology standardization, commercial
packages).
- Physical changes (e.g., reconfiguration of data center,
transfer to new locations).
- Personnel changes (e.g., changes to the users, user
management, information technology staff).
- Perform
corrective maintenance by correcting minor
defects:
- Documentation defects.
- Data defects.
- Hardware defects.
- Software defects.
- Perform
perfective maintenance by making minor
improvements in correct work products:
- Rewriting parts of documents for readability.
- Refactoring software.
Kinds of application maintenance include:
- Adaptive maintenance, which is maintenance performed to
make the application usable in a changed environment.
- Corrective maintenance, which is maintenance performed to
fix minor defects in the application.
- Perfective maintenance, which is maintenance performed to
improve a merely adequate quality factor such as
maintainability, performance, understandability, etc.
Examples of application maintenance include:
- Maintenance of a deployed application
- Maintenance of a commercial-off-the-shelf (COTS)
application
- Maintenance of a government-furnished-equipment (GFE)
application
- Maintenance of an internally-developed reusable
application
Application maintenance typically may begin when the
following preconditions hold:
Application maintenance is typically complete when the
following postconditions hold:
- The maintained version of the application has been either
removed from service or replaced by a new version.
Application maintenance typically involves the
maintenance team performing the following maintenance tasks
in an iterative, incremental, and parallel manner:
Environments
Application maintenance is typically performed using the
following environment(s) and associated tools:
Application maintenance typically results in the production
of the following work products:
-
Maintenance Plan
- Updated system data, hardware, or software
application.
- Updated developer or user documentation
Phases
The application maintenance activity tasks are typically
performed during the following phases:
- Application maintenance depends on the maintainability of
the application being maintained:
- Adaptive maintenance depends on adaptability and extensibility.
- Corrective maintenance depends on correctability.
- Perfective maintenance depends on maintainability.
- Preventative maintenance depends on correctability and maintainability.
- Major modifications do not occur during maintenance but rather during the next development cycle.
- This activity is documented using the typical configuration for large projects. It is intended to be
configured (i.e., instantiated, extended, and tailored) to meet the needs of specific projects.
- The preconditions of this activity should be the union of the preconditions of its constituent tasks.
- The completion criteria for this activity should be the union of the postconditions of its constituent tasks.