Application maintenance is the activity consisting of the cohesive collection of all tasks that are primarily performed to incorporate minor fixes and enhancements into a application after deployment for use by the user organizations (i.e., between development projects to produce major new versions).
The typical goals of application maintenance are to ensure correct functioning of the application until the next version is deployed.
Business changes (e.g., reengineering, competition, reorganization, business-internal politics).
Legal changes (e.g., new legislation, new regulations).
Technology changes (e.g., hardware, software, communications, technology standardization, commercial packages).
Physical changes (e.g., reconfiguration of data center, transfer to new locations).
Personnel changes (e.g., changes to the users, user management, information technology staff).
Documentation defects, Data defects, Hardware defects, Software defects.
Rewriting parts of documents for readability, Refactoring software.