Introduction
A technology development agreement sets out the terms and conditions between the developer and the customer for building tailor-made software as per the requirements of the customer. This agreement sets out the process of developing, selling, transferring, and maintaining the software, to create a smooth flow during all phases. It is a kind of service agreement which sets out the narrative of the service being rendered and its subsequent operation.
Important Clauses
The major aspects of a technology development agreement are to set out the service parameters of the developer and deal with questions relating to ownership of the software, intellectual property, support and maintenance, and source codes. For this, the following clauses need to be clearly elucidated in the agreement:
Services
The list of services should be in line with the software requirements and other specifications required by the customer. The agreement should set out the expectations each party has in relation to:
- The software development process, i.e. determining which party will initially draft the specifications and timeline for providing adequate review and input by the other party;
- The phasing of key and related deliverables, i.e. a detailed outline of product specifications related to each deliverable and the final product;
- Formulating a clear development timeline and milestones, including the process and consequences if timeframes are missed, whether liquidated damages would be appropriate for delays, and how this would affect the payment cycle;
- Responsibility of respective parties for the ancillary software and IT/infrastructure required for the development; and
- Triggers for payment to be identifiable for both parties, i.e. whether payment is conditional upon delivery of the product per specifications.
Intellectual Property
It is important to set out who holds ownership of the product/deliverables of the project. Traditionally, the customer will hold all right, title and interest in the work product; however, it is imperative that this is clearly mentioned in the agreement.
Testing of the Software
The agreement should outline the expectations and rounds of acceptance testing of the software. Generally, there are two rounds of testing: pre-delivery testing and actual acceptance testing. In pre-delivery testing, each aspect of the deliverable is tested to check if it meets the customer's specific requirements, while the acceptance testing includes testing of the complete work product.
Confidential Information
Like most service agreements, it is important to define which aspects of the information shared between the parties are to be kept confidential, and for how long. Parties must agree that all persons involved in the project should be bound to conform to the confidentiality clause of the agreement, and be held liable in case of any disclosure or violation.
Conclusion
The aim of this agreement is to outline the expectations of the customer and provide a smooth flow during the development of the software. It is important to seek professional advice while entering into such a development process, as it helps draft a tailor-made agreement covering all aspects of the process, towards the satisfaction of all parties involved.
Disclaimer: The content of this article is intended to provide general guidance on the subject matter. Specialist advice should be sought about your specific circumstances.