Software entwickeln lassen: Ablauf, Vertragsmodelle und worauf KMU achten

Bünyamin Pollin
Geschäftsführung & Technische Leitung
Kurz gesagt
Software entwickeln zu lassen heißt, einen Dienstleister mit Konzeption, Programmierung und Test einer Anwendung zu beauftragen, die auf Ihre Abläufe zugeschnitten ist. Ein Projekt läuft in fünf Phasen: Anforderungen klären, Konzept und Prototyp, Umsetzung in Etappen, Abnahme, Betrieb. Rechtlich kommen ein Dienstvertrag oder ein Werkvertrag infrage. Klären Sie vor dem Start, wer die Nutzungsrechte am Quellcode erhält und wer die Software nach dem Livegang betreut.
Die Auftragsliste liegt in Excel, die Rechnung entsteht in der Buchhaltungssoftware, und jemand tippt jeden Auftrag zweimal ab. Die Branchensoftware bildet den eigenen Ablauf nur zur Hälfte ab. Irgendwann stellt sich die Frage, ob eine eigene Software sinnvoller wäre als der nächste Workaround.
Was bedeutet es, Software entwickeln zu lassen?
Software entwickeln zu lassen bedeutet, einen externen Dienstleister mit Konzeption, Programmierung, Test und Inbetriebnahme einer Anwendung zu beauftragen, die auf die Abläufe Ihres Unternehmens zugeschnitten ist. Das Ergebnis heißt Individualsoftware. Eine Webanwendung läuft im Browser, ohne dass Sie auf den Arbeitsplätzen etwas installieren.
Standardsoftware kaufen Sie ein und stellen sie ein, Individualsoftware wird gebaut. Dazwischen liegen Plattformen und Low-Code-Werkzeuge, mit denen sich Anwendungen aus vorgefertigten Bausteinen konfigurieren lassen.
Wann lohnt sich Individualsoftware statt Standardsoftware?
Individualsoftware lohnt sich, wenn ein Ablauf Ihr Geschäft von anderen unterscheidet oder wenn Standardlösungen nur mit dauerhaften Umwegen passen.
| Ihre Situation | Naheliegende Lösung |
|---|---|
| Der Ablauf ist branchenüblich, und eine verbreitete Software deckt ihn ab | Standardsoftware |
| Eine Standardsoftware passt fast, es fehlt eine Schnittstelle oder ein Bericht | Standardsoftware mit individueller Erweiterung oder Schnittstelle |
| Der Ablauf ist Ihr Wettbewerbsvorteil und lässt sich nicht standardisieren | Individualsoftware |
| Daten werden zwischen mehreren Systemen von Hand übertragen | Individuelle Schnittstelle oder Integrationsanwendung |
| Kunden oder Partner sollen selbst Aufträge, Termine oder Dokumente verwalten | Webanwendung als Portal |
| Sie brauchen Inhalte und Kontaktmöglichkeiten im Netz, aber keine Fachlogik | Kein Softwareprojekt, sondern eine Website, siehe <a href="/leistungen/entwicklung/webdesign">Webdesign</a> |
Wie läuft ein Softwareprojekt ab?
Ein Softwareprojekt besteht aus fünf Phasen, die sich bei kleineren Vorhaben überlappen.
- Anforderungen klären. Wer arbeitet womit, welche Abläufe und Daten gibt es, welche Schnittstellen sind nötig, was ist Pflicht und was kann später kommen? Das Ergebnis ist eine schriftliche Leistungsbeschreibung.
- Konzept und Prototyp. Bildschirmskizzen oder ein klickbarer Prototyp entstehen, bevor programmiert wird. Eine falsche Annahme lässt sich im Prototyp in Minuten korrigieren, nach der Umsetzung nicht mehr.
- Umsetzung in Etappen. Die Software entsteht in Abschnitten, die jeweils testbar sind. Sie sehen früh, ob die Richtung stimmt.
- Test und Abnahme. Anwender testen mit realistischen Daten. Die Abnahme erfolgt anhand der vorher vereinbarten Kriterien.
- Livegang und Betrieb. Zu dieser Phase gehören Einführung, Schulung, Überwachung, Updates und Fehlerbehebung.
Sicherheit gehört in jede dieser Phasen, vom Konzept bis zu den Updates. Das BSI beschreibt die Anforderungen im IT-Grundschutz, für Eigenentwicklungen und für Webanwendungen (Bausteine CON.8 und CON.10, siehe Quellen).
Welche Vertragsmodelle gibt es?
Rechtlich kommen vor allem zwei Vertragstypen infrage. Beim Dienstvertrag nach § 611 BGB schuldet der Dienstleister die vereinbarte Tätigkeit. Beim Werkvertrag nach § 631 BGB schuldet er einen Erfolg, also ein funktionierendes Ergebnis. Welcher Typ vorliegt, hängt vom Vertragstext und vom Inhalt der Leistung ab.
| Modell | Abrechnung | Passt zu | Worauf Sie achten sollten |
|---|---|---|---|
| Werkvertrag mit definiertem Umfang | Preis für einen schriftlich beschriebenen Leistungsumfang | Vorhaben mit klaren Anforderungen | Der Besteller muss das vertragsmäßig hergestellte Werk abnehmen (§ 640 BGB). Abnahmekriterien gehören in den Vertrag, und Änderungen am Umfang brauchen eine schriftliche Vereinbarung. |
| Dienstvertrag nach Aufwand | Abrechnung nach geleisteter Arbeit, meist mit Budgetrahmen | Vorhaben, bei denen sich Anforderungen während der Arbeit ändern | Ohne Budgetrahmen und regelmäßige Berichte fehlt die Kostenkontrolle. |
| Rahmenvertrag mit Etappen | Eine Rahmenvereinbarung, jede Etappe wird einzeln beauftragt | Größere Vorhaben, bei denen Sie nach jeder Etappe neu entscheiden wollen | Jede Etappe braucht ein eigenes Ergebnis, das sich abnehmen lässt. |
Wem gehört der Quellcode?
Das hängt vom Vertrag ab. Nennt der Vertrag die Nutzungsarten nicht ausdrücklich, bestimmt sich nach § 31 Abs. 5 UrhG anhand des Vertragszwecks, auf welche Nutzungsarten sich die Einräumung der Rechte erstreckt. Im ungünstigen Fall dürfen Sie die Software nutzen, aber nicht ändern, weiterentwickeln oder von einem anderen Dienstleister warten lassen.
Regeln Sie im Vertrag deshalb mindestens diese Punkte:
- Art der Nutzungsrechte: einfach oder ausschließlich, und für welche Nutzungsarten
- Umfang: zeitlich, räumlich und für Änderung und Weiterentwicklung
- Herausgabe des Quellcodes samt Dokumentation und Anleitung zum Erstellen der Anwendung
- Fremdkomponenten und Open-Source-Bestandteile mit ihren Lizenzen
- Zugangsdaten, Repositories und Hosting-Konten, die bei Ihnen liegen
Bei Visgenix geht der Quellcode vollständig an Sie über, so wie es im Vertrag steht.
Die rechtlichen Hinweise in diesem Beitrag sind eine allgemeine Einordnung und keine Rechtsberatung. Die Sonderregeln für Computerprogramme in den §§ 69a ff. UrhG sind nicht berücksichtigt.
Was kostet es, Software entwickeln zu lassen?
Der Preis hängt vom Umfang ab, und Softwareprojekte unterscheiden sich so stark, dass eine pauschale Zahl in die Irre führt.
Diese Faktoren bestimmen den Aufwand:
- Anzahl der Benutzerrollen und Funktionen
- Schnittstellen zu vorhandenen Systemen wie Buchhaltung, Warenwirtschaft oder CRM
- Übernahme von Altdaten aus Tabellen oder alten Programmen
- Anforderungen an Oberfläche und Barrierefreiheit
- Sicherheits- und Datenschutzanforderungen
- Hosting, Betrieb und Wartung nach dem Livegang
Ein Angebot sollte den Leistungsumfang schriftlich beschreiben. Nur dann lassen sich mehrere Angebote vergleichen, und nur dann ist klar, was eine spätere Änderung bedeutet.
Was gehört in ein Angebot für ein Softwareprojekt?
Ein belastbares Angebot enthält neben dem Preis diese Bestandteile:
- Leistungsbeschreibung mit den vereinbarten Funktionen
- Abnahmekriterien, nach denen das Ergebnis geprüft wird
- Zeitplan mit Etappen und Terminen für Ihre Freigaben
- Mitwirkungspflichten: Wer liefert Daten, Testpersonen und Entscheidungen?
- Nutzungsrechte und Herausgabe des Quellcodes
- Betrieb nach dem Livegang: Hosting, Updates, Fehlerbehebung, Reaktionszeiten
- Vertrag zur Auftragsverarbeitung nach Art. 28 DSGVO, wenn der Dienstleister auf personenbezogene Daten zugreifen kann
- Regeln für Gewährleistung, Haftung und das Vertragsende
Was passiert nach dem Livegang?
Eine Software ist mit dem Livegang nicht fertig. Betriebssysteme, Frameworks und Browser ändern sich, Sicherheitslücken werden bekannt, und Ihre Abläufe entwickeln sich weiter. Ohne Betreuung veraltet die Anwendung.
Klären Sie deshalb vor dem Start, wer Updates einspielt, Fehler behebt und das Hosting betreibt und wie schnell er reagiert. Die Begriffe dafür, von Servicezeit bis Reaktionszeit, erklärt der Beitrag IT-Wartungsvertrag.
Woran erkennen Sie einen geeigneten Entwicklungspartner?
- Er stellt Rückfragen zu Ihren Abläufen, bevor er ein Angebot schreibt.
- Er nennt vergleichbare Projekte und erklärt, was dort schwierig war.
- Er beschreibt, wie getestet und abgenommen wird.
- Er erklärt, wie er Sicherheit im Entwicklungsprozess verankert.
- Er dokumentiert den Code und übergibt Quellcode und Zugänge.
- Er sagt, wer die Software nach dem Livegang betreut, und bietet das an oder nennt eine Alternative.
- Er begründet die Technologie für Ihr Vorhaben, statt in jedem Projekt dieselbe zu verwenden.
Unterstützung durch Visgenix
Visgenix entwickelt Websites, Webanwendungen, APIs und individuelle Software und betreibt sie auf Wunsch auch. Der Stack richtet sich nach dem Vorhaben, Laravel und Vue.js können wir besonders gut. Mehr dazu unter Individuelle Software, Webanwendungen und Laravel-Agentur. Ein Vorhaben können Sie auf der Kontaktseite besprechen. Schriftliche Anfragen beantworten wir innerhalb von 24 Stunden.
Häufige Fragen
Was kostet es, Software entwickeln zu lassen?
Das hängt von Funktionen, Schnittstellen, Datenübernahme und dem Betrieb nach dem Livegang ab. Einen Preis nennen wir nach einem Gespräch über die Anforderungen, mit einem Angebot, das den Leistungsumfang schriftlich beschreibt.
Wie lange dauert ein Softwareprojekt?
Eine verlässliche Dauer lässt sich erst nach der Klärung der Anforderungen nennen. Kleine Werkzeuge sind schneller einsatzbereit, größere Anwendungen entstehen in Etappen, von denen jede für sich abgenommen wird.
Muss ich alle Anforderungen vorher kennen?
Nein. Sie sollten wissen, welches Problem die Software lösen soll und was zum Start unverzichtbar ist. Alles Weitere lässt sich in Etappen festlegen. Für die erste Etappe sollte die Leistungsbeschreibung vollständig sein.
Was unterscheidet Individualsoftware von Low-Code-Plattformen?
Mit Low-Code-Plattformen konfigurieren Sie Anwendungen aus vorgefertigten Bausteinen. Das geht bei Standardfällen in der Regel schneller, bindet Sie aber an die Plattform und ihr Lizenzmodell. Individualsoftware lässt mehr Freiheit bei Abläufen und Betrieb und braucht eine größere Anfangsinvestition.
Brauche ich bei der Entwicklung einen AV-Vertrag?
In der Regel ja, wenn der Dienstleister in Ihrem Auftrag bei Entwicklung, Test oder Betrieb personenbezogene Daten verarbeitet oder darauf zugreifen kann. Das verlangt Art. 28 DSGVO. Für Tests lassen sich oft erfundene Testdaten statt echter Kundendaten verwenden.
Quellen
Quellen
- Gesetze im Internet: § 611 BGB – Vertragstypische Pflichten beim Dienstvertrag
- Gesetze im Internet: § 631 BGB – Vertragstypische Pflichten beim Werkvertrag
- Gesetze im Internet: § 640 BGB – Abnahme
- Gesetze im Internet: § 31 UrhG – Einräumung von Nutzungsrechten
- EUR-Lex: Verordnung (EU) 2016/679 (DSGVO), Art. 28 Auftragsverarbeiter
- BSI: IT-Grundschutz-Baustein CON.8 Software-Entwicklung (Edition 2023)
- BSI: IT-Grundschutz-Baustein CON.10 Entwicklung von Webanwendungen (Edition 2023)