Wenn du eine Schnittstelle programmieren lassen möchtest, reicht „System A soll mit System B verbunden werden“ für ein belastbares Angebot nicht aus. Entscheidend ist der geschäftliche Vorgang zwischen beiden Systemen: Was löst die Übertragung aus, welche Information wird benötigt, welches Ergebnis soll entstehen und wie arbeitet ein Mensch weiter, wenn etwas nicht klappt? Erst diese Kette zeigt, was die Integration tatsächlich leisten muss.
Ein Beispiel bleibt bewusst systemneutral: In einer Anwendung wird ein freigegebener Vorgang angelegt. Ein zweites System benötigt ausgewählte Stammdaten und Positionen, erzeugt dort einen eigenen Datensatz und meldet Kennung sowie Status zurück. Schon diese Beschreibung enthält mehr Substanz als eine Liste von Feldnamen. Sie macht sichtbar, dass Freigabe, Übertragung, Rückmeldung und spätere Änderungen zusammengehören.
Anfang und Ende des Auftrags festlegen
Definiere, an welchem fachlichen Zustand die Schnittstelle übernimmt und wann ihre Aufgabe erfüllt ist. „Datensatz übertragen“ kann bedeuten, dass eine Anfrage nur technisch angenommen wurde, dass das Ziel sie fachlich validiert hat oder dass ein nachgelagerter Prozess abgeschlossen ist. Diese Zustände dürfen im Angebot nicht vermischt werden. Sonst liefert die Entwicklung möglicherweise einen erfolgreichen Request, während dein Team ein bearbeitbares Ergebnis erwartet.
Zur Grenze gehört auch, was ausdrücklich außerhalb liegt. Eine Schnittstelle kann Daten transportieren und Regeln anwenden, aber sie ersetzt nicht automatisch schlechte Quelldaten, fehlende Freigaben oder einen ungeklärten Fachprozess. Bekannte Datenbereinigung, Anpassungen in den beteiligten Anwendungen und neue Oberflächen werden als eigene Leistung benannt. So entsteht keine scheinbar kleine Integration, die während der Umsetzung unbemerkt drei weitere Projekte aufnimmt.
Relevante Fälle statt vollständiger Wunschliste zeigen
Beschreibe einen typischen Vorgang, einen wichtigen Sonderfall und einen Fehlerfall mit realen, anonymisierten Beispieldaten. Daraus lassen sich benötigte Felder, Statuswechsel und Rückmeldungen ableiten. Die Beschreibung muss noch keine technische Spezifikation sein. Sie sollte jedoch so konkret sein, dass zwei Anbieter denselben Ablauf verstehen und offene Punkte an derselben Stelle erkennen.
Nenne außerdem Häufigkeit, erwartete Mengen und zeitliche Bedeutung in belastbaren Kategorien. Eine nächtliche Übernahme kleiner Datenmengen braucht eine andere Architektur als ein laufender Prozess, dessen Ergebnis unmittelbar in einer Nutzeroberfläche erwartet wird. Schätzungen bleiben als Schätzungen gekennzeichnet. Entscheidend ist nicht Scheingenauigkeit, sondern ob Last, Verzögerung und Ausfall geschäftlich eingeordnet sind.
Hilfreich ist ein kleines Ausgangspaket, das den beschriebenen Vorgang belegt: anonymisierte Ein- und Ausgabedaten, eine Skizze der beteiligten Rollen sowie bekannte Meldungen aus den vorhandenen Systemen. Dieses Material ist kein fertiges Lastenheft. Es verhindert aber, dass Anbieter eine Lücke mit ihrer jeweils bevorzugten Standardlösung füllen. Wo unterschiedliche Abläufe möglich sind, wird zunächst der geschäftlich wichtigste gewählt. Weitere Varianten bleiben sichtbar, ohne den ersten Auftrag zu überladen.
Das erste Angebot braucht keinen vorweggenommenen Programmcode. Es braucht einen klar begrenzten Vorgang mit Auslöser, Ergebnis, Sonderfällen und einer verständlichen Grenze zwischen Integration und Fachprozess.








