Software Maintenance: Types and How to Plan It
Software maintenance keeps an app working and secure after launch. Here are the types of maintenance and how to plan it.
Overview & context
"Finished app" is a state that lasts until the first security patch for one of its dependencies. Software maintenance is everything that happens to an app after launch to keep it working and secure. Below you'll find the types of software maintenance, what belongs in a maintenance plan and which tasks come back every month, quarter and year.
1. What software maintenance is
Maintenance starts on day one in production. It covers bug fixes, library and runtime updates, changes forced by the systems around the app and small improvements. Service contracts usually add operations on top: backups, monitoring and certificate renewals.
Maintenance is often done by someone other than the original developers, typically an agency after a software handover or a new colleague a year later. They first have to find the access, the environments and which version runs where. For a reported bug, someone still has to check whether it's already fixed in a newer version.
2. Types of software maintenance
The classic split from ISO/IEC/IEEE 14764 has four types. Corrective and preventive maintenance deal with defects, adaptive and perfective maintenance change the app. The standard leaves operations like backups and server administration out of maintenance, but service contracts usually include them.
| Type | What it covers | Example |
|---|---|---|
| Corrective | Fixing defects found in production | Invoice export fails for invoices with more than 100 items |
| Adaptive | Adapting to changes in the environment | New Node.js version, payment gateway API change, new iOS release |
| Perfective | Performance improvements and small new features | Faster list loading, a new filter |
| Preventive | Removing problems before they cause failures | Updating a library with a known vulnerability, refactoring |
3. Software maintenance plan: what to include
A maintenance plan says who looks after what, how fast they respond and what gets done on a schedule. Without one, maintenance only happens once something stops working. Response times and uptime usually go into a separate agreement, see the service level agreement template.
4. Software maintenance checklist: monthly, quarterly, yearly
Most maintenance breaks down into recurring tasks. Test new versions on a staging environment before they go to production.
| How often | Tasks |
|---|---|
| Every month | Library updates and security patches, review errors in monitoring, check that backups ran |
| Every quarter | Test restore from backup, access review (remove people who left the project), check end-of-life dates |
| Every year | Renew domains and certificates that don't renew automatically, review the SLA and costs, review technical debt |
5. Application maintenance for multiple clients
An agency maintaining dozens of apps may use several providers for hosting, monitoring and other services. When a problem in production needs to be solved, the team has to quickly find the access, environments and contacts for that particular app.
In AboutTheApp, each app has its links grouped by category, such as Monitoring & Quality, DevOps & Infrastructure, Security and Support. Links that only concern one client or environment can be attached to just that client or environment and marked private. The dashboard shows the deployed versions for each client and can filter outdated installations, so you can see where an update is due. Clients see their environments, versions and release notes on their About page, which covers most of a monthly deployment report.
Credentials and API keys don't belong in AboutTheApp. Link to the entry in your password manager or secrets vault instead and manage access there.
Frequently asked questions
What are the four types of software maintenance?
ISO/IEC/IEEE 14764 distinguishes corrective maintenance (fixing defects found in production), adaptive maintenance (adapting to changes in the environment), perfective maintenance (improvements and small features) and preventive maintenance (removing problems before they cause failures).
What is included in software maintenance?
Bug fixes, library, runtime and security updates, changes forced by surrounding systems and small improvements. A service contract usually adds operations: monitoring, backups, certificate renewals and response times for outages.
What is the difference between software support and software maintenance?
Support handles user questions and requests, like how to do something or why something doesn't work. Maintenance changes the app itself and its environment. A reported bug often starts in support and ends up as a maintenance task.
How often should software be updated?
Security patches as soon as possible after release, other library updates typically once a month. Runtime and framework versions need upgrading before their support ends, not after.
How do you keep track of maintenance across many apps?
You need the same structure for every app: links to hosting, monitoring and the repository, contacts and the deployed versions. In AboutTheApp, they sit next to the app by category and the dashboard shows which clients run an outdated version.
In short
Software maintenance is regular work, not a reaction to outages. A plan with scope, response times and recurring tasks plus one place with everything about the app turn it into a predictable service.
Want everything for maintenance next to each app?
Add your app to AboutTheApp for free and attach links to hosting, monitoring, backups and contacts.