Slide 1

Slide 1 text

Effiziente Komplexitätsreduktion in der skalierenden Produktentwicklung mit Domain-Driven Design Matthias Eschhold und Nils Hyoma Scaling Agile Summit 2024

Slide 2

Slide 2 text

Matthias Eschhold • EnBW AG • Lead Architect Business Domäne E-Mobilität • Trainer für Softwarearchitektur Foundation, Domain-Driven Design und Clean Architecture

Slide 3

Slide 3 text

Nils Hyoma • Manager bei MHP – A Porsche Company • RTE für Fuhrpark Software • Ehemaliger Developer

Slide 4

Slide 4 text

• Es gibt fachliche Missverständnisse und Kommunikationsprobleme • Schwierige Koordination zwischen Teams • Starr und unflexible Architektur • Ineffektive Abstimmung mit Stakeholdern • Schwierigkeiten bei Wiederverwendbarkeit und Modularität • Das Team übernimmt keine Verantwortung Herausforderungen in der skalierenden Produktentwicklung

Slide 5

Slide 5 text

Big Ball of Mud • Unstrukturierter Code • Schlechte Wartbarkeit • Hohe Komplexität • Mangelnde Dokumentation • Technische Schulden • Entwicklerabhängigkeit

Slide 6

Slide 6 text

Big Ball of Mud

Slide 7

Slide 7 text

Einführung in Domain-Driven Design • Fokus auf das Verständnis der Domäne • Verwendung einer gemeinsamen Sprache (Ubiquitous Language) • Strategisches und Taktisches Design • Vorteile: • Verbesserte Kommunikation und Zusammenarbeit • Klarere Architektur und Struktur • Bessere Anpassungsfähigkeit und Wartbarkeit

Slide 8

Slide 8 text

Findet sich wieder im: • Glossare • Domain Storytelling Maps • Moddellierung • Code Ubiquitous Language in Domain-Driven Design

Slide 9

Slide 9 text

Anti-Pattern mehrdeutige Modelle Fahrzeug ID Fahrzeugmodell Fahrzeugtyp Kennzeichen Kilometerstand Name Vorname Anlagedatum 12345 Porsche 911 2022 2.0 HH-ST-1910 8000 Hyoma Nils 13.12.2022 12346 3er BMW E90 S-VK-1899 693442 Eschhold Matthias 01.01.2023 12347 Trabbi 1989 B-EH-1989 5 Maul Ronny 15.01.1887

Slide 10

Slide 10 text

Bounded Contexts Ein Bounded Context ist die Grenze um die Bedeutung eines fachlichen Modells! Klare Abgrenzung von fachlichen Fähigkeiten und deren Verantwortlichkeiten zur IT-Organisation einer (Business) Domäne Vorteile: Erhöhte Klarheit und Verantwortlichkeit • Reduzierung der Komplexität • Bessere Skalierbarkeit

Slide 11

Slide 11 text

Strategisches Design • Bounded Contexts • Context Maps • Ubiquitous Language • Klassifikation: Core, Supporting und Generic Domains

Slide 12

Slide 12 text

• Entities • Value Objects • Aggregates • Repositories • Services • Factories • Modules Taktisches Design

Slide 13

Slide 13 text

Was brauchen Architekten von Leadern in skalierenden Frameworks?

Slide 14

Slide 14 text

Wie mit Domain-Driven Design anfangen?

Slide 15

Slide 15 text

Fragen und Antworten

Slide 16

Slide 16 text

Danke