Software Engineering

Custom Software Maintenance: What the Service Agreement Should Cover

TuniCyberLabs Team
Archive date:
Published
6 min read

Define support hours, incident severity, response and restoration targets, preventive maintenance, recovery evidence and exit obligations.

A custom software maintenance agreement should identify the systems covered, the work included, the service hours, the incident process and the evidence that routine maintenance is happening. It should also separate response commitments from restoration objectives and define what happens when the relationship ends.

A monthly retainer is a commercial arrangement, not a complete operating model. Two suppliers can charge for “support” while accepting very different responsibilities. The buyer needs those responsibilities written down before a production incident forces the discussion.

Inventory what the agreement covers

List the applications, environments, repositories, integrations and infrastructure within scope. Identify the current versions and known limitations at the start of the service. An inherited application with no repeatable build needs different onboarding work from a well-documented system.

Name the owner of each dependency: cloud hosting, domain registration, email delivery, payment processing, database operations and identity provider. If the supplier supports the application but another team controls infrastructure, define the boundary and escalation route.

Record who may authorize changes and spending. Without that decision, an engineer may identify a problem but be unable to purchase capacity, change a configuration or schedule the work required to resolve it.

Separate four kinds of work

Distinguish incident response, preventive maintenance, defects against the accepted scope and new development. They may share a team, but they need different commercial and acceptance rules.

Incident response investigates a service disruption. Preventive maintenance addresses work such as supported-version upgrades, dependency review and recovery exercises. Warranty or defect correction depends on the original agreement. New capabilities belong in a prioritized development backlog.

Ask whether the retainer reserves engineering capacity, pays for completed work or provides a defined operating service. Establish how unused capacity, urgent work and requests beyond the included scope are handled. The description should make the purchase understandable without inventing unlimited availability.

Define severity through business impact

Severity labels should describe impact and urgency, not how strongly a ticket is worded. A hypothetical order-processing platform might distinguish a complete inability to submit orders from a reporting issue with an available workaround.

For each severity, specify:

  • ▸The business impact that qualifies.
  • ▸The support channel that activates the process.
  • ▸The hours during which the commitment applies.
  • ▸A response target and what counts as a response.
  • ▸The investigation and update cadence.
  • ▸The restoration objective or escalation decision.
  • ▸Who may change the severity as evidence develops.

Use times your organization and supplier can actually support. Acknowledging an automated ticket is not necessarily the same as an engineer beginning investigation. State the difference explicitly.

Make coverage work across countries

For a buyer in Canada and an engineering team in Europe, “business hours” is ambiguous. Write the time zone, days of coverage and treatment of public holidays. Define which party manages seasonal clock changes and how on-call exceptions are arranged.

Israeli and European teams may also have different working-week patterns. Record the agreed overlap rather than assuming that everyone observes the same weekend. This is an operational planning question, not a claim that one delivery location is inherently better.

Identify what happens outside the coverage window. Automated alerts may continue while human response is unavailable. Decide whether an emergency contact exists, which incidents qualify and how that work is authorized. Avoid describing monitoring as continuous support unless both are actually included.

Specify preventive maintenance evidence

A maintenance report should show meaningful work and unresolved risks, not just a list of closed tickets. Ask for changes made, dependency issues assessed, capacity concerns, recovery exercises and decisions awaiting the business owner.

The NIST Secure Software Development Framework includes practices for responding to vulnerabilities and addressing their causes. It offers a useful vocabulary for discussing vulnerability handling, but the service agreement still needs named responsibilities and a practical process.

Define how an update is evaluated, tested and released. An urgent vulnerability may require a different change window from a routine library update. Clarify how the team identifies affected components, communicates risk and records the decision when an update is postponed.

Agree recovery requirements and rehearse them

Define the business tolerance for downtime and data loss before choosing a backup schedule or restoration objective. Identify what must be recovered together: databases, uploaded files, configuration and access to supporting services.

Request a recovery exercise with documented scope and results. A backup job reporting success does not show that a replacement environment can run the application. NIST's contingency planning guidance provides background for determining recovery priorities and planning the required procedures.

Clarify who approves a restore that may overwrite newer records, how users are informed and what happens to work performed during an outage. These are business decisions that should not be improvised by an engineer under pressure.

Treat changes and incidents as different conversations

After an incident, request a proportionate review of what happened, its impact, contributing conditions and the changes proposed to reduce recurrence. Not every incident needs a long report, but recurring failures need an owner and a decision.

For enhancements, agree a separate brief and acceptance criteria. A support ticket asking for a new workflow should not silently consume all capacity reserved for keeping the existing application healthy.

Use the quote comparison worksheet when assessing separate modernization or feature proposals. It helps expose whether a supplier's estimate includes the testing and operating changes the new capability requires.

Include an orderly exit

Specify notice, transition assistance, documentation updates and transfer of access. Confirm where the current source code, infrastructure definitions and operational records are held. A maintenance arrangement should preserve the organization's ability to change providers.

Before service begins, walk through one hypothetical incident and one routine change. If the parties disagree about who acts, when or at whose cost, revise the agreement while the discussion is still calm.

Explore software engineering services and share the application inventory and support constraints to discuss an operating scope tied to your business needs.

TAGS
custom software maintenancesoftware maintenance agreementsoftware support SLAapplication support servicessoftware maintenance checklist

Frequently Asked Questions

What is the difference between response and resolution time?

+

Response describes when the agreed support action begins. Resolution concerns restoring or fixing the service and may depend on investigation, third parties and business decisions.

Does a software maintenance retainer include new features?

+

Only if the agreement says so. Define the capacity, prioritization and acceptance process for enhancements separately from incident and preventive work.

How should international support hours be written?

+

State the time zone, covered days, holiday handling, clock-change treatment and process for incidents outside those hours.

Should recovery testing be included in maintenance?

+

Agree its scope and cadence based on business impact. The contract should identify who performs exercises, reviews results and addresses unresolved recovery gaps.

Need help with
this topic
?

Our team specializes in the technologies and strategies discussed in this article. Let’s talk about how we can help your business.

Get in Touch