Software Maintenance & Support in Rwanda
Ongoing fixes, updates and support for software after the initial build ships.
Software maintenance and support keeps custom software working and secure after launch: bugs fixed by priority, security updates and dependencies kept current, hosting and backups checked, small improvements made, and the system documented so it never depends on one person. Any organisation running custom software without a maintenance arrangement, or whose developer has moved on, needs it. This page covers custom software and applications. Support for ERP platforms specifically is covered by ERP support and maintenance.
What is software maintenance and support, and who needs it
It’s an ongoing service with agreed priorities, response times and scope, covering corrective fixes, preventive updates and small adaptive changes to your software and the environment it runs in. It suits organisations whose systems were built by a developer who is no longer available, those running software that hasn’t been updated since launch, and any organisation whose operations depend on a custom system.
The problem it solves
Software decays even when nobody touches it. Libraries develop known vulnerabilities, browsers and phones change, certificates expire, hosting platforms retire old versions, and small bugs accumulate into workarounds. Knowledge of how the system works leaves with the developer. Regular maintenance keeps the system safe and current, and documentation keeps it maintainable by someone other than its author.
What maintenance covers
Corrective. Bugs fixed by priority, with root causes recorded.
Security. Dependencies and frameworks updated, vulnerabilities patched and secrets rotated.
Environment. Hosting, database and operating system updates, and certificate renewals.
Compatibility. Changes in browsers, mobile operating systems and app store rules handled.
Backups and recovery. Backups checked and restores tested.
Monitoring. Errors, performance and availability watched, with alerts.
Small improvements, within an agreed monthly allowance.
Documentation kept current with every change.
Taking over from another developer
Many maintenance agreements start with a handover from someone else. The first weeks focus on access and understanding: securing the code repository, hosting and database credentials in your name, building a working test environment, mapping dependencies and their security status, and documenting how the system is deployed. Urgent risks found during that review, such as unsupported frameworks, missing backups or exposed secrets, are fixed first.
Priorities that match the business
- Critical: the system is down, data is exposed or a key process has stopped. Fastest response, worked until resolved.
- High: a main function fails for a group of users, with no workaround.
- Normal: a problem with a workaround, or affecting one user.
- Request: questions, small changes and improvements, planned into the monthly allowance.
Response targets for each level are written into the agreement, and monthly reports show how they were met.
Releases without surprises
Every change, however small, goes through the same path: made in version control, tested in a separate environment, approved, released at an agreed time, and recorded with a way to roll back. That discipline is what lets a system be changed for years without becoming fragile.
What the work involves
- Review the system, code, hosting, dependencies and documentation.
- Fix urgent risks found in the review.
- Agree priorities, response times and monthly allowance.
- Set up monitoring, a test environment and a release process.
- Maintain on a regular cycle, with monthly reports.
- Plan upgrades and improvements each quarter.
What’s included and what’s not
Included: bug fixing, security and dependency updates, environment maintenance, monitoring, and monthly reports.
Not included unless separately scoped: new features and larger changes (see custom software development), hosting costs, third-party licences, and major modernisation (see legacy system modernisation).
Typical timelines and what drives cost
Onboarding a system we didn’t build typically takes one to three weeks, depending on its condition. Maintenance is a recurring fee driven by the system’s size and complexity, the number of integrations, the age of its technology, response targets, coverage hours and the monthly improvement allowance.
Equipment typically used
Version control, issue tracking, automated tests, dependency scanning for known vulnerabilities, separate test and live environments, error and performance monitoring, and backup and restore tooling.
Common mistakes we see
No maintenance after launch. Code and hosting held only by the developer. Dependencies never updated. Fixes made directly on the live system. No test environment. Backups never restored. And upgrades postponed until a component reaches end of support.
Software Development
Related services
-
Legacy System Modernization
A path off an ageing system that still runs the business but nobody wants to touch.
-
Custom Software Development
Software built around your actual process, not a template forced to fit it.
-
Business Management Systems
A management system that ties together the records your business already keeps.
Frequently asked questions
Can you maintain software you didn't originally build?
Yes, provided we can access the source code, the hosting and the database. We start with a review: how the system is built, how it's deployed, its dependencies and their security status, backups, and known problems. That review produces the documentation the original developer may never have written, and maintenance starts from an accurate picture.
What's included in ongoing maintenance versus new feature development?
Maintenance keeps what you have working and safe: bug fixes, security patches, dependency and framework updates, hosting and backup checks, compatibility with browser and operating system changes, and small adjustments. New features and significant changes are scoped and quoted separately, so the maintenance fee stays predictable.
How quickly are reported bugs addressed?
By priority, as written in the agreement. Problems that stop the system or expose data come first, with the fastest response; issues that block one group of users come next; cosmetic problems and small requests follow. Critical periods, such as month-end or a funding deadline, can have extra cover arranged in advance.
What happens if the software's underlying technology becomes outdated?
We track the support dates of the frameworks, libraries, databases and hosting your system depends on, and raise upgrades well before support ends. Small, regular upgrades are far cheaper than a large one forced by an unsupported component. If a system has drifted too far, we recommend a modernisation plan rather than patching indefinitely.
Why do software dependencies need regular updates?
Because most software is built on open-source libraries, and flaws in them affect every system that uses them. Log4Shell, disclosed in December 2021, showed how one vulnerable library embedded in thousands of products could expose systems worldwide within days. Knowing which libraries you use, and updating them promptly, is basic maintenance.
Have a process your current software can’t handle?
Describe what people do today and where it breaks. We’ll come back with options, including whether to build at all.