Das Domain-driven Design (DDD) liefert wertvolle Techniken und stellt unsere grundlegende Herangehensweise dar, wie wir Lösungen für reale Anforderungen erstellen. Dem DDD vorgelagert liegt unser Verständnis, wie wir das System aus Menschen und Maschinen, oder einfach „die Realität“, betrachten. Im Folgenden wird dieses Verständnis und die darauf aufgebaute Herangehensweise anhand von einfachen Illustrationen erläutert.
Die Realität ist ein komplexes System

Die Realität ist ein komplexes System aus Menschen, Maschinen, IT-Systemen und deren Beziehungen zueinander. Viele Dinge passieren und beeinflussen sich gegenseitig. Der Austausch von Informationen im Unternehmen zwischen Menschen und Technologien ist ein essenzieller Teil dieses Netzwerks, der Kooperation erst möglich macht.
Die Realität ist nicht vollständig erklärbar

Nicht alle Dinge, die auf das System einwirken, sind Teil des Systems, wie wir es verstehen. Wir können daher die tatsächliche Zusammensetzung des realen Systems niemals vollständig erklären. Das bedeutet, dass wir kein Modell oder auch Softwareprodukt erstellen können, das jede Einflussgröße genau beschreibt. Selbst wenn wir es könnten, entwickeln sich die Realität und unsere Anforderungen stets weiter, sodass Modelle und Softwareprodukte veralten. Bekanntermaßen scheitern diese stets an dem „Unvorhergesehenen“.
Die Akteure definieren das System

Damit ein Modell oder ein Softwareprodukt einen Nutzen generiert, muss es allerdings gar nicht die Realität beschreiben. Es muss vielmehr für diejenige geeignet sein, die es nutzen und weiterentwickeln wollen. Die individuellen Wahrnehmungen der Realität durch relevante Akteure liefert uns die Grundlage, um die Realität zu verstehen.
Schaffen eines gemeinsamen Verständnisses

Die Disziplin des Domain-driven Designs beschreibt die Gestaltung von u.a. Software auf Basis der tatsächlichen Tätigkeiten ihrer Nutzenden – also die Wahrnehmung der Akteure. Die Akteure tauschen sich zu ihren individuellen Wahrnehmungen der Realität aus. Sie lernen von anderen Akteuren und bauen ein gemeinsames, verbessertes Verständnis des realen Systems auf. Daraus lassen sich abgrenzbare Domänen identifizieren, die klare Anforderungen für die Gestaltung von Software vorgeben.
Die maßgeschneiderte digitale Lösung

Dieses erlangte Veständnis gilt als Grundlage zum Aufbau von Lösungen, die für die Akteure geeignet sind. Anhand dessen können digitale Lösungen geschaffen werden, die im Einklang mit der gelebten Realität sind. Wir nutzen diese Herangehensweise um das reale Informationssystem des Unternehmens digital abzubilden und ein echtes Business-IT-Alignment zu realisieren.
Anpassbarkeit schafft notwendige Flexibilität

Das gemeinsame Verständnis muss kontinuierlich angepasst werden. Das liegt daran, dass sich das System mit der Zeit verändert und neue Anforderungen entstehen. Damit das Verständnis nicht jedes Mal von null aufgebaut werden muss, ist es von Vorteil, wenn es iterativ und inkrementell erweitert werden kann.
Ereignisse vereinfachen flexible Systeme

Eine ereignisgetriebene Betrachtung schafft eine solche Erweiterbarkeit. Ereignisse (wie der Abschluss eines Fertigungsprozesses und die Freigabe eines Auftrags) dienen als Bindeglied für die Zusammenarbeit von verschiedenen Domänen. Zugleich verlieren sie mit neuen Anforderungen in der Regel nicht an Bedeutung. Neue Anforderungen schlagen sich zumeist in die Erweiterung bestehender Ereignisse oder die Begründung neuer Ereignisse nieder.
Das beliebig erweiterbare Informationssystem

Somit können wir das reale System des Unternehmens in iterativen Schritten digital repräsentieren. Durch das DDD schaffen wir die Methode, wie wir ein Verständnis der individuellen Realität aufbauen und durch präzise Anforderungen definieren. Anhand von Ereignissen schaffen wir es, dieses Verständnis in wartbare digitale Lösungen zu überführen. Das Resultat ist ein digitalisiertes Informationssystem, dass im Einklang mit dem Unternehmen ist, von allen beteiligten Akteuren genutzt und individuell erweitert werden kann.