The final phase stage of the waterfall model is maintenance. When any new system is put in place it will often need ongoing maintenance. This is to make sure the software is operating at optimum levels of performance. This can be be concerned with bugs in the software, security issues or to address issues that have only come to light when the new system was implemented. Activities in this phase include obtaining maintenance requests from the end users, transforming these requests into changes, designing the changes and finally implementing said changes.
There are four types of maintenance.
1. Corrective, which is concerned with removing errors or bugs from the software.
2. Adaptive, which is used to enhance the system by adding features, capabilities and functions as a result of new technologies.
3. Perfective, which improves the features of the system, usually done as a result of requests by the users of the system.
4. Preventative, which is concerned with the anticipation of problems and correcting them before they happen.
This phase can be significantly affected by each previous step in the model, for example, mistakes made during analysis and design can seriously hinder the success of the new system. Maintenance is then seen as a reactive step in which any errors are addressed so the system can operate effectively.