FAQ – Types of maintenance

Description and exemplification of corrective, adaptive and perfective maintenance

Adaptive maintenance

Takes place when a program’s environment changes, for example a different operating system.

I was asked if it was just differing OSs that caused adaptive maintenance (AM)? Changes to hardware can also cause AM E.g. If you buy a new digital camera you may need updated software to copy pictures to your desktop

Corrective maintenance

Correction of previously undetected errors during development that is now apparent after installation of the software on the client site.

E.g. Your program for a space mission is written using inches rather than cms

Perfective maintenance

Takes place when a system has to be enhanced in some way e.g. program run faster

E.g. Your program is working well but the user would like new features or improved performance.