- Corrective maintenance: this refers to correcting errors that occurs after a program implementation.
- Perfective maintenance: this refers to improving the features of a program to make it work better.
- Adaptive maintenance: this refers to changing the
program to suit the dynamic environment