Type for search...
codete Software Development Outsourcing Contracts Guide to Avoiding Gaps main 7f1b2cbfef
Codete Blog

Software Development Outsourcing Contracts: Guide to Avoiding Gaps

avatar male f667854eaa

22/10/2020 |

7 min read

Leszek Sytniewski

Software development outsourcing has become a powerful tool for improvement for many organizations. It allows for a swift backup of experienced resources with unique skills that might not be easy to find on-site. 

But how to make sure that you get what your organization really needs? The key seems to be a well-drafted contract, which secures the crucial aspects of the cooperation.

In this article, I’ll guide you through the key issues that you should pay attention to in order to secure your company’s interest while signing a software development agreement.


Key aspects of software development outsourcing agreements

Here are some issues you should pay extra attention to while signing your software development outsourcing contract:

  • resources,
  • time,
  • who’s in charge,
  • payment,
  • intellectual property (IP) rights, confidentiality, and logo,
  • non-solicitation,
  • term and termination,
  • final provisions and personal data protection.


RESOURCES: the right software developers

First and foremost, the parties should agree on the exact individuals which are to supplement the client’s team – both their number as well as their characteristics and qualifications.

To ensure flexibility, it is advisable to allow a simplified procedure for adding new resources (that is, new software developers to the team), e.g. in the form of an e-mail. Otherwise, officially signed annexes to the agreement might be necessary for each and every of such changes. The agreement should also mention the potential changes within the team, which may be agreed upon via e-mail. It should be noted that, in some jurisdictions, an electronic message is not equivalent to written form.

It may also be agreed that throughout the initial period, the client may resign or replace a particular individual if the performance is not satisfactory (to avoid it, each candidate should be checked by the client beforehand, e.g. in a series of tests). In such cases, the outsourcing company should make its best effort to provide a suitable substitution.

Key takeaways:

  • Decide on the exact number and skills of the software developers to join your team.
  • Agree on a simplified procedure of adding/changing the developers on your team (for example, via e-mail).
  • Establish possible scenarios for extraordinary replacement.


TIME: the exact amount of working hours

It is advisable that the agreement stipulates the exact amount of hours devoted to the works for the client e.g. within a week. On the one hand, it is an assurance of adequate support for the client. On the other, it is also a safeguard for the outsourcing company, as the consultant’s time should be adequately utilized.

Usually, it is required by the law that individuals engaged on the basis of an employment contract must be paid extra for overtime work. This is why overtime rates should also be expressly mentioned in the agreement. The ordering party may demand that overtime work shall take place only if expressly asked for if required by sudden project needs.

We should also remember that each and every individual may, from time to time, be out of work due to holidays. It is reasonable to agree that the absence should be agreed on with the client (unless it is a medical leave).

Key takeaways:

  • Decide on the exact amount of working hours devoted to your project.
  • Settle the rates and rules for overtime work.
  • Agree on the rules for taking days off.


WHO’S IN CHARGE: adequate responsibilities

Outsourcing services may have different characteristics depending on whether a whole team or only specific team members are provided. In the case of mixed teams, comprising both of the client’s and the outsourcing company’s resources, liability should be adequately divided.

If the general control over the project and key management functions are reserved to the client, the outsourcing company remains liable for securing the agreed-upon resources or such resources’ actions but may be only co-responsible for the project’s outcome.

Key takeaway:

  • Divide the liabilities between your company and the outsourcing company.


PAYMENT: no hidden costs

The provisions on payment are important not only for the outsourcing companies. In some jurisdictions, the relevant provisions should explicitly confirm that the fees cover not only securing the resources and their work, but also the transfer of IP rights. Otherwise, we leave the parties with a risk of incurring additional fees connected with IP transfer.

Usually, the agreement states the hourly rates of a consultant with knowledge of a particular technology. Still, the parties may individually assess the skills of each and every consultant. In consequence, it is advisable to make sure that changes to the agreement can be made in electronic form, e.g. via e-mail.

It is also important to determine possible overtime rates and other additional costs, such as the fees for specific licenses needed for the project. As the subject of an outsourcing agreement is providing suitable human resources, specific license costs will usually be borne by the ordering party.

Last but not least, the parties should also establish the rules for reimbursement of travel and accommodation expenses — the works would be carried out outside of the outsourcing company’s venue.

Key takeaways:

  • Check the provisions on payment for the transfer of IP rights.
  • Determine possible additional costs, such as license fees.
  • Establish the rules for travel and accommodation expenses reimbursement


IP RIGHTS, CONFIDENTIALITY, AND LOGO: your code, your logo, your partnership

The provisions on intellectual property rights seem to be crucial in every outsourcing agreement. As a general rule, the outsourcer shall grant IP rights to the ordering party. At Codete, we usually let the clients use their own clauses to make sure the scope of rights fulfills their needs.

Similarly, confidentiality engagement is a standard part of most agreements. When drafting this part, one should remember that strict provisions may block the possibility to inform about the cooperation. Blocking your outsourcing company from informing about the cooperation and/or using your logo may or may not work in your favor, depending on your promotional goals.

Key takeaways:

  • Ensure IP rights.
  • Think about the optimal scope of your confidentiality engagement.


NON-SOLICITATION: damage prevention and damage control

Consultants are the greatest asset of most outsourcing companies. That is why these assets are usually protected in the agreements. The scope of the banned actions may encompass hiring or merely soliciting, both by a party to the agreement, as well as connected companies. It is also possible to stipulate that the non-solicitation clause shall work both ways and protect both parties to the agreement.

Most of the time, the breach of a non-solicitation clause is connected with a contractual fine (so-called “liquidated damages”). This is a recommended solution to avoid proving the exact amount of loss in long court proceedings. At Codete, we believe that contractual provisions should be abided by and all disputes should be resolved in a conciliatory way if possible.

Key takeaways:

  • Settle the scope of banned actions (hiring, solicitation) and parties protected in the non-solicitation clause.
  • Establish contractual fines (“liquidated damages”) if necessary.


TERM AND TERMINATION: time to say goodbye

The contract must prescribe its term and termination periods. The termination period may depend on the number of consultants engaged due to the fact that after the cessation of the relationship, they should find substitute positions in alternative projects.

Termination may also take place due to extraordinary circumstances. The classic causes are the breach of confidentiality or non-solicitation, as well as payment clauses.

Key takeaways:

  • Settle adequate term and termination periods.
  • Enlist extraordinary circumstances resulting in contract termination.



Last but not least, we should remember about some final provisions. These may include contact details and the choice of applicable law and jurisdiction. The parties may also agree that any potential disputes will be resolved by way of arbitration.

With a high probability, outsourcing may also lead to personal data processing. Any access to personally identifiable information should be recognized as data processing activity, regulated in the EU by the General data protection regulation (GDPR). In such cases, the outsourcing provider acts on behalf of the client as a data processor. This requires concluding a data processing agreement compliant with art. 28 of GDPR, which may form a part of the contract.

Key takeaways:

  • Include contact details in the contract.
  • Select applicable law and jurisdiction.
  • Establish ways for resolving potential disputes (e.g. by arbitration).
  • Recognize data processing activities, and if necessary — sign a data processing agreement.



There are a number of issues to be aware of when creating an outsourcing contract for IT services. Some of them can be agreed upon in accordance with the parties’ interests, others may result from the applicable laws (like IP or data protection). Still, a well-drafted contract can secure your interests well and let your business forget about the legal matters and just focus on the project itself.

Rated: 5.0 / 1 opinions
avatar male f667854eaa

Leszek Sytniewski

Qualified attorney-at-law with more than ten years of experience. Expert in IT and data protection law. In-house counsel for Codete since 2015.

Our mission is to accelerate your growth through technology

Contact us

Codete Global
Spółka z ograniczoną odpowiedzialnością

Na Zjeździe 11
30-527 Kraków

NIP (VAT-ID): PL6762460401
REGON: 122745429
KRS: 0000983688

  • Kraków

    Na Zjeździe 11
    30-527 Kraków

  • Lublin

    Wojciechowska 7E
    20-704 Lublin

  • Berlin

    Wattstraße 11
    13355 Berlin