Software maintenance and support services, including takeovers
Software maintenance and support is the work that keeps a product alive after release: fixing bugs, updating for new platform versions, watching for failures, keeping it secure and growing its features. JEEKSSHIRE 24 maintains its own products and takes on client projects, including code written by other teams. We start by reading the code and finding out what is really going on, then propose a clear plan.
What our software maintenance and support covers
Maintenance is not an on-call promise just in case; it is regular work on the product. The exact scope depends on the project, but it usually includes:
- fixing bugs reported by users, staff or monitoring alerts;
- monitoring: failure alerts, logs, backups and checks that they actually restore;
- dependency updates and patches for known vulnerabilities;
- adapting to new versions of iOS, Android, macOS, Windows and browsers;
- enhancements: new features, screens, integrations and reports;
- building releases and publishing updates to the app stores;
- keeping the documentation on how the product is built and released up to date.
Who needs application support and maintenance
Most clients come to us with one of four situations:
- the product is live, but the team that built it has left or moved on;
- the app works, but every update breaks something and nobody knows why;
- the product needs to grow: new features, languages, platforms or integrations;
- an operating system, app store or payment provider changed its rules and the product has to catch up.
If the product is still an idea, start with custom software development or MVP development: support is easier to plan from the first release than to bolt on later.
How we take a project into maintenance
- Getting to know the task. We find out what hurts right now, who uses the product and what counts as a failure.
- Access hand-over. Repository, servers, app store accounts, payment and email services: we list them and confirm they really belong to you.
- Code and infrastructure audit. We read the code, build the project from scratch and review dependencies, backups and how releases are done.
- Work plan. We sort the findings: what to fix first, what to rewrite and what is best left alone.
- Monitoring. We set up failure alerts and backups so that you hear about a problem from us, not from your customers.
- Regular work. Requests, priorities and releases follow an agreed process, and every release ships only when all checks are green.
What you get
- a product that keeps getting updates and doesn't fall behind new platform versions;
- the source code and its rights stay with you, and so do the accounts and access;
- up-to-date documentation on how the product works and how to release it;
- failure alerts and backups already in place;
- a clear change history: what was done, why and in which release;
- one team for both support and development, with no hand-off to subcontractors.
What to check and which documents to ask for during a hand-over is covered in our software project handover checklist.
Our own example: how we maintain our products
JEEKSSHIRE 24 has more than ten of its own products in production, all maintained by the same team that wrote them. We know support from the inside, not just from a contract.
Wallet is a wallet for paying international digital services on Mac, Windows and in the browser, in four languages including Arabic. Its payment flow needs careful updates: orders run through a queue with statuses and automatic refunds, and amounts are calculated on the server.
Legal is an AI document editor with Mac and Windows versions and an interface in 184 languages. Every update passes build, lint and tests before it ships, and the desktop versions are released alongside the web version.
We also run the JEEKSSHIRE 24 website ourselves: four language versions are generated from one source, so an edit reaches every language without manual copying.
Software maintenance types: corrective, adaptive, perfective, preventive
The industry usually splits maintenance into four types. They help agree on priorities and on what counts as urgent.
| What we do | Example | |
|---|---|---|
| Corrective | fix defects in how the product works | a payment goes through but the order status doesn't change |
| Adaptive | adjust the product to changes in its environment | a new iOS version, new store rules, a change of payment provider |
| Perfective | improve features based on user and business requests | a new report, role or interface language |
| Preventive | reduce the risk of future failures | dependency updates, simpler code, tests for fragile spots |
Taking over an existing software project: code audit and hand-over
Moving a project to a new developer is normal, and we do take on other teams' code. The first step is a code audit: we build the project from scratch using whatever instructions exist and review the architecture, dependencies, secrets handling, pre-release checks and backups.
- a list of risks, with what each one could lead to;
- what to fix now, what can wait and what to leave as it is;
- missing access and documents worth requesting from the previous team;
- a plan for the first releases on our side.
We fix the root cause rather than patching symptoms. That keeps the code from piling up workarounds, so maintenance gets cheaper over time instead of more expensive.
Legacy software modernization and platform upgrades
Legacy software rarely needs a full rewrite. More often we change the system piece by piece: isolate the most fragile parts, update dependencies and platforms, add tests and checks, then move features onto the new path one at a time without stopping the business.
This also covers moving an app to a new iOS or Android version, signing and notarizing desktop builds, and adding languages, including right-to-left layout. For desktop products see desktop app development, for the web see web application development. If you are unsure whether to upgrade a system or replace it with a ready-made service, read custom vs off-the-shelf software. To discuss your project, use the request form.
Frequently asked questions
What is included in software maintenance and support?
Bug fixes, failure monitoring and backups, dependency updates and vulnerability patches, adaptation to new platform versions and feature enhancements. The exact scope for your product is fixed in the contract.
Will you take over a project built by another team?
Yes. We start with an audit: we read the code, build the project from scratch and work out what is really happening. Then we propose a plan for what to fix first and what to leave as it is.
What does a code audit give me?
A list of risks with explanations, a review of architecture, dependencies and security, a list of missing access and documents, and a plan for the first work. After the audit you understand the state of the product and can make informed decisions.
How do incident response and the SLA work?
We set up failure alerts so that we hear about a problem before your customers do. Response times and the process for urgent requests are agreed and written into the contract before support begins.
How do you handle upgrades to a new iOS or Android version?
We test the product on the new OS version, update dependencies and build tools, fix what we find and ship the update through the usual checks and store submission.
How much does software maintenance cost?
The price depends on the size of the product and the level of support you need, so there is no price list. After getting to know the project we propose an engagement model and an estimate.
How do you handle security and dependencies?
We update dependencies regularly, track vulnerabilities, keep secrets out of the code and validate every incoming field. This is a requirement for every change, not a separate stage.