Software maintenance

The maintenance cost increases as the software solution evolves over time. Software evolution is extremely difficult to factor into costing estimates at the beginning of the project.

Keeping the developed functionalities and features fixed, software maintenance cost is mainly derived from fixing issues that arise within the software itself. 

  • Corrective cost – costs due to modifying software to correct issues discovered after initial deployment (Example: You have been delivered a software, and login is starting acting up)
  • Adaptive cost – costs due to modifying a software solution to allow it to remain effective in a changing business environment (Example: You are using a third party API/SDK and they made some changes to their software, now you have to change your software accordingly to be able to continue using their services)
  • Perfective costNot covered by maintenance contract by default – costs due to improving or enhancing a software solution to improve overall performance ( Example: You have realized that it would be much better if user after login instead of ending up in dashboard, ends up in some other part of the software)
  • Preventive costNot covered by maintenance contract by default  (You realized your software is becoming very popular and you have to make changes to your server to accommodate higher traffic)
  • Perfective UI/UX updatesNot covered by a maintenance contract by default
  • Logic or Rule changeNot Covered by a maintenance contract by default (Example: changes mandated by law)
  • Code refactoringNot covered by a maintenance contract 
  • Enhancements costNot covered by maintenance contact, costs due to continuing innovations or adding functionalities to the software