Was du wissen solltest, bevor du Software beauftragst
Was dahintersteckt
Du beauftragst externe Entwickler mit einer Anwendung, die es so nicht fertig zu kaufen gibt oder die sich mit Standardsoftware nur über Umwege abbilden lässt. Das kann ein internes Tool für die Auftragsabwicklung sein, ein Kundenportal im Browser, eine Fachanwendung mit eigener Geschäftslogik oder eine Schnittstelle, die ERP, Shop und Lager verbindet. Geliefert wird im besten Fall nicht nur Code, sondern auch Architektur, Tests, Dokumentation und ein Plan für den Betrieb.
Typische Auslöser
- Excel-Listen und Workarounds rund um die Standardsoftware kosten täglich Zeit und erzeugen Fehler.
- Ein Kernprozess unterscheidet dich vom Wettbewerb und passt in kein fertiges Produkt.
- Eine gewachsene Altanwendung, etwa auf Access-, Delphi- oder alter PHP-Basis, ist kaum noch wartbar, und der ursprüngliche Entwickler ist nicht mehr greifbar.
- Systeme sollen Daten automatisch austauschen, es gibt aber keine fertige Integration.
- Kunden oder Partner sollen kontrolliert auf Preise, Bestände oder Auftragsstatus zugreifen.
Wenn es nur darum geht, vorhandene Tools wie CRM, Formulare und E-Mail zu verknüpfen, reicht oft eine No-Code-Lösung. Stehen eine App für iOS und Android oder ein erstes MVP für eine Gründungsidee im Mittelpunkt, sind darauf ausgerichtete Entwickler die bessere Wahl.
Welche Aufgaben ein Entwicklungspartner übernimmt
Am Anfang steht meist ein Anforderungsworkshop, aus dem ein Backlog mit User Stories oder ein Pflichtenheft entsteht. Danach folgen Architekturentscheidungen zu Tech-Stack, Datenmodell und Hosting, die Entwicklung in Iterationen, automatisierte und manuelle Tests, Deployment und Schulung. Nach dem Go-live kommen Fehlerbehebung, Sicherheitsupdates für Frameworks und Bibliotheken, Monitoring und Weiterentwicklung. Ob React, Ruby on Rails, Python oder Laravel eingesetzt wird, ist weniger entscheidend als die Frage, ob später auch ein anderes Team damit weiterarbeiten kann.
Schnittstellen und Altsysteme
Bei Integrationen entscheidet die Schnittstellenbeschreibung über den späteren Aufwand. Verbreitet ist, REST-Schnittstellen als OpenAPI-Spezifikation in YAML oder JSON festzulegen, bevor implementiert wird. Beide Seiten arbeiten dann gegen dieselbe Beschreibung, und daraus lassen sich Dokumentation, Mock-Server für die parallele Entwicklung und automatisierte Tests erzeugen. Zu klären sind außerdem Versionierung, Fehlerbehandlung und was bei einem Ausfall des Partnersystems passiert.
Altanwendungen müssen nicht in einem Schritt ersetzt werden. Beim Strangler-Fig-Muster leitet eine vorgeschaltete Fassade Anfragen entweder an das Altsystem oder an die neue Anwendung; Funktion für Funktion wandert um, bis das alte System abgeschaltet werden kann. Das senkt das Risiko, setzt aber Zugriff auf den alten Code voraus und einen Plan, wie beide Systeme in der Übergangszeit dieselben Daten nutzen.
Vorgehen und Vertrag
Beim Festpreis beschreibst du im Lastenheft, was die Software leisten soll, und der Anbieter legt im Pflichtenheft fest, wie er es umsetzt. Das funktioniert bei klar abgrenzbarem Umfang, jede Änderung wird aber zum Nachtrag. Agile Projekte arbeiten stattdessen mit einem priorisierten Backlog und Sprints von häufig zwei Wochen, abgerechnet wird meist nach Aufwand.
Rechtlich wird zwischen Werkvertrag und Dienstvertrag unterschieden. Beim Werkvertrag schuldet der Anbieter ein funktionierendes Ergebnis mit Abnahme und Mängelrechten, beim Dienstvertrag sorgfältige Arbeit, aber keinen bestimmten Erfolg. Maßgeblich ist die tatsächliche Ausgestaltung, nicht die Überschrift. Das Urheberrecht am Code bleibt in Deutschland beim Entwickler, du erhältst Nutzungsrechte. Ob du den Quellcode bekommst und von Dritten weiterentwickeln lassen darfst, muss ausdrücklich im Vertrag stehen.
Welche Anbieter es gibt
- Freelancer: gut für klar umrissene Aufgaben oder als Verstärkung eines vorhandenen Teams. Das Risiko liegt im Ausfall einer einzelnen Person.
- Softwareagentur: Team mit Projektleitung, Frontend, Backend und Test. Passt für Web-Anwendungen, Portale und Integrationsprojekte mit mehreren Monaten Laufzeit.
- Softwarehaus: oft auf Branchen oder Technologien spezialisiert, mit langjährigen Wartungsverträgen. Sinnvoll für komplexe Fachanwendungen und Legacy-Modernisierung.
- Team-Erweiterung: Externe Entwickler arbeiten unter deiner Produktverantwortung. Weil die gelebte Zusammenarbeit arbeitsrechtlich relevant sein kann, etwa beim Thema Arbeitnehmerüberlassung, sollte das Vertragsmodell dazu passen.
Nearshore-Teams, etwa in Osteuropa, arbeiten in ähnlichen Zeitzonen und sind häufig günstiger, dafür steigt der Abstimmungsaufwand.
Was du vor der Anfrage vorbereiten solltest
- Das Problem in zwei, drei Sätzen und wer die Software nutzen wird
- Die wichtigsten Funktionen, sortiert nach Muss und Kann
- Bestehende Systeme und Schnittstellen wie ERP, CRM, Shop oder Datenbanken
- Vorhandenes Material: Altsystem, Code, Datenbestände, Dokumentation
- Budgetrahmen und gewünschter Starttermin
- Anforderungen an Hosting und Datenschutz, etwa Server in der EU
- Wer bei dir entscheidet und wie viel Zeit für Abstimmungen und Tests da ist