Agile Software Development under German Law

Agile software development is a method of choice in many projects. It is generally regarded as a state-of-the art method that emphasizes flexibility and eventual results as opposed to more traditional approaches based on carefully laid-out plans, milestones, and schedules. Agile projects typically involve a collaborative effort of self-organizing and cross-functional teams formed not only by the programming and developer staff but also by the customer or end user.

Agile structures enable dynamic and flexible management and control of projects. Changes regarding scope of services, time and costs are the rule. An increased degree of involvement of the client is required.

Effective and possibly efficient as they may be, agile projects may come with a host of unique legal challenges and intricacies.

Just as with any other software project, all parties involved would be well advised to pay particular attention to legal and contractual aspects, and to lay a groundwork of a proper contractual agreement well in advance.

Project ownership and the eventual ownership of the resulting software must be defined. They may not necessarily lie with the same party.

The actual development procedure should be defined, at least as a general framework, setting out the mechanisms of the iterations or sprints, the time frames or time boxes, planning, coding and testing phases, demonstrations to the stakeholders, etc.

After a sprint, the option of a follow-on iteration or instead termination of the project, and the effects oft such termination should be considered.

It is of particular importance to identify the relevant rights and to design the rights management and possible licensing models. The following aspects, among others, play a role: sharing or owner-oriented, rights to the data assets, rights to the software or other developments, final version and intermediate versions, restrictions on rights and use, use of open source in which places and with which restrictions, etc.

Under certain circumstances, certain aspects of competition law and anti-trust laws must be observed. A possible lock-in effect for companies or consumers may exist and must be avoided. With customer data, data portability may have to be ensured.

German civil and contract law offers a flexible and precise tool to secure the project and the rights for all parties involved. The drafting of the contract is based on the sophisticated provisions of the German Civil Code (BGB) and leads to as many individual options as may be needed. Standard software development contracts are often designed as so-called “contracts to produce a work result” (Werkvertrag) under German law, where clear definitions of tasks and objectives are important, with fixed remuneration which is due if acceptance is successful. In an agile project, on the other hand, it is more likely that work is agreed for a certain period of time and remuneration is based on time and effort. This would be a typical service agreement (Dienstvertrag) under German law. In view of the repeated iterations, this can often be structured as a kind of framework agreement with a service contract character, whereby the individual iterations have a “work result” contract character. There are proven clauses as well as individually adapted solutions.

In practice, it has proven to be a good idea to involve the contract lawyer in the project at an early stage. The agile lawyer can integrate the legal advice into the process of the customer or client. In doing so, the (legal and practical) requirements and user stories can be developed together with the client. The contract lawyer can work collaboratively as a team member. The facts about data, tools, processes, rights and functionalities can change continuously and accordingly, the contractual basis should be designed from the beginning to take this into account – or, if necessary, be continuously adapted. Here, speed of execution and accuracy in legal review must be reconciled.

We provide professional services in drafting and advising on contracts for agile software projects in Germany and in international markets.