
Image source: fauxels von Pexels
Drafting contracts in Agile software development
Agile software development thrives on the close involvement of the end users, often in the form of feedback bundled via a responsible person of the client. Results are worked out together in so-called sprints, which take 2 to 4 weeks depending on the type of project. During the preparation of the individual sprints, the topics to be worked on are determined, and the partial results are then accepted at the end of a sprint. Accordingly, it is not possible to define the results to be delivered in the form of a specification sheet at the beginning of a project. In practice, the preparation of a sprint also proves to be too time-consuming and faulty.
As a result, a fixed price is of course not compatible with an agile approach. Ultimately, the result is a joint working method in which the client is closely involved in managing the content and the contractor is usually invoiced on a monthly basis. In addition to the necessary mutual trust, there are also a number of tangible problems in the drafting of contracts.
Service contract according to BGB §611
A contract of service, regulated in BGB §611, exists if one party undertakes to provide certain services and the other party agrees to pay for these services. Accordingly, the contractor undertakes to perform, but not to succeed.
In a contract for work, regulated in BGB §631, one party undertakes to produce a work without defects. The other party undertakes to cooperate and to accept and pay for the work. In contrast to the contract for services, the manufacturer guarantees a result and thus the success of the service.
The contract of service would fit better to the basic method of operation, the monthly settlement of the work performed. This, however, with the disadvantage that the contractor is not responsible for the success and also the quality. Especially with software projects, problems occur only after some time. If these are not due to new framework conditions (such as new operating system versions), the contractor is obliged to solve the problems free of charge.
Work contract as solution
Therefore, a contract for work and services is a good idea, which is set up in such a way that the work method is regulated cleanly and efficiently via sprints and partial acceptance. It is particularly important to ensure that roles and responsibilities are clearly defined. Although the client may be closely involved and control how and which persons are to take over the concrete implementation, this must be within the control of the contractor. Otherwise, this can quickly turn out to be an illegal hiring of employees, with the possibility that employees of the contractor may sue the client for employment.
In practice, many software projects, especially if they start out small, are carried out completely without a contract but only on the basis of offers. Due to the risks mentioned above, we would like to strongly advise against this. This article is intended to raise awareness of the topic and does not constitute legal advice. On request, we will be happy to provide our contract template for further elaboration by your lawyer.