Software isn’t perfect. If it were, then probably just one or two projects may be enough for all the software in the world. Therefore, software tends to fail overtime. Maybe some system registers were modified. Maybe trouble with libraries. Maybe that software got so big it does not work anymore. There are many reasons.
Now: many people believe that maintaining software means to fix problems the software has. But, this is not always the case. Sometimes, maintenance is non-corrective. This means, it’s focused on preventing errors rather than fixing them.
There are four types of maintenance:
- Corrective: fix problems that stop the program from working.
- Adaptive: modify the program in order to make it runnable on another environment.
- Perfective: modify the program in order to increase performance or maintainability.
- Preventive: modify the program in order to prevent possible problems.