Adaptive Maintainability
- Adaptive Maintainability (a.k.a., Adaptability)
- the type of maintainability
representing the degree of easiness with which adaptive maintenance can be performed on a
business enterprise,
system,
application, or
component
- Adaptive Maintenance
- 1) Maintenance of a
business enterprise,
system, or
application
that adapts it to changes in its environment
- 2) Maintenance that adapts a
component
to changes in other parts of the system or application
As illustrated in the preceding figure, Adaptive Maintainability is part of the following inheritance hierarchy:
The typical responsibilities of adaptive maintainability are to:
- Model the ease to which a system or component can be adapted to changes in the environment
or minor modifications of other parts of the system.
- Support the analysis and specification of
adaptive maintainability requirements.
- Provide a foundation for evaluating the quality of an architecture.
Adaptive maintainability is typically decomposed into the following aggregation hierarchy of subfactors:
Adaptive maintainability is typically measured in terms of:
- Mean and maximum:
- Cost per operating hour of adaptive maintenance.
- Cost to perform specific adaptive maintenance task.
- Effort (person-time) per operating hour due to adaptive maintenance.
- Effort (person-time) to perform specific adaptive maintenance task.
- Down (turnaround) time due to specific adaptive maintenance task.
- The conditions (e.g., the size and structure of the
maintenance organization in terms of staff size, roles and
skills levels, and support equipment)
under which the adaptive maintenance is taking place.
Typical mechanisms for improving adaptive maintainability include:
- Layered architectures.
- Modular software.
- Information hiding of implementation.
- Well-defined interfaces.
- Object-orientation and component-based development.
- Complete and current documentation.
- Adherence to project conventions.
The following guidelines have been found to be useful regarding adaptive maintainability:
- Adaptive maintainability depends not only on the enterprise, system, application, or component
being maintained but also on the types and frequency of changes in the environment
and minor modifications of other parts of the enterprise, system, or application