What’s the Difference?
The purpose of a contract warranty is to ensure that the delivered software application conforms to the contract’s defined scope. This means, for example, that all the requested features, reports, and utilities are delivered. Maintenance/Support, however, delivers much more.
Maintenance Patches and Upgrades
Maintenance Patches – provided on an as needed basis, a patch resolves a critical application defect(s) or security flaw or browser compatibility issue which cannot wait for the next product upgrade. The vendor should install all Maintenance Releases as soon as practicable after receipt. Testing, implementation, and installation for Maintenance Patches should be included.
Upgrades – a new version of the application released by the vendor. Clients with continuous maintenance should be eligible for upgrades to new versions of applications as they are available.
Application Security Monitoring
LBi Software, for example, makes use of an automated application vulnerability management tool, as well as a dynamic security testing tool, that test our apps against a large array of threats – including SQL injection, cross-site scripting, antiquated third party libraries, as well as other items found in the OWASP (Open Web Application Security Project) top 10. These static and dynamic tests are continuously updated to account for the latest vulnerabilities that are continuously being found. The end result is software that is as secure as possible. These tools are always updated with new flaws that hackers have discovered and exploited. Not only does your application have to be secure from Day One of use, but every day afterwards.
Why Custom Software?
When off the shelf applications don’t fulfill a critical business need that is directly tied to your organization’s profitability, custom enterprise-level applications are necessary. Building such an application is a significant undertaking in time, effort, and cost. Development for such a system can take a software team 6 months to 2 years to complete. The investment is worth it, though, because of the improvement in business processes, which in turn leads to improved performance, efficiency, cost savings and a Return On your Investment (ROI).
Normally because of the significant investment, the goal is for enterprise-level software to be used in production for 10 to 20 years. For example, LBi’s software product, Personnel Assistant (PA), was in production approximately 17 years. Each software application has its own unique life cycle, and it depends in part on real world changes, such as changes in business requirements, environment changes, security issues, software bugs, software upgrades, hardware changes/upgrades, etc. In order to keep your application viable for a long period of time and maximize your ROI, we recommend including ongoing maintenance.
What is Software Maintenance?
To keep your software up to date, you need Software Maintenance. There are four types of software maintenance: Preventive, Adaptive, Corrective and Enhancements.
- Preventive – helps to reduce the risk associated with operating software for a long time, helping it to become more stable, understandable, and maintainable by optimizing code and updating documentation as needed
- Adaptive – modifying software to allow it to remain effective in a changing business and technical environment
- Corrective – modifying the software to correct issues (“bugs”) discovered after initial deployment
- Enhancements – these can include:
- New features or functions
- Improving existing features or functions
- Removal of outdated features or functions
Why Do You Need Maintenance and Support Services?