Maintenance Models
Definition
Maintenance Models are the four classic categories/types of maintenance activities, classified by IEEE, based on the reason/motivation for the change — this classification helps organizations plan, prioritize, and track maintenance work.
The Four Types of Maintenance
1. Corrective Maintenance
- Fixing defects/bugs discovered after the software is in use
- Reactive — responds to reported failures
- Example: fixing a calculation error found by a user
2. Adaptive Maintenance
- Modifying the software to work correctly in a changed environment
- Example: updating software to work with a new OS version, new hardware, new regulatory requirement, or a third-party API change
3. Perfective Maintenance
- Enhancing the software — improving performance, adding new features, improving usability — based on evolving user needs
- The largest category by effort (studies suggest ~50-65% of maintenance work)
- Example: adding a new report feature, optimizing a slow query
4. Preventive Maintenance
- Proactively modifying the software to improve maintainability and prevent future problems, before they cause failures
- Example: refactoring messy code, updating outdated documentation, restructuring for better modularity
Relative Effort Distribution (Typical Industry Data — Lientz & Swanson study)
| Type | Approx. % of Maintenance Effort |
|---|---|
| Corrective | ~20% |
| Adaptive | ~25% |
| Perfective | ~50% |
| Preventive | ~5% |
(Exact percentages vary by source, but Perfective is consistently the largest share, and Corrective is smaller than many assume.)
Memory Aid
"CAPP" — Corrective, Adaptive, Perfective, Preventive
Why This Classification Matters
- Helps organizations budget and plan maintenance resources correctly
- Shows that maintenance is not just bug-fixing — most effort actually goes into enhancing the system (Perfective), which is often underestimated by managers
Exam tip: Memorize all 4 types with a one-line definition and example each, AND the surprising fact that Perfective maintenance is the largest category (not Corrective, as most people assume) — a frequently tested "gotcha" point.