Component Maintenance
Component maintenance is the
activity consisting of the
cohesive collection of all
tasks that are primarily
performed to incorporate minor fixes and enhancements into a
component after deployment for use by the
user organizations (i.e., between development projects to
produce major new versions).
The typical goals of component maintenance are to:
- Ensure correct functioning of the component until the
next version is deployed.
The typical objectives of the component 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 component maintenance include:
- Adaptive maintenance, which is maintenance performed to
make the component usable in a changed environment.
- Corrective maintenance, which is maintenance performed to
fix minor defects in the component.
- Perfective maintenance, which is maintenance performed to
improve a merely adequate quality factor such as
maintainability, performance, understandability, etc.
Examples of component maintenance include:
- Maintenance of a commercial-off-the-shelf (COTS)
component
- Maintenance of a government-furnished-equipment (GFE)
component
- Maintenance of an internally-developed reusable
component
Component maintenance typically may begin when the following
preconditions hold:
Component maintenance is typically complete when the
following postconditions hold:
- The maintained version of the component has been either
removed from service or replaced by a new version.
Component maintenance typically involves the
maintenance team performing the following maintenance tasks
in an iterative, incremental, and parallel manner:
Environments
Component maintenance is typically performed using the
following environment(s) and associated tools:
Component maintenance typically results in the production of
the following work products:
-
Maintenance Plan
- Updated system data, hardware, or software
component.
- Updated developer or user documentation
The component maintenance activity tasks are typically performed during the following phases:
- Component maintenance depends on the maintainability of the component 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.