From our previous blogs, you now know how involved the entire process is in developing custom software for your business, from gathering information to hiring the right developer. But what happens after the application goes live? There is always maintenance to be done, and a good software maintenance plan is key to ongoing success, not to mention keeping all of the components updated, secure and running smoothly.
There are four components to software maintenance:
- Corrective: Fixing bugs
- Adaptive: Keeping up with technical changes, such as operating systems, platforms, hardware, etc.
- Perfective: Keeping up with the needs of your users and customers
- Preventive: Long-term maintainability and usability
Your software maintenance plan needs to be a good mix of each of the above-mentioned components, providing an overall strategic plan to keep your application running, updated, and current.
So, what is a software maintenance plan?
A common misunderstanding is that a maintenance plan is simply a break-fix situation, where bugs are fixed as needed. The truth is that a monthly maintenance plan covers basic updates, upgrades, and modifications.
An application maintenance plan is not unlimited in scope. It often includes both long-term and pay-as-you-go support. The long-term component includes a set number of hours each month to do upkeep. The pay-as-you-go part comes once those hours are exhausted, usually at a discounted rate. These maintenance agreements are typically monthly, but some clients prefer an annually-paid arrangement. In our case at Ping! Development, our maintenance plans run from the last Monday to last Monday of each month, and we have three tiers of pre-paid hours to choose from.
Does it include direct support to customers?
Ping! Development may act on behalf of our clients, interacting directly with your customers as part-time agents to support the software. In those cases, our maintenance plan includes access to the customer portal, as well as access to live support chat via a chat widget installed on the application, allowing for more immediate help.
The Software Application Maintenance Schedule
In addition to the allocated monthly hours for as-needed maintenance, there is preventative or routine maintenance that is included in a good software maintenance plan.
The following components of a software application require regular assessment and maintenance in order to keep the application stable and the business running smoothly:
- Upgrades to dependencies (frameworks, third-party packages, UI/UX libraries) should be installed monthly as they become available (these will typically involve things like security patches and bug fixes).
- Major upgrades are more likely to be quarterly, semi-annual, or annual. This is typically determined by the road map of the application framework. The maintenance plan will monitor and measure these upgrades.
Other considerations when it comes to a maintenance schedule:
- Is the application brand new? If so, the business should plan for additional hours to accommodate recommendations and feedback received from users and customers.
- The reliability of the application: Does it require more support due to it being an older, less reliable design?
- Is there a roadmap in place for additional features and functionality, including input from users/customers?
The right maintenance plan is a function of your business goals. It is important for you to analyze the goals you created when you set out on this project and ensure that your software application will keep pace.
Does an application have to be shut down for maintenance?
We minimize downtime for maintenance with our deployment process. Additionally, we deploy during low traffic times in order to have the lowest impact on users and customers. This can mean after-hours/premium support hours, but it's minimal (typically less than an hour a month, if we do monthly releases).
How much does software application maintenance cost?
The main considerations in determining your budget are:
- Has there been a lot of support time invested in the past?
- Are you looking to develop new features and functionality? (Hint: yes, you are)
- How flexible can you be with your budget, and how predictable do you need your budget to be?
- Do you need us to handle all support calls (triage, Tier 1) or just escalations (Tier 2)?
Whether your application was developed by Ping! Development or another provider, we can offer you and your customers the support you need to stay current, remain protected and secure, and keep things up and running. Contact us today to review your application support and maintenance needs.