The most exciting moment in a software project is go-live day — the team celebrates, customers start using the product, everything feels perfect.
But that's not the end. It's the beginning of a new phase called maintenance.
Why Does Software Need Maintenance?
Software isn't like a building that stands unchanged after construction. Multiple factors cause software to degrade over time:
1. The environment changes
- New browser versions release (Chrome and Safari update frequently)
- Operating systems change (Windows updates, iOS updates)
- Cloud providers change APIs or deprecate features
- Third-party libraries release new versions with breaking changes
2. New security vulnerabilities are discovered
Thousands of new CVEs (Common Vulnerabilities and Exposures) are found each year. Libraries your software uses may have security holes requiring urgent patches.
3. Business changes
- Tax rates change
- Products and pricing change
- New regulations (e.g., PDPA)
- Evolving business processes
4. Accumulated technical debt
Code that was excellent on day one can become harder to maintain over time — especially as business logic grows more complex.
Types of Maintenance Activities
1. Corrective Maintenance (Bug Fixing)
Fixing bugs discovered after go-live — whether they slipped through testing or represent real-world edge cases.
2. Preventive Maintenance
- Dependency updates — regularly updating libraries and frameworks to prevent security issues
- Code refactoring — improving code readability and maintainability
- Performance optimization — monitoring and fixing bottlenecks before they become major problems
3. Adaptive Maintenance
Updating software to work correctly with changed environments — like an iOS 18 update that causes certain UI elements to render incorrectly.
4. Perfective Maintenance
Adding small features or UX improvements that aren't bugs but enhance the user experience.
What to Monitor After Go-Live
Infrastructure Monitoring
- Server CPU/memory/disk — alert when resources near capacity
- Uptime monitoring — immediate alert when the system goes down
- Database performance — queries slower than threshold
Application Monitoring
- Error rate — 4xx/5xx errors per day
- Response time — average API response time
- User drop-off — which pages users leave most frequently
Security Monitoring
- Failed login attempts — brute force signals
- Unusual traffic patterns — potential DDoS or scraping
- Dependency vulnerability scanning — e.g., GitHub Dependabot
Maintenance SLA Targets
When signing a maintenance agreement, define clear SLAs:
| Bug Type | Response Time | Resolution Target |
|---|---|---|
| Critical (system down, data loss) | 1 hour | 4–8 hours |
| Major (core feature not working) | 4 hours | 24–48 hours |
| Minor (small issue) | 1 day | 1 week |
| Enhancement (new feature) | 3 days | Per scope |
The Cost of Skipping Maintenance
Real-world scenarios:
E-commerce system with an expired SSL certificate → Browsers show "Not Secure" → customers leave → revenue lost.
Unpatched library with a known security vulnerability → Attackers exploit the hole → customer data exposed → massive compliance costs and reputational damage.
No database optimization → Queries slow progressively → user complaints → customer loss.
When Software Needs a Major Upgrade or Rebuild
Signs that maintenance alone isn't enough:
- Codebase is so old that new developers take months to become productive
- Performance is poor despite optimization efforts
- Desired new features clash heavily with the existing architecture
- Tech stack is end-of-life (no support or community)
In these cases, discuss a refactoring or rewrite strategy with your software house.
Summary
Maintenance isn't an "extra cost" — it's a preventive investment that's far cheaper than emergency fixes.
Well-maintained software stays:
- Secure against new threats
- Compatible with changing environments
- Stable and performant throughout its lifecycle
- Easy to extend as the business grows
From the start, look for a software house with a clear maintenance plan — not one that disappears after delivery.
Adowbig offers maintenance packages covering bug fixes, security updates, and monthly monitoring. See details