A software support contract establishes what support a vendor provides after the delivery of a software project: from resolving bugs to monitoring availability and implementing updates. The exact content varies by situation, but the core always consists of agreements on response times, responsibilities, and the scope of support. In this article, we answer the most frequently asked questions about the structure of such a contract.
What is typically included in a software support contract?
A standard software support contract describes at least four components: the scope of support, contact options, response and resolution times, and the responsibilities of both parties. In addition, it almost always includes a Service Level Agreement (SLA) as an appendix or integrated component.
In practice, most support contracts contain the following elements:
- Scope: which software is covered by the contract and which modifications or extensions are explicitly out of scope
- Contact channels: through which channel you request support (email, phone, ticketing system)
- Availability: during which hours the vendor is reachable for reports
- Response and resolution times: how quickly the vendor responds and when an issue must be resolved
- Priority classification: how serious incidents are categorized
- Escalation procedure: what happens if an issue is not resolved on time
- Costs and billing: whether support is included in a fixed fee or billed based on usage
The more extensive the software and the greater the dependency on the system, the more detailed these agreements typically become.
What is an SLA and what role does it play in software maintenance?
An SLA, or Service Level Agreement, is a formal document that establishes the minimum quality standards for the services provided. In the context of software maintenance, the SLA determines, among other things, how quickly reports are responded to, what the maximum downtime may be, and what performance the software must deliver.
The SLA serves as the benchmark against which the vendor is held. Without an SLA, agreements about quality are vague and difficult to enforce. With an SLA, you as a client know exactly what to expect and what happens if the vendor fails to meet those expectations, for example through a discount on the invoice or an additional compensation.
An SLA for software maintenance typically includes agreements on:
- Uptime guarantees: for example, 99.5% availability per month
- Response times by priority: how quickly the vendor acknowledges a report
- Resolution times: within what time window an incident must be resolved
- Reporting: how and how often the vendor reports on performance and incidents
What types of support are distinguished in a contract?
Software contracts typically distinguish three types of support: corrective maintenance, preventive maintenance, and adaptive maintenance. Some contracts also add user support as a separate category.
Corrective maintenance
Corrective maintenance focuses on resolving errors and failures that occur after delivery. Think of bugs, crashes, or features that do not work as expected. This is the most direct form of support and is central to virtually every contract.
Preventive and adaptive maintenance
Preventive maintenance encompasses activities that prevent future problems, such as updating dependencies, applying security patches, and optimizing performance. Adaptive maintenance involves adapting the software to changing environments, such as a new operating system, a new browser, or changed legislation. Both forms are not always included as standard and are sometimes optional or available at an additional cost.
What does a support contract for custom software cost?
The costs of a support contract for custom software vary greatly and depend on the complexity of the software, the desired availability, and the type of support you need. A simple contract with limited response times can start at a few hundred euros per month, while comprehensive contracts with 24/7 availability and short resolution times are considerably more expensive.
The most common pricing models are:
- Fixed monthly fee: you pay a fixed fee for an agreed package of support hours and services
- Hourly rate on demand: support is billed based on actual hours spent
- Combination model: a base fee for availability, supplemented by hourly rates for work that falls outside the scope
With custom software development, a support contract is almost always tailor-made. The price is directly related to the desired response times and the availability of the team.
How are response times and priorities established?
Response times and priorities are established through a priority matrix in the SLA. Incidents are classified into categories based on their impact on business operations, and specific response and resolution times are assigned to each category.
A commonly used classification looks like this:
- Priority 1 (critical): the software is completely unavailable or there is data loss. Response time: within 1 hour, resolution time: within 4 hours
- Priority 2 (high): an important function is not working, but the software is still partially usable. Response time: within 4 hours, resolution time: within 1 business day
- Priority 3 (normal): a function is not working optimally, but the impact is limited. Response time: within 1 business day, resolution time: within 5 business days
- Priority 4 (low): minor improvements or questions without direct impact. Response time: within 2 business days, resolution time: by mutual agreement
It is important that both parties agree on the definition of each priority category. Ambiguity in this regard regularly leads to disputes in practice about who should have resolved what and when.
When is a support contract mandatory or strongly recommended?
A support contract is not legally required, but is strongly recommended as soon as your organization depends on the software for its daily operations. The greater the dependency, the greater the risk in the event of downtime and the more valuable the assurance of a formal contract.
A support contract is particularly relevant in the following situations:
- Your software processes customer data or financial transactions
- Downtime of the software directly leads to revenue loss or operational standstill
- The software is custom-built and no standard helpdesk or documentation is available
- You work with an external software development partner that does not automatically remain available after delivery
- You are subject to regulations that impose requirements on the availability or security of systems, such as in the fintech or healthcare sector
Even if your software is less business-critical, a support contract gives you clarity about what to expect and prevents disputes after the fact about who is responsible for which problem.
How 3Bird helps with setting up software support
At 3Bird, we understand that custom software does not stop at delivery. We combine more than 25 years of experience in software development with a team of experienced developers in Nepal, led by Dutch fractional CTOs. This means you always have a point of contact who understands your situation and communicates in your language.
What we offer in the area of software maintenance and support:
- Flexible support agreements that match the complexity of your software
- Transparent SLAs with clear response and resolution times per priority
- Access to a team of 30 developers with expertise in a wide range of technologies, from NodeJS and React to Java, .NET, and Flutter
- Rates from €25 per hour, giving you the ability to scale up support without letting costs spiral out of control
- Guidance from a local fractional CTO who acts as a bridge between your organization and the development team
Whether you want to maintain an existing system or set up a new project with a sustainable support structure, we are happy to think along with you. Get in touch via contact@3bird.nl or call us at +(31)75-7993038 for a no-obligation conversation.