Almost every software quote covers building the thing. Very few explain what it costs to keep it working. That gap is where budgets get uncomfortable in year two, and it is entirely predictable.
Why software needs maintenance at all
Software does not wear out, but the world around it changes constantly:
- Security vulnerabilities are discovered in libraries you depend on, continuously.
- Operating systems update — Android and iOS release yearly and eventually reject old builds.
- Browsers change and occasionally break things that worked.
- Third-party APIs deprecate — payment gateways, maps, and login providers all retire versions.
- Certificates and licences expire.
- Regulations change — GST rules, data protection requirements, store policies.
Unmaintained software does not stay the same. It slowly stops working, and you find out at the worst possible moment.
Realistic annual costs
| Product type | Annual maintenance | What it covers |
|---|---|---|
| Static hand-coded site | ₹0 – ₹15,000 | Hosting, occasional content edits |
| WordPress business site | ₹25,000 – ₹90,000 | Core/plugin updates, backups, monitoring |
| E-commerce store | ₹60,000 – ₹3,00,000 | Above, plus payment and security patching |
| Web application | 15–20% of build | Dependencies, infra, bug fixes, small changes |
| Mobile app | 15–25% of build | OS updates, store compliance, SDK upgrades |
Mobile apps are the category people most underestimate. Even with zero new features, Android and iOS force periodic compatibility work — target SDK requirements, permission changes, and deprecated APIs. An app left untouched for two years frequently needs significant work simply to remain publishable.
What maintenance actually includes
Contracts vary wildly, which is why comparing maintenance quotes is hard. Establish which of these are covered:
Usually included
- Security and dependency updates
- Backup verification
- Uptime monitoring
- Fixing defects in delivered work
- Minor content or config changes
- Compatibility fixes for OS/browser changes
Usually billed separately
- New features
- Design changes
- New integrations
- Content writing
- Major version migrations
- Emergency recovery from a compromise
The models on offer
- Fixed monthly retainer Predictable, includes a defined scope and often a small allowance of change hours. Best for anything business-critical.
- Hourly, as needed Cheapest if genuinely nothing goes wrong, but nobody is proactively watching — you pay after a problem, not before.
- Annual support contract A block of hours with a response-time commitment. Good middle ground for stable systems.
- In-house Makes sense once you have enough software to occupy someone, and gives you the most control.
The clause worth negotiating hardest: response time for a production outage. "We will look at it" is not a commitment. A named response window — say, four business hours — is what you are actually buying with a retainer.
How to reduce maintenance cost at build time
Maintenance cost is largely determined by decisions made before a line of code is written:
- Fewer dependencies. Every library is something to update and audit. Twenty plugins cost more to maintain than five.
- Boring, well-supported technology. Obscure frameworks become expensive when the original developer moves on.
- Static where possible. A hand-coded static site can genuinely sit for years untouched.
- Managed services for commodity functions. Let a payment provider maintain payment code.
- Automated tests for critical paths. They make future updates safe rather than frightening.
- Real documentation. The cost of any change rises sharply when nobody understands the system.
Questions to ask before signing
- What exactly is included, and what is billed extra?
- What is the guaranteed response time for a site-down emergency?
- Are backups included, and have they been test-restored?
- Who holds the credentials and repository access?
- Can I cancel monthly, and what do I receive on exit?
- Will you provide a written report of what was done each month?
That last one matters more than people expect. A maintenance retainer with no reporting is difficult to evaluate — you cannot tell diligent work from an invoice.
Want maintenance costed honestly for your specific system, including being told where you need less than you are paying for? Get in touch. See also our maintenance checklist.