A business application does not stop on the day it goes live. It has to be fixed, updated, secured, adapted to new rules and enriched as needs change. Sometimes for ten years. And the team that built it is not always the team that maintains it.
That is exactly what application maintenance services are for. But the term covers very different realities from one provider to the next, and the line between maintenance, software enhancement, managed services and operational maintenance remains blurred for many organisations. This article sets out a clear definition of application maintenance services, details their scope and how they differ from software enhancement services, then gives the benchmarks for framing a contract that lasts.
Application maintenance services: definition
What the term covers
Application maintenance services consist of entrusting the upkeep of one or more applications to an external provider rather than handling it with your in-house teams. They cover applications and their code, not the hardware or infrastructure that hosts them.
France’s general administrative terms for public IT contracts (CCAG-TIC) give a sober definition: application maintenance covers the services that consist of keeping a computer program in a state that allows it to fulfil its function. In other words, application maintenance ensures an application keeps doing what it was designed to do, despite bugs, updates and changes in its environment.
In France, these services go by the acronym TMA (tierce maintenance applicative, third-party application maintenance), while software enhancement is called TME (tierce maintenance évolutive). You will come across both terms if you work with French providers.
What application maintenance is not
Application maintenance is often confused with neighbouring services. It is not managed infrastructure services: those cover running servers, networks and backups, whereas application maintenance covers the application’s code. Nor is it basic user support, which answers questions without touching the software.
It also differs from staff augmentation. With staff augmentation, experts join your team and work under your management. With application maintenance services, the provider takes charge of an application scope and commits to a result: response and resolution times defined in the contract.
The scope of application maintenance: the types of maintenance
Corrective maintenance
This is the historical core of application maintenance: diagnosing and fixing the bugs reported by users or detected by monitoring. A wrong calculation, a screen that no longer loads, an export that fails.
Bugs are classified by severity, from a minor inconvenience to a business process being completely blocked. Each level comes with a response time and a resolution time, set in the contract: that is what separates serious application maintenance from ad hoc assistance.
Preventive maintenance
Its aim is to stop bugs from happening in the first place: monitoring error logs, removing code that is no longer used, optimising slow queries, cleaning up data. It is the least visible part of application maintenance, and often the most cost-effective.
An application maintained only through corrective work builds up technical debt, which ends up making every intervention longer, riskier and more expensive.
Adaptive maintenance
An application’s environment never stops changing: a new version of the language or framework, an operating system update, a change to a partner API, a new regulatory requirement. Adaptive maintenance adjusts the application to these changes without altering its features.
It includes security updates, which have become essential. An application whose components are no longer updated becomes an entry point for attacks, even if it works perfectly.
Software enhancement
Software enhancement adds or changes features to meet new business needs: a new approval workflow, a connector to another tool, an extra dashboard. The ISO/IEC 14764 standard calls it perfective maintenance; in practice, it is where maintenance meets development.
Depending on the provider, it is included in the maintenance contract, billed separately or handled as distinct software enhancement services. It is one of the first points to clarify when framing the engagement.
Application maintenance vs software enhancement services
Software enhancement services cover the work that moves an application forward: new features, a module redesign, adaptation to a new process. Where application maintenance preserves the existing software, enhancement transforms it.
| Application maintenance | Software enhancement | |
|---|---|---|
| Objective | Keep the application working | Make the application evolve |
| Trigger | Bug, update, obligation | New business need |
| Type of work | Corrective, preventive, adaptive | New features, redesigns |
| Governance | Response and resolution times | Prioritised backlog, estimate per request |
| Pace | Continuous, often unpredictable | Planned, in batches or sprints |
In practice, the boundary is porous. Fixing a behaviour a user considers abnormal can reveal a new need, and a poorly tested change creates bugs. That is why most companies entrust maintenance and enhancement to the same provider, with a single team that knows the application end to end.
When that same team also builds new applications or major new modules, the engagement is usually called application development and maintenance (ADM). The logic stays the same: one team, one body of knowledge, from the first line of code to long-term upkeep.
Application maintenance, operational maintenance, managed services, staff augmentation: telling them apart
These four notions overlap without being the same, and mixing them up is often what causes contractual misunderstandings.
- Operational maintenance is the overall objective: keeping the system available and performing. It relies both on application maintenance, for software, and on operations, for infrastructure.
- Application maintenance services cover the code and the behaviour of applications, with committed response times.
- Managed services cover running the infrastructure: server monitoring, system incident management, backups. That is the scope of our cloud and on-premise managed services.
- Staff augmentation makes skills available to your teams, with no transfer of responsibility for the result.
An application can perfectly well be maintained by one provider and hosted by another. What matters is that roles are written down and everyone knows who steps in when an incident affects both layers.
Who maintains your business applications?
We take over the maintenance of your applications, then fix, secure and enhance your software with clear response time commitments.
How application maintenance works: the three phases of the contract
Takeover
Before maintaining an application, the provider has to understand it. The takeover phase consists of analysing the code, existing documentation, architecture, incident history and usage. Depending on the size of the application, it takes from a few weeks to a few months.
This is the phase that determines everything else. A rushed takeover produces slow, hesitant maintenance, where every fix takes three times longer than planned.
Day-to-day maintenance
Once the application has been taken over, maintenance reaches cruising speed. Requests come in through a ticketing tool, are qualified and prioritised, then handled within the times set in the contract. Service level agreements (SLAs) set, for each severity level, the response time and the resolution time.
Governance relies on indicators reviewed in steering committees: ticket volume, compliance with response times, recurring bugs, enhancements delivered. These committees are where preventive actions and enhancement priorities are decided.
Reversibility
Reversibility organises the end of the contract: handing over the code, the documentation and the accumulated knowledge, to your teams or to a new provider. It has to be planned at signature, not negotiated when the relationship ends.
A maintenance contract without a solid reversibility clause makes you dependent on your provider, however good its service.
Application maintenance contract models
Three main models coexist, each suited to a type of application.
A fixed-price contract covers a defined scope for a set amount, with response time commitments. It suits stable applications with a predictable volume of requests. A consumption-based contract, in the form of work unit credits or a ticket book, is drawn down as interventions take place: it suits low-volume applications or irregular activity.
Finally, a dedicated team model reserves team capacity over a period, for critical or very active applications, and is the usual format for application development and maintenance. The cost of application maintenance services depends above all on the size and complexity of the application, its technical condition and the level of commitment expected on response times. It is set after the analysis phase, never from a price list.
Why outsource application maintenance
Outsourcing application maintenance is not just a question of cost. Companies that make this choice are mainly looking for continuity and skills.
- Securing continuity : knowledge of the application no longer rests on one or two in-house developers whose departure could bring everything to a halt.
- Accessing a range of skills : development, databases, security, version upgrades, without recruiting every profile.
- Getting measurable commitments : contractual response times, where an overloaded internal team has to juggle priorities day to day.
- Refocusing internal teams on strategic projects rather than fixing bugs.
- Keeping technical debt under control through planned preventive maintenance, often neglected internally for lack of time.
There is a trade-off: it takes time for the provider to master your application, and clear governance to manage the relationship. Application maintenance has to be steered, it cannot be fully delegated.
How to choose an application maintenance provider
Price is rarely the right first criterion. Five questions separate a provider that will last from a contract that will deteriorate after a year.
- Does it master your technologies? Language, framework, database, ERP or CMS: maintaining an older application requires skills that not every provider still has.
- How does it organise the takeover? A precise takeover plan, with a duration, deliverables and documentation produced, is a good sign.
- What does it commit to? Response times quantified by severity level, not a general promise of responsiveness.
- Is reversibility planned? Code, documentation, knowledge transfer: everything must be written down from the outset.
- Can it also enhance the application? A provider able to handle both maintenance and software enhancement services avoids multiplying the people working on the same code.
Application maintenance and AI: what changes
Artificial intelligence is changing the daily reality of application maintenance in concrete ways. Coding assistants speed up understanding of old, poorly documented code, suggest fixes, generate tests and produce the documentation that was missing.
The takeover phase benefits directly: analysing a codebase of several hundred thousand lines takes far less time when an assistant helps map its dependencies. Version upgrades, long and repetitive, are also better equipped.
AI does not replace business knowledge of the application, it speeds up how quickly that knowledge is acquired. Every suggested fix must be reviewed, tested and approved by a developer who understands what the code does. We describe this approach in our feedback on AI-augmented development.
Entrusting the maintenance of your applications to Castelis
Good application maintenance goes unnoticed: the application works, updates go through, enhancements arrive when the business needs them. Getting there requires knowing your application as well as your processes.
That is precisely where Castelis comes in. We provide application maintenance and software enhancement services for your business applications and custom software, whether or not we built them: takeover of the existing application, corrective, preventive and adaptive maintenance, functional enhancements, with response time commitments defined from the framing stage and monitoring up to 24/7 for critical applications.
More than 25 years of experience and more than 500 projects delivered: from application development and maintenance to the upkeep of applications of every generation, our teams rely on AI-augmented development to take over faster and make every delivery more reliable. And if you would rather keep management in-house, our experts can also strengthen your teams through IT staff augmentation.
Let's talk about maintaining your applications
Takeover of the existing application, maintenance, software enhancement and response time commitments: together, we build the set-up that matches how critical your applications are.
FAQ
What are application maintenance services?
They are the outsourcing of the maintenance of one or more applications to a specialist provider. The provider fixes bugs, prevents malfunctions, adapts the application to changes in its environment and often enhances it. It commits to response and resolution times defined in the contract.
What are software enhancement services?
Software enhancement services cover the work entrusted to a provider to make an application evolve: new features, redesign of existing modules, adaptation to new processes. Unlike maintenance, which keeps the existing software working, enhancement responds to new business needs and is usually managed through a prioritised backlog.
What is application development and maintenance (ADM)?
Application development and maintenance refers to an engagement in which the same provider builds new applications or modules and maintains them over time. It brings together development, application maintenance and software enhancement under a single team and a single contract, which avoids losing knowledge between the build and run phases.
What do TMA and TME mean?
They are the French terms for these services. TMA (tierce maintenance applicative) means third-party application maintenance, and TME (tierce maintenance évolutive) means third-party evolutive maintenance, the equivalent of software enhancement. You will come across them in contracts and tenders with French providers.
What are the 3 types of software maintenance?
The classic distinction is between corrective maintenance, which fixes bugs, preventive maintenance, which stops them from happening, and perfective or evolutive maintenance, which adds or changes features. Many providers add adaptive maintenance, which adjusts the application to changes in its environment: new versions, new rules, new interfaces.
How much do application maintenance services cost?
There is no standard rate. The cost depends on the size and complexity of the application, its technical condition, the expected volume of requests and the level of commitment on response times. It is set after an analysis of the application, as a fixed price, work unit credits or a dedicated team depending on the chosen model.
Are application maintenance services suitable for SMEs?
Yes, often even more so than for large companies. An SME rarely has the means to keep all the skills its applications need in-house, and often depends on one or two developers. A consumption-based contract or a fixed price sized for a limited scope secures the application without tying up a full team.