Software Maintenance · Software Engineering

Maintenance Models

Watch lectures

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.

Budget AppAndroid App

Pocketly on Android

Log daily food, travel, and hostel expenses instantly. Set monthly spending limits and see where your money goes without complex spreadsheets.

← All Software Engineering modules