Domain Driven ... Enterprise?

Conference Day - 21. Februar
 
16:20
17:05
 
Technologien und Tools
 
Seminarraum 1.812

Domain Driven Design hat sich in den letzten 10-15 Jahren zu einer weithin etablierten, wenn nicht sogar der bevorzugten Vorgehensweise bei der Konzeption und Umsetzung komplexer Systeme entwickelt.

Aber wenn wir über Aggregate, Bounded Contexts und Ubiquitous Language sprechen, haben wir häufig nur das Bild eines einzigen Systems im Kopf: Wir analysieren Geschäftsfälle und nutzen die Ergebnisse idealerweise als Grundlage für die Implementierung eines ausführbaren Domänenkerns, um den wir ein Produkt aufbauen.

In komplexeren Domänen können es auch mehr als ein Kern sein: Subdomänen und externe Systeme müssen angebunden werden - ein verteiltes System ist das unvermeidliche Resultat.

Beide Szenarien erlauben es uns, Lösungen von Grund auf zu konzipieren -- lean, kosteneffizient und speziell auf das jeweilige Business zugeschnitten. In manchen Fällen wird möglicherweise die Integration oder das Ersetzen einer Legacy-Anwendung notwendig.

Für all dies liefert uns Domain Driven Design eine Vielzahl an erprobten und bewährten Lösungsmustern, Frameworks und Werkzeugen.

Was aber, wenn schon ein einzelner Geschäftsprozess sich über das gesamte Unternehmen erstreckt, mit komplexen Hierarchien, 4-Augen-Prinzip, Auditing, Reports und Datenschutz?

Was, wenn bereits existierende Prozesse nicht isoliert sind, sondern eine Vielzahl von nur mit Abkürzungen benannten Systemen umfassen, die bereits vor Jahrzehnten von Entwicklern erdacht wurden, die längst in Rente sind? Was, wenn diese in vergessenen Sprachen und ohne die geringste Vorstellung von Domain Driven Design umgesetzt wurden? Was, wenn Echtzeit-Ereignisverarbeitung mit End-of-Day-Batch-Prozessen und asynchronem Dateiaustausch co-existieren muss? Was, wenn Projekte im Unternehmen üblicherweise unter Titeln wie "SAP mit CRM verbinden" geplant und budgetiert werden, und ihr eigentlicher Zweck und Geschäftswert dabei verloren geht?

Dies sind die hässlichen Realitäten, mit denen wir es in traditionellen Großunternehmen zu tun bekommen - nur allzu oft eingebettet in Politik und dysfunktionale Unternehmenskultur. Sie brauchen dringend unsere Hilfe...

Aufbauend auf einigen "War Stories" und Antipatterns aus dem Berateralltag werde ich anhand von Beispielen aufzeigen, wie Prinzipien, Patterns und Architekturen aus dem Domain Driven Design selbst in altmodischen und "verkrusteten" Strukturen als Leitfaden für die Entwicklung in Richtung einer bessern, nachhaltigeren Infrastruktur dienen und dadurch nicht nur der IT Abteilung selbst, sondern dem ganzen Unternehmen fundamentale Vorteile bringen können.

Tobias Goeschel

codecentric AG, Deutschland

Tobias ist seit 2014 als Berater, Coach und Entwickler bei der codecentric tätig. Zuvor verbrachte er die ersten 16 Jahre seiner Karriere hauptsächlich als Freiberufler in einer Vielzahl von Branchen, Rollen und Technologiesparten.

Seit dem (Üb-)Erleben dreier größerer Technologie-Hypezyklen (wer erinnert sich heute noch an Domänenspezifische Sprachen, Model Driven Architecture... oder Flash?) hat er sich voll und ganz der Erforschung von nachhaltigen und weitgehend Technologie-agnostischen Methoden, Prozessen und Denkmodellen zur ganzheitlichen Entwicklung von Software verschrieben - als Mitorganisator der SoCraTes-Konferenz, aber auch als Berater und Coach für Agile Entwicklungsmethoden, Projekt- und Produktmanagement, sowie als Architekt komplexer, verteilter Systeme.