Why software needs ongoing maintenance
Software that is not maintained slowly breaks, even if nobody touches it. Frameworks and libraries publish security fixes every month, browsers and mobile operating systems change, third-party APIs are retired, and data volumes grow. Industry studies commonly put maintenance at well over half of a system’s total lifetime cost — the question is whether that work is planned or happens as emergencies.
Types of maintenance we cover
| Type | Purpose | Examples |
|---|---|---|
| Corrective | Fix defects | Bug fixes, data corrections, failed integrations |
| Adaptive | Keep up with a changing environment | OS and browser updates, API version changes, new payment rules |
| Preventive | Reduce future risk | Dependency upgrades, refactoring, test coverage, backup checks |
| Perfective | Improve the product | Performance tuning, small features, UX improvements |
What a software maintenance and support plan includes
- 24/7 uptime and error monitoring with alerts
- Monthly security patching and dependency updates
- Bug fixes with response times based on severity
- A monthly hours allowance for small enhancements
- Backup verification and a tested restore
- A monthly report: incidents, updates, hours used and recommendations
Response times by severity
| Severity | Example | Target first response |
|---|---|---|
| Critical | Site or app down, data loss, security incident | Within 2 hours |
| High | Key feature broken for many users | Same business day |
| Normal | Bug with a workaround | Within 2 business days |
| Low | Cosmetic issue or question | Within 5 business days |
Exact targets and coverage hours are agreed in your support plan.
What happens in the first 30 days
Taking over maintenance of an application is a little like a medical check-up. In the first month we focus on understanding the system and removing immediate risks rather than adding features. We secure access: credentials are rotated, shared passwords removed and access moved to named accounts with multi-factor authentication. We confirm that backups exist, run a test restore and document how long recovery takes.
We set up monitoring for uptime, errors and performance so problems are found before customers report them, and we run a dependency and vulnerability scan to identify outdated packages and known security issues. By the end of the month you receive a short health report covering risks, quick wins and a recommended 6–12-month maintenance plan — plus a runbook so knowledge is no longer locked in one person’s head.
Why proactive maintenance costs less
Reactive support — fixing things only when they break — feels cheaper until the first emergency. Outages happen at the worst times, emergency work is expensive, and the root cause is usually something that preventive maintenance would have caught: an expired certificate, a full disk, a library with a published vulnerability or a third-party API that announced its retirement months earlier.
A planned monthly cadence spreads that work evenly. Small, regular dependency updates are low-risk; jumping several major versions after years of neglect is a project in itself. Over the life of a system, steady maintenance keeps total cost of ownership predictable and extends the time before a costly rebuild is needed.
Support plan options compared
| Essential | Standard | Extended | |
|---|---|---|---|
| Monitoring & alerts | Yes | Yes | Yes |
| Security & dependency updates | Monthly | Monthly | Weekly review |
| Bug fixing | Critical issues | All severities | All severities |
| Small improvements | — | Monthly hours | Larger monthly allowance |
| Out-of-hours response | — | Critical only | Agreed coverage |
| Reporting | Quarterly | Monthly | Monthly with roadmap review |
Illustrative tiers; each plan is tailored to your system and risk profile.
What we need from you to support your software well
- Access to source code repositories and hosting accounts
- Existing documentation, even if incomplete
- A named contact who can make decisions on priorities
- Agreement on what counts as critical for your business
- Access to error logs and monitoring tools, or permission to set them up
How we prioritise work each month
Support work competes for attention: urgent bugs, security updates, small enhancements and technical debt. We agree a simple order with you — production incidents first, then security, then defects affecting users, then improvements — and review the backlog together each month. Recurring problems are tracked so we can recommend a permanent fix rather than repeatedly patching the same issue.
-
Triage
Every new issue is classified by severity and impact within the agreed response time.
-
Fix or schedule
Critical issues are fixed immediately; others are scheduled into the monthly plan.
-
Report
A monthly report covers incidents, updates, hours used and recommendations.
Signs it is time to modernise rather than maintain
Maintenance keeps software healthy, but sometimes the cost of keeping old technology running exceeds the cost of improving it. Warning signs include frameworks past end of support, small changes regularly taking weeks, and frequent incidents from the same components. When we see those patterns, we tell you and outline options in legacy modernization. Our software maintenance guide explains budgeting and best practices in more detail.
Dependency and security updates done safely
Updating frameworks and libraries is the core of preventive maintenance, and also where careless updates break production. We batch minor updates monthly, apply critical security patches as soon as they are tested, and plan major version upgrades as small projects with their own testing. Automated tests and a staging environment that mirrors production make these updates routine rather than risky.
- Automated alerts for vulnerable dependencies
- Updates tested in staging before production
- Release notes for every change
- A rollback plan for each deployment
Questions to ask a maintenance provider
- What response and resolution times do you commit to, by severity?
- Who will actually work on our system, and will it be the same people each month?
- How do you record knowledge so we are not dependent on one person?
- What happens to unused hours and to work beyond the monthly allowance?
- How do we end the arrangement, and what will you hand over?
Documentation we maintain for you
Good maintenance leaves the system easier to understand each month. Alongside the work itself, we keep a living set of documentation that belongs to you: an architecture overview, setup and deployment instructions, runbooks for common incidents, a record of third-party services and credentials owners, and a change log of every release. If you later bring support in-house or change provider, that documentation makes the transition quick and low-risk.
Each quarter we also review the system with you as a whole: upcoming end-of-support dates, recurring incidents, cost trends and the improvements most worth funding next.
The aim is simple: fewer surprises, predictable costs and software that stays easy to change for years.
Ask us for a sample monthly report.
Taking over software built by someone else
Many of our support clients come to us after the original developer or agency has moved on. We start with an onboarding audit: access and credentials, code repository, hosting, backups, dependencies and known issues. You receive a short report with immediate risks and a plan, and the system then moves onto a regular maintenance schedule.
If the audit shows the platform itself is the problem, see legacy software modernization.
This page is part of Custom Software Development Services — see the full overview for related services, approach and pricing.