Wenn eine Bestellung, eine Anfrage oder ein Fall mehrere Anwendungen durchläuft, ist es üblich, dass jedes Team eine andere Sicht auf den aktuellen Stand hat. Das CRM kann den Vorgang als „abgeschlossen“ anzeigen, das operative Tool als „ausstehend“ und der Kundenservice als „wartend“. Dabei handelt es sich nicht immer um einen technischen Fehler: Häufig fehlt eine Definition dafür, was jeder Status darstellt, welches System ihn ändern darf und welche Tatsachen ihn begründen.
Das Design von Prozessstatus in Integrationen übersetzt einen Geschäftsablauf in einen verständlichen Vertrag zwischen Produkt, Betrieb und Technologie. Sein Ziel ist nicht, allen Anwendungen einen identischen Statuskatalog aufzuzwingen. Es soll sicherstellen, dass ein gemeinsamer Status eine eindeutige Bedeutung, einen beobachtbaren Nachweis und Übergangsregeln hat, die alle verbundenen Systeme einhalten.
Erkennen, ob ein gemeinsamer Status erforderlich ist

Nicht alle Systeme müssen dieselben internen Status verwenden. Eine Anwendung kann technische Schritte benötigen, die für andere Teams keinen Mehrwert bieten, etwa Formatvalidierung, Arbeitswarteschlange, Synchronisierung oder Berechnung. Das Problem entsteht, wenn ein Status genutzt wird, um Entscheidungen zwischen verschiedenen Domänen zu koordinieren oder Kunden ein Versprechen zu kommunizieren.
Es empfiehlt sich, ein gemeinsames Modell festzulegen, wenn eines oder mehrere dieser Signale auftreten:
- Zwei Teams beantworten die Frage „Was ist mit dieser Anfrage passiert?“ unterschiedlich.
- Eine Anwendung erlaubt eine Aktion auf Grundlage eines Status, den eine andere noch nicht anerkennt.
- Stornierungen, Ablehnungen oder Wiederaufnahmen werden über manuelle Kanäle abgewickelt.
- Berichte fassen lokale Bezeichnungen zusammen, die gleichwertig wirken, aber unterschiedliche Fälle enthalten.
- Wiederholungsversuche einer Integration setzen einen Prozess in eine frühere Phase zurück oder erzeugen doppelte Aufgaben.
Wenn Informationen nur lokal angezeigt werden sollen, kann eine Zuordnungstabelle ausreichen. So können mehrere technische Status in einer Geschäftssicht als „in Bearbeitung“ dargestellt werden. Wenn jedoch mehrere Systeme anhand dieser Phase entscheiden, abrechnen, benachrichtigen oder Arbeit abschließen, ist ein expliziter Vertrag nötig. Das Übersetzen von Bezeichnungen ersetzt weder die Definition von Verantwortlichkeiten noch von Übergängen.
Das Modell vom Geschäftsablauf aus gestalten
Der beste Ausgangspunkt ist nicht die Statusliste eines bestehenden Tools, sondern der Lebenszyklus der Geschäftseinheit. Zeichnen Sie den vollständigen Ablauf einer Bestellung, eines Falls oder einer Anfrage und fragen Sie, welche Zusage jede Phase repräsentiert. In vielen bereichsübergreifenden Prozessen treten fünf Momente auf, auch wenn ihre Namen variieren:
- Beginn: Die Einheit existiert und wurde empfangen oder erstellt.
- Prüfung oder Zusage: Die Informationen werden validiert und die Anfrage wird angenommen, abgelehnt oder zur Korrektur zurückgegeben.
- Ausführung: Es wird aktiv gearbeitet, um die Zusage zu erfüllen.
- Ergebnis: Die Ausführung endet erfolgreich, mit Fehler, Ablehnung oder Stornierung.
- Abschluss: Nachgelagerte Auswirkungen wie Kommunikation, Abstimmung oder Archivierung werden erledigt.
Diese Momente verpflichten nicht dazu, fünf Status anzulegen. Sie helfen, relevante Entscheidungen zu erkennen. Ein Status ist sinnvoll, wenn er verändert, was eine Person oder ein System tun darf, welche Erwartung eine andere Partei erhalten muss oder welche operative Kontrolle erforderlich ist. Wenn zwei Status exakt dieselben Entscheidungen auslösen, schaffen sie wahrscheinlich Komplexität ohne Nutzen.
Dokumentieren Sie für jeden gemeinsamen Status mindestens:
- Seine Definition in Geschäftssprache und die beobachtbare Bedingung, die ihn belegt.
- Die Einheit, auf die er angewendet wird, und gegebenenfalls seinen Geltungsbereich: vollständige Anfrage, Position, Sendung oder Aufgabe.
- Das verantwortliche System, das ihn bestätigen darf.
- Die zulässigen Ausgangsstatus und gültigen Auslöser.
- Die beim Eintritt erlaubten, verbotenen oder erforderlichen Aktionen.
- Die Austrittsregel: automatisch, manuell, durch externes Ereignis oder zeitgesteuert.
Eine Definition wie „abgeschlossen, wenn das Team fertig ist“ ist mehrdeutig. Besser ist: „abgeschlossen, wenn das operative System erfasst, dass alle obligatorischen Aufgaben der Anfrage erfolgreich beendet wurden“. Das lässt sich prüfen, auditieren und automatisieren.
Status, Ereignis, Grund und Aktion nicht vermischen
Ein großer Teil der Inkonsistenzen entsteht, wenn eine einzelne Bezeichnung für unterschiedliche Konzepte verwendet wird. Ihre Trennung verringert Diskussionen und bewahrt Kontext, ohne die Anzahl der Status zu vervielfachen.
- Status: Der aktuelle, dauerhafte Zustand der Einheit, etwa „in Ausführung“ oder „storniert“.
- Ereignis: Eine zu einem Zeitpunkt eingetretene Tatsache, etwa „Zahlung autorisiert“, „Dokumentation erhalten“ oder „Vorgang gestartet“.
- Grund: Eine kodierte Erklärung für eine Entscheidung oder ein Ergebnis, etwa ein Ablehnungs- oder Stornierungsgrund.
- Aktion: Eine Anweisung, um eine Änderung auszulösen, etwa „Anfrage stornieren“, „Übermittlung erneut versuchen“ oder „Mitarbeiter zuweisen“.
Beispielsweise sollte „Kunde hat angerufen“ kein Status sein, sondern ein Interaktionsereignis. „Wegen Duplikat storniert“ verbindet einen Endstatus mit einem Grund. Die Trennung beider Elemente ermöglicht es, Stornierungen zu messen, ohne die Ursache zu verlieren, und verhindert eine endlose Liste von Varianten.
Außerdem müssen Geschäftsstatus und technischer Status unterschieden werden. „Nachricht wartet auf Veröffentlichung“ kann für die Beobachtbarkeit wesentlich sein, sollte aber nicht „Anfrage angenommen“ ersetzen. Halten Sie den Geschäftsstatus unabhängig von Transportdetails stabil und stellen Sie technische Daten bereit, wenn sie bei der Lösung von Störungen helfen.
Verantwortlichkeit zuweisen und Übergänge steuern
Ein gemeinsamer Status benötigt für jede Entscheidung eine Quelle der Wahrheit, auch wenn die Einheit an mehreren Orten repliziert wird. Das CRM kann für die Annahme einer Anfrage verantwortlich sein, das operative System für deren Ausführung und ein Finanzsystem für die Bestätigung eines Zahlungseingangs. Gefährlich wird es, wenn mehrere Systeme denselben Status ohne Vorrangregel schreiben dürfen.
Erstellen Sie eine einfache Matrix mit Status, berechtigtem System, Nachweis und Verbrauchern. Definieren Sie anschließend die erlaubten Übergänge. Ein Diagramm ist hilfreich, aber die Regeln müssen implementierbar sein. Zum Beispiel:
eingegangen -> validiert -> in_ausfuehrung -> abgeschlossen eingegangen|validiert|in_ausfuehrung -> storniert validiert -> abgelehnt
Nicht alle Übergänge sollten umkehrbar sein. Endstatus müssen als endgültig behandelt werden, sofern keine gesteuerte Korrektur erfolgt. Wenn nach der Kennzeichnung als „abgeschlossen“ ein Fehler auftritt, sollte der Vorgang nicht stillschweigend zu „in Ausführung“ zurückkehren. Erfassen Sie eine Korrekturaktion, den Grund, die verantwortliche Person und, falls das Geschäft es verlangt, einen neuen Zyklus oder eine abgeleitete Einheit.
Zwischenstatus sind erforderlich, wenn sie eine Erwartung oder eine operative Regel verändern. „Wartet auf Kunden“ kann rechtfertigen, eine Frist anzuhalten und eine Kommunikation auszulösen; „in Warteschlange“ ist möglicherweise eine interne Bedingung, die das operative System nicht verlassen sollte. Definieren Sie außerdem Zeitgrenzen: Wie lange darf eine Anfrage in jeder Phase verbleiben, wer prüft die Ausnahme und welche Warnung wird ausgelöst?
Stornieren, wiederholen und wiederherstellen, ohne Rückschritte zu erzeugen
Verteilte Integrationen fallen aus, verzögern sich und können dieselbe Nachricht mehr als einmal zustellen. Das Statusdesign muss davon ausgehen. Die Veröffentlichung einer Änderung bedeutet nicht, dass alle Verbraucher sie genau einmal oder in perfekter Reihenfolge verarbeiten.
Veröffentlichen Sie für jede Statusänderung eine stabile Kennung der Einheit, eine eindeutige Ereigniskennung, den neuen Status, das Wirksamkeitsdatum, die Quelle sowie eine Version oder Sequenz. Ein Verbraucher muss ein bereits angewendetes Ereignis sicher ignorieren und ein veraltetes erkennen können. Die Aktualisierung muss idempotent sein: Die zweimalige Verarbeitung derselben Änderung darf nicht zwei Aufgaben, zwei Benachrichtigungen oder zwei Stornierungen erzeugen.
Auch technische Wiederholungsversuche sollten den Geschäftsstatus nicht selbstständig ändern. Wenn eine Nachricht, die „in Ausführung“ ankündigt, nicht zugestellt werden kann, wiederholen Sie ihre Zustellung und protokollieren Sie den Vorfall; setzen Sie die Anfrage nicht auf „validiert“ zurück. Bei Nachrichten in falscher Reihenfolge benötigen Sie eine explizite Richtlinie: Ereignisse mit niedrigerer Version ablehnen, zur Prüfung aufbewahren oder nur zulassen, wenn der Übergang weiterhin gültig ist.
Eine Stornierung erfordert eine klare Geschäftsentscheidung. Legen Sie fest:
- Welche Status eine Stornierung durch Kunden, den Betrieb oder automatisch erlauben.
- Welche Auswirkungen kompensiert werden müssen: Aufgaben, Reservierungen, Kommunikationen oder nachgelagerte Bewegungen.
- Wann die Stornierung unmittelbar erfolgt und wann sie „beantragt“ bleibt, bis ein System bestätigt, dass die Arbeit gestoppt werden kann.
- Welche Gründe verpflichtend sind und welche Rollen eine manuelle Korrektur ausführen dürfen.
Eine manuelle Änderung muss nachvollziehbar sein; sie ist keine unsichtbare Ausnahme. Speichern Sie, wer sie vorgenommen hat, wann und warum, welcher vorherige Status bestand und welche Auswirkungen benachrichtigt wurden. Diese Informationen helfen bei der Klärung von Reklamationen und bei der Verbesserung fehlerhafter Regeln.
Beispiel und Kontrollen vor der Einführung

Stellen Sie sich eine Anfrage vor, die in einem Formular entsteht, in einem CRM verwaltet, in einer operativen Anwendung bearbeitet und vom Kundenservice eingesehen wird. Das Formular kann „eingegangen“ erstellen, das CRM „validiert“ oder „abgelehnt“ bestätigen, und der Betrieb kann „in Ausführung“ sowie „abgeschlossen“ melden. Der Kundenservice verwendet den gemeinsamen Status, verändert ihn aber nicht. Wenn der Kunde während der Ausführung eine Stornierung verlangt, erstellt der Kundenservice eine Stornierungsaktion; das operative System bestätigt anschließend „storniert“ oder meldet, dass die Arbeit nicht mehr gestoppt werden kann. So wird verhindert, dass eine Anfrage mit einem Ergebnis verwechselt wird.
Prüfen Sie vor der Implementierung diese Checkliste:
- Beantwortet jeder Status eine tatsächliche Geschäfts- oder Betriebsentscheidung?
- Gibt es eine beobachtbare Bedingung und genau ein berechtigtes System, um sie zu bestätigen?
- Sind Gründe, Ereignisse und Aktionen vom dauerhaften Status getrennt?
- Sind ungültige Übergänge, Endstatus und außergewöhnliche Korrekturen definiert?
- Unterstützen Verbraucher Duplikate, Verzögerungen und Nachrichten in falscher Reihenfolge?
- Gibt es Warnungen für ungewöhnlich lange Verweilzeiten und einen Abgleich zwischen Quelle und Replikaten?
- Enthalten Vertragsänderungen Version, Verantwortliche und einen Kompatibilitätsplan?
Das Modell muss sich mit dem Prozess weiterentwickeln, aber nicht durch informelle Änderungen von Bezeichnungen. Überprüfen Sie regelmäßig die Status mit den meisten Wartezeiten, manuellen Eingriffen, Abweichungen oder Supportanfragen. Diese Signale weisen darauf hin, dass eine Definition unzureichend ist, ein Ereignis fehlt oder ein technischer Status zur Darstellung einer Geschäftsentscheidung verwendet wird. Ein kleiner, expliziter und gesteuerter Vertrag ist hilfreicher als ein umfassender Katalog, den kein System gleich interpretiert.
