Software maintenance is a very broad activity often defined as including all work made on a software system after it becomes operational. This covers the correction of errors, the enhancement, deletion and addition of capabilities, the adaptation to changes in data requirements and operation environments, the improvement of performance, usability, or any other quality attribute.
Maintenance Process

1. Process implementation
2. Problem and modification analysis
3. Modification implementation
4. Maintenance review/acceptance
5. Migration
6. Software retirement
Categories of software maintenance
Corrective maintenance: reactive modification of a software product performed
after delivery to correct discovered faults.
Adaptive maintenance: modification of a software product performed after delivery
to keep a computer program usable in a changed or changing environment.
Perfective maintenance: modification of a software product performed after delivery to improve performance or maintainability.
Emergency maintenance: unscheduled corrective maintenance performed to keep a system operational.”
|