How to Get Your Software Development Contract Right: Statement of Work
Hiring app developers requires not only finding specialists with matching professional qualifications and following the practical tips for outsource vendor management. The legal aspect of your cooperation is just as important, and you definitely should approach configuring your software development contract with full responsibility.
What is a software development contract
A software development contract is a document that defines the legal regulations, terms and conditions for web and mobile development and consulting services. It covers the responsibilities, expectations, and rights of both the client and the software developer.
There are different forms of software development contracts, ranging from a single full-fledged document to an agreement consisting of a number of separate agreements. At Apiko, as a rule we use a services development agreement and a statement of work.
Both of them outline the rights and responsibilities of the parties. They also serve as an insurance for both the client and the outsourcing company, providing the regulatory measures when any of the agreement conditions gets breached.
Besides, regardless of the type of outsourcing contract, it must include the full legal credentials of the parties who sign it.
Check out the software development contract template we use at Apiko, and statement of work example:
Services development agreement details
Services development agreement describes the terms and conditions of your cooperation with the outsource development team, including
- The full list of the services that should be provided by the outsource vendor
- Payment regulations, e.g. at Apiko we process payments on a biweekly basis
- The owner of the intellectual property: make sure it’s you. E.g., at Apiko, clients always own all the intellectual property rights, and the only condition when it’s a subject to change is when they get a debt
- Statement of confidentiality
- The period of time during which the agreement is valid
- The responsibility for each of the parties in case of breaching the agreement.
Establish a partnership to rely on
Gain full clarity and remove any uncertainties regarding the collaboration with Apiko as your digitalization partner.
Confidentiality statement
Usually, one of the first documents you sign with the outsourcing company is the non-disclosure agreement (NDA). It outlines the sensitive information you intend to share for the software project development, and indicates the exact purpose for your providing these data. NDA ensures this information will be kept confidential between the parties who sign this agreement.
The key points from NDA may be further included in the other parts of the software development contract as a confidentiality statement. It forbids the outsourcing company to disclose any details of collaboration, including
- any information about the client
- project-related data
- commercial data.
The exception is when the client gives their permission to share any information, or when some data have already been made public.
Breaching the agreement
If either you or the outsource vendor decide to break the services agreement, there should be a notice period defined. For instance, at Apiko it equals 30 days. Before the end of this period, both parties should keep fulfilling all their obligations according to the agreement.
Notice period is necessary for the outsourcing team to transfer the knowledge to the client. Thus, the client will be able to manage the software development project by themselves after the end of collaboration. The parties may also use this time to finalize the development of some app functionality. Also it sets the deadline for processing all the payments for the outsourcing services.
I’m sure you know that solving disputes in court is a stressful, time-consuming and very pricy procedure which should be prevented. But just in case, you also should know that the trial is processed according to the law of the country of the outsourcing company’s legal registration. (I sincerely hope you will never really need this piece of information.)
What is statement of work
The statement of work (SOW) defines all the provided services in detail. It lists all the deliverables that must be completed by the developers, designers, project manager, business analyst, digital quality assurance and DevOps teams.
SOW fully describes the pricing model and payment procedure at the outsourcing company. For example, pricing at Apiko is based on time and material. It means that the cost of services depends on the hourly rates of the specialists working on your project, and the time it takes them to complete it. It also includes the price of “materials” - any paid third-party tools and services, app hosting, e.g. AWS data transfer costs, etc.
We take these key criteria into account for the IT project cost estimation during the discovery phase. However, the actual price is formed based on the biweekly company’s reports. They are built with the help of project management tools, e.g. Jira and Hubstaff integration that makes the work history transparent and easy to access and review.
Statement of work should also include the overtime rates. As a rule, they exceed the regular hourly price, e.g. at Apiko they are 1.5 times higher. Overtime rates are applicable when the software development team has to work extra hours compared to their daily commitment that was previously agreed upon. For instance, it may happen when the client needs to meet some important deadlines.
Must-haves in your software development contract
To sum up, no matter if your software development contract is a single document, or it consists of separate complementary agreements, it must clearly define the following aspects of your collaboration with the outsource vendor.
- Scope of work delivered. The outsourcing company is not responsible for providing the services that were not included in the software development contract. If you believe that there is something that is not stated in your contract, because it is clear as a day that it should be provided - no, it shouldn’t. Make sure that all the required services are written down in the outsourcing contract.
- Responsibility for tasks completion. Often the client already has a dedicated team working on their project, and needs additional managed IT services. In this case, it’s extremely important to clearly indicate who is responsible for each part of the project scope: a client himself, his dedicated team, or the outsourced team. This part may be less complicated when the outsource development team works on the app by themselves. Yet, the responsibilities of both parties must be fully described.
- Intellectual property rights. As long as you pay for all the work completed, the executor has no rights for the related intellectual property, and you are its only legal owner. These rights may be transferred to the outsourcing company only as a regulatory measure taken as a response for a client's breaching of the agreement.
- Confidentiality statement. Make sure your software development contract includes a non-disclosure (NDA) agreement or a statement of confidentiality. It reduces the risk of any valuable and sensitive data leakage, preventing the possible harm it could cause to you and your business.
- Contract termination procedure. You may not be thinking about contract termination at the stage of its signing. But there may be unforeseen and unexpected reasons when you need to terminate the contract. Make sure that the outsourcing company will conduct the full transfer of knowledge to you, and, of course, that it’s written down in your contract :)
- Dispute settlement procedure. Driven by the price/quality ratio, clients often choose outsourcing companies that are located abroad. That’s why, besides the order of dispute settlement, it’s crucial that the software development agreement indicates the law of which country, state or territory will be applied to process the dispute. As a rule, it’s a country of outsourcing company registration, e.g. for Apiko it’s Estonia.