What is a software maintenance retainer contract?

I'm a one man software start up and need to consider a software maintenance retainer contract for a client. What is this, in simple terms? How could it benefit me or my client?

asked Feb 17, 2012 at 6:29 user1133619 user1133619

I'm not a contract expert, but in case of any maintenance projects you have to set your SLA (service level agreement) correctly. It defines the time you guarantee that the problem will be solved and delivered

Commented Feb 17, 2012 at 9:04

3 Answers 3

A software maintenance retainer contract is an agreement between two parties to maintain a piece of software after its initial release.

As it's a retainer (and not a subscription), the client agrees to pay a certain amount up front for the purposes of handling any expenses that might occur in maintaining the software.

This benefits the client by having their bases covered—should bug fixes or security updates need to happen after release—without having to negotiate pricing or secure approval every time a change needs to be made to the software.

This benefits the developer in that they get the money up front and can specify the exact conditions under which a change counts as part of the agreement ahead of time.

A similar concept (but not exactly the same) is the Service Level Agreement (SLA) that Zsolt mentioned: SLAs are used for services that require a certain amount of up-time or availability (hence the name). As part of the negotiated price for the service, the developer/host/etc. guarantees a certain level of support, reliability, and availability.

When negotiating the retainer fee (or what type of SLA you can offer), you need to decide a few things:

From experience, it's also important to keep in mind that maintenance and support is not second-rate work: do not lower your rates just because it happens after the initial project is done. The main reason why maintenance would cost less to the client is that it takes up less time.