All articles

Custom Software9 min read

What Is Software Maintenance? Types, Costs and Who Should Do It

Software maintenance is the work of keeping software correct, secure and useful after it goes live. It has four types: corrective, adaptive, perfective and preventive. As a planning rule of thumb, annual maintenance often runs around 15 to 20% of the original build cost.

Written byUsama AsifPublished Updated

Software maintenance is the work of keeping software correct, secure and useful after it goes live. It has four types: corrective (fixing defects), adaptive (keeping up with platform and regulatory change), perfective (improving or extending features) and preventive (reducing future failures). As a planning rule of thumb, annual maintenance often runs around 15 to 20% of the original build cost.

Most software budgets are written around the build. The system then runs for years, and the work that keeps it running is paid for out of whatever is left. This guide explains what maintenance actually consists of, what a maintenance contract should cover, how to budget for it, who should do it, and how to tell when a system has been neglected. The cost figures here are widely quoted market rules of thumb, not Timeline Digital prices. If you already know you need an outside team, our software maintenance services page sets out what an agreement with us covers.

What are the four types of software maintenance?

The four-way classification of corrective, adaptive, perfective and preventive maintenance comes from the software maintenance standard ISO/IEC/IEEE 14764 and is used across the industry. Some vendors use other labels: perfective work, for example, is often sold as "enhancements" or "evolution".

TypeWhat it doesTypical exampleWhat triggers it
CorrectiveFixes defects found in productionA report adds up wrongly; an invoice fails to saveA user or monitor reports a fault
AdaptiveKeeps the system working as its environment changesUpgrading a database version; adapting to a changed payment gateway API or a new tax ruleA platform, library, third-party service or regulation changes
PerfectiveImproves or extends what the system doesA new report; a faster search; a simpler approval screenUsers and the business ask for it
PreventiveReduces the chance of future failuresRefactoring fragile code, adding tests, tuning slow queries, clearing technical debtA review, monitoring trend or audit finding

Two points matter for budgeting. First, only corrective work is reactive; the other three types are planned. Second, a contract that lists only "bug fixes" covers one of the four types, and the system will slowly drift out of date underneath it.

What does a software maintenance contract cover?

A maintenance contract (often paired with a service level agreement, or SLA) should state in writing what is covered, how fast the vendor responds and how problems are escalated. Our software maintenance and support page describes how this is structured, and our service level agreements page explains severity levels and response commitments. At minimum a good agreement covers:

  • Scope. Which systems, environments and integrations are included, and which types of maintenance (all four, or a named subset).
  • Severity levels. A plain definition of what counts as critical, high, medium and low, with an example of each.
  • Response and resolution targets. Time to acknowledge and time to restore service or apply a workaround for each severity, and the hours during which they apply.
  • Escalation path. Who is contacted, in what order, when an issue is not progressing.
  • Monitoring and patching. Whether the vendor watches uptime, errors and performance, and how often security patches and dependency updates are applied and tested.
  • Backups and recovery. What is backed up, how often, and whether restores are tested.
  • Enhancement work. How small changes are requested, estimated and approved, so they do not crowd out urgent fixes.
  • Reporting. A regular summary of issues, response times and work done.
  • Ownership and access. You own the code, data and hosting accounts; the vendor works in repositories and accounts you can reach at any time.

What is the cost of software maintenance?

The cost of software maintenance is commonly planned at roughly 15 to 20% of the original build cost per year: a system that cost 200,000 to build would need about 30,000 to 40,000 a year. Treat this as a widely quoted rule of thumb, not a measured law or a quote; some sources use up to about 25%.

The rule appears repeatedly in vendor and consultancy articles, and we did not find a primary academic study behind it.

The rule is a starting point, not a quote. Costs move up or down with:

  • Criticality and support hours. Round-the-clock cover with fast response times costs more than business-hours support.
  • Codebase condition. Well-tested, documented code is cheaper to maintain than code nobody understands.
  • Number of integrations. Every connected service, payment gateway, API or government interface is something that can change under you.
  • Rate of change. A business that asks for new reports and workflows every month spends more on perfective work than one with a stable process.
  • Platform and security obligations. Regulated or internet-facing systems need more patching and review.
  • Age. Older systems tend to cost more, particularly when frameworks or libraries have passed their end of support.

Two budgeting habits help. Separate run costs (hosting, licences, monitoring, patching) from change costs (new features), because they behave differently. And review the budget once a year against actual hours, not against the original rule.

For build-side figures and market ranges, see our custom software development cost guide. Timeline Digital does not publish prices for custom software, because every project is custom.

Should you maintain software in-house, with the original builder or with another vendor?

OptionStrengthsWeaknessesBest when
In-house teamDeep business knowledge, immediate availability, full controlHiring, retention and cover for holidays and sickness; knowledge sits in few headsThe system is core, changes weekly, and you can keep two or more engineers who know it
The original builderKnows the code and the reasoning behind it; fastest to startLock-in risk if ownership and documentation are weakThe relationship works and the contract gives you the code and access
A different vendorFresh review, price competition, can rescue an abandoned systemTakeover needs an audit first; slower first monthsThe builder is gone, unresponsive or no longer the right fit
HybridIn-house owner for decisions, vendor for engineering capacity and out-of-hours coverNeeds clear responsibilitiesYou want control without carrying a full team

Whichever you choose, check three things: the source code is in a repository you control, the system can be built and deployed from documentation, and at least two people understand it. Those three conditions decide whether you can switch provider later.

What are the signs of neglected software?

  • Fixes are made directly on the live system, with no test or staging environment.
  • Operating system, database, framework or library versions have passed their vendor's end of support.
  • Nobody can say when the last security patch was applied.
  • A small change takes weeks because developers are afraid of breaking something.
  • Errors are discovered by users, not by monitoring.
  • Backups exist but have never been restored as a test.
  • The same few people are the only ones who understand the system.
  • Staff keep spreadsheets beside the system to work around what it cannot do.
  • Integrations break whenever a partner changes something.

Three or more of these usually means the system has been running on goodwill. An audit is a sensible first step: it records what exists, what is at risk and what a sensible maintenance scope would be.

What should a software maintenance agreement checklist include?

Use this checklist before signing, or when reviewing an existing agreement.

  1. Systems, environments (production, staging) and integrations covered are listed by name.
  2. All four maintenance types are addressed, or exclusions are stated.
  3. Severity levels are defined with examples.
  4. Response and resolution targets are given for each severity, with support hours.
  5. The escalation path names roles and contact routes.
  6. Monitoring, patching frequency and testing before release are described.
  7. Backup frequency and a tested restore are included.
  8. The process for enhancement requests, estimates and approval is written down.
  9. Pricing model (retainer or time and materials) and what the monthly amount includes are clear.
  10. Reporting frequency and format are agreed.
  11. Code, data, documentation and hosting accounts remain yours; handover on exit is specified.
  12. Notice period and contract length are stated plainly.
  13. Confidentiality terms are in place, and an NDA is signed if sensitive data is involved.

When is maintenance no longer enough?

If most of the budget goes on corrective fixes, the platform is out of support, or the system can no longer be changed safely, maintenance only slows the decline. That is the point to assess legacy software modernization: rehost, replatform, refactor, rebuild or replace, chosen per component rather than all at once.

How Timeline Digital approaches maintenance

Timeline Digital is a custom software development company founded in 2013 and headquartered in Islamabad, Pakistan. We maintain systems we built and systems built by other vendors. A takeover begins with an audit of the code and infrastructure, a risk list and a proposed scope, and support hours are Monday to Friday, 9:00 to 18:00 Pakistan time (PKT, UTC+5), overlapping UK and European mornings and the Gulf working day, with US and Canada calls booked at the start of their day; wider cover is written into the SLA. Source code, designs and documentation transfer to you on full payment. Before any full project we build 2 to 3 of your key modules as a free pilot, ready in about 2 days. Our software maintenance and support services page covers takeovers, SLA tiers and engagement models; to discuss your system, contact Timeline Digital.

Frequently asked questions

What is software maintenance in simple terms?

Software maintenance is everything done to a system after it goes live to keep it working and useful: fixing faults, keeping it compatible with changing platforms, adding or improving features, and reducing future problems. It is not a one-off task. Like servicing a building, it is a continuing activity that protects the original investment.

What are the four types of software maintenance?

Corrective maintenance fixes defects found in production. Adaptive maintenance keeps the system working when its environment changes, such as a new operating system, database version, third-party API or regulation. Perfective maintenance improves or extends features and performance. Preventive maintenance reduces the chance of future failures through refactoring, tests and monitoring. The classification comes from the ISO/IEC/IEEE 14764 maintenance standard.

How much should I budget for software maintenance each year?

A widely quoted industry rule of thumb is roughly 15 to 20% of the original build cost per year, with some sources going up to about 25%. It is a starting point, not a measured law. Criticality, support hours, code quality, number of integrations and how often you want changes can move the figure well above or below it. Review it annually against actual hours worked.

What is the difference between software maintenance and software support?

Support is the responsive part: helping users, triaging incidents and restoring service within agreed response times. Maintenance is the wider engineering work that keeps the system healthy, including patching, upgrades, tuning and improvements. Many vendors sell them together under one agreement, but the contract should say which activities and response times are included.

What does an SLA in a maintenance contract include?

A service level agreement defines severity levels, the response and resolution targets for each, the hours support is available, the escalation path and what is in and out of scope. Good agreements also state reporting, monitoring, backup and patching commitments, so that targets can be measured rather than argued about when something goes wrong.

Can another company maintain software that someone else built?

Yes, provided the new vendor can access the source code, hosting accounts and any documentation. A responsible vendor starts with an audit to learn what exists and what is at risk before accepting responsibility. A clean handover from the previous vendor is faster, but it is not essential if you own the repository and accounts.

Is it cheaper to maintain software in-house or outsource it?

It depends on scale. One or two part-time engineers rarely justify a full in-house hire plus cover for holidays and sickness, so a vendor retainer is often cheaper for small and mid-size systems. A core system that changes weekly may justify an in-house owner. Many organizations use a hybrid: an internal owner for decisions and a vendor for capacity and out-of-hours cover.

When should I replace software instead of maintaining it?

Consider replacing or rebuilding when most of the maintenance budget goes on corrective fixes, the platform is past vendor end of support, changes are risky and slow, or the business process has changed so much that the system no longer fits. Assess each component separately, because some parts can be kept while others are replaced.

Topics in this article

  • Software Maintenance
  • Software Support
  • SLA
  • Maintenance Contract
  • Technical Debt
  • Custom Software

Start a conversation

Tell us how your business works.

Describe what is slowing your team down. We will help you work out what to build, and how a free pilot lets you judge our work before the full project.

Prefer WhatsApp? Start a chat

What happens next

  1. You send a short brief

    The problem, the people involved and any target date. A senior engineer replies within 4 business hours.

  2. We understand your workflow

    A first call about how your business works today. An NDA can be signed before you share details.

  3. You test a free pilot

    You choose 2 to 3 key modules and we build them first, so you judge real software before the full project.