Introduction
Why do we need maintenance?
Once a software system has been deployed it is easy to think that the system is finished, but most systems need ongoing maintenance to keep them fit for purpose.
- Previously unknown bugs in the software may need to be fixed.
- New security threats will emerge that system will need to be hardened against
- The company may have competitors that have created similar system and so the company may need to keep a competitive advantage
- The real world environment may change and the system may need to change to the requirements.
Perfective Maintenance
Perfective Maintenance
This form of maintenance involves:
Refinement of existing features or functions, such as GUI design, database optimization or code efficiency improvements.
Adaptive Maintenance
Adaptive Maintenance
Addition a extra features or re-purposing of existing features to adapt to changing user requirements. A common requirement for new or dynamic industries.
Corrective Maintenance
Corrective Maintenance
This maintenance is mainly reactive in its nature and focuses on:
- Bug Fixes
- Security Patching