Most customers wonder why all software suppliers charge ongoing maintenance and support fees. Simply put, this is a necessary and unavoidable cost associated with the use of complex software. Ongoing maintenance and support fees entitle the user to regular upgrades and improvements. When a software provider makes changes for the better to their software, the user receives the updates and improvements automatically. This is an integral and beneficial part of the software development life cycle.
As a customer, you hope that your software provider regularly improves their software to correct faults, to improve performance or other attributes, or to adapt the product to a modified environment. As such, the software you are using ought to be in perpetual development. A good software provider will continue to assess customer requirements and, as those are established, they will define specifications for upgrades. To convert those upgrade specifications to actual software upgrades, the software provider expends enormous amounts of time and expertise to design and create those upgrades. Thereafter, the software provider has to conceive of implement protocols and ensure system compatibility, not only with their existing software, but also with other peripheral software that might be in use by customers.
Typically, during the 3-year period subsequent to the launch of a new software product, software maintenance costs amount to over half the cost of software development. The continual development of software, and its integration with other systems and other software used by customers, is a highly complex and sophisticated challenge. To share some software developer vocabulary, software upgrades can be described as: corrective, adaptive, perfective, or emergency improvements. Corrective maintenance fixes the bugs discovered after delivery. Adaptive maintenance keeps the software program usable in a changed or changing environment. Perfective maintenance includes changes to software to improve performance and maintainability. Emergency maintenance is usually unscheduled maintenance, required to keep the system working properly at any time.
The monthly maintenance and support fee generally entitles the customer to all of these types of maintenance. Every software provider has to continually conductÂ problem identification, analysis, design, implementation, system test, acceptance testing and delivery. Finally, the processes described as software provider’s physical configuration audits (PCA) play an important part in ensuring that the validated upgrade is fully achieved. Finally installation, training of users and version description documents are produced by the software provider.
These benefits are absolutely critical to the continued effective use of any software. Their delivery is of highly significant expense to any software supplier.
I hope these thoughts help customers to understand why maintenance and support fees are both extremely reasonable and absolutely necessary.