Provisions that enable checking whether the execution of the agreement is consistent throughout its duration and that the agreement itself is aligned with the changes in the project scope and cost. Benchmarking is a good formal way to revise the agreement while maintenance is in effect. This option allows the service provider to commit to adjusting the price for the software development service with the market price, in clearly specified time intervals. However, it is highly important to carefully stipulate this possibility in the Software Development Agreement, so to provide benefits to both parties. If this provision is made solely with the client’s interests in mind, the service provider may not feel motivated to maintain a high standard of service, which will, in essence, lead to nothing more than a Pyrrhic victory in the end.
2. Change Control Procedure
Almost every IT project involves changing certain elements, both technical and legal, so anticipating change control procedures is vital. Contracting parties should agree on the procedure to be followed if a particular change is to be implemented and establish clear parameters for the acceptability of a particular change. However, one should be aware that the contracting parties may not have always followed the change control procedure stipulated in the agreement. In practice, during the execution of the agreement, contracting parties may have implicitly adopted different mechanisms for the change. Therefore, it is important to analyze all formal requirements for the change of control, as well as to hold the parties accountable for the duration of the agreement, to determine anything that may affect the legal stance.
3. Right to Hire a New Service Provider
If you are a client, you will wish to have contracted the option of introducing an additional service provider to your software development project. Clients are often advised not to outsource the entire project to just one service provider due to a simple fact that once a service provider has complete control over the project, termination of the agreement is much more difficult for the client. Besides, by introducing an additional service provider, the client moves to a stronger bargaining position, especially in terms of price.
4. Exit Strategy and Transfer
The agreement should provide for the procedure that is to be followed in the event of termination of the agreement, which will clearly define the rights and obligations of both parties. Such provisions generally provide for the preparation of an “Exit Plan” or “Exit Management” or “Exit Schedule” regarding a list of all activities necessary to transfer to a new provider or the client’s in-house team.
For example, what happens to the equipment or access to the software that the client now has to hand over to the new service provider and does the current service provider have to assist in such a transition? Depending on how intellectual property rights are regulated, whether the client should ensure the transfer of those rights from the service provider. Unfortunately, this is rarely the case because contracting parties are not prone to focusing on the termination of the agreement and transfer issues, as much as married couples dread talking about divorce on their wedding day.
5. Intellectual Property Rights
When making the final legal decision as to whether the Software Development Agreement will endure, it is important to pose a legal question as to what happens to intellectual property rights. It is paramount to clearly distinguish who will be the holder of intellectual property rights in software, materials, and documents, should the project stop at this stage?
If the client is not the rights holder in software as per the agreement, but the service provider holds the rights (in whole or in part), there is no possibility of replacement with another contractor who would continue where the first contractor left off.
It is not uncommon for the seemingly slight linguistic nuances to produce this effect. For example, using the future tense in a formulation (for example, “… will transfer intellectual property rights”) instead of the present tense (for example, “…transfers intellectual property rights”) can pose quite a problem. This happens even if the service provider is responsible for the breach of contract due to failure to execute the service, that does not mean that the client will acquire ownership of the intellectual property rights.
Besides, in the agreements drafted under the law of one of the federal US states, incorrect linguistic nuanced can lead to truly problematic results. For example, contracting parties often describe the software as “work made for hire”, believing that it will automatically transfer all ownership of the software to the client. However, under the US copyright law, the program code may not fall under the so-called “work made for hire”.
For the service provider, on the other hand, what matters is what will happen to the intellectual property rights in their previous projects, and how to separate the intellectual property rights that the provider already holds (i.e., Background Technology) from those arising from the new IT agreement.
It is the client who will insist on the precise regulation of the intellectual property rights, as, in the absence of explicit contractual standardization, our law (as well as the e.g., UK Law and many more around the world) protects the author of the work – in this case, the service provider as the creator of the software.
6. What is the Applicable Law?
Unless the agreement clearly defines how to resolve any eventual disputes between the contracting parties, the contracting parties will need to seek an answer in the applicable law. The applicable law is one that is enforced by the client and the service provider. Software Development Agreements are often agreements with an international element, in which the contracting parties come from different countries. The contracting parties will find answers to all non-contractual questions in the legal regulations and case law of the respective country. There is usually the problem that a contracting party with stronger bargaining power will insist on the law applicable to be the law of the country from which the contracting party comes from. When there is an escalation in relations between the contracting parties, the contractor who has accepted the applicable law of the other contracting party will be in a much more difficult position.