Do you think you are done?

Nothing is perfect, as simple as that. Software failures will remain, and will be discovered for years. Therefore, it is important to apply software maintenance after publishing your master piece.

What is software maintenance?

It is the process of modifying a software system after delivery to correct mistakes, fix bugs, etc. Upgrade, improve performance or other attributes is the basis and goal of this process. Basically, to adapt to changed environments.

Types of maintenance:

  • Corrective: Correct failures of a system, either software or hardware.
  • Adaptive: It is used to make the system usable in a different environment.
  • Perfective: Performed to improve functionalities.
  • Preventative: Performed to prevent problems before they even occur.

Georgia Tech students video on Maintenance:

Source:

http://agile.csc.ncsu.edu/SEMaterials/MaintenanceRefactoring.pdf