DDD Überblick (1 Tag)
Das eintägige Seminar vermittelt die grundlegenden Konzepte und den Nutzen von Domain-Driven Design.
Effektive Softwareteams können eine Flut von Wissen und Informationen über die jeweiligen Domains destillieren und kontinuierlich in hochwertige Software transformieren. Das Aufspüren und Verwerten von Domain-Modellen ist in Projekten mit komplexen Domains ein wichtiger Schlüssel zum Erfolg. Dieses Seminar gibt einen Überblick über verschiedene Grundprinzipien und Prozesse, derer es zum einen bedarf, um die richtigen Modellarten zu entwickeln, mit denen letztere sich zum anderen in die Implementierung und Unternehmensanalyse einbinden lassen und die darüber hinaus einen produktiven Umgang mit bestimmten Gegebenheiten in Multi-Team-Projekten ermöglichen.
Es wird aber nicht nur ein umfassender Überblick geboten. Im Verlauf des Tagesseminars befassen sich die Teilnehmer eingehend mit drei Kernpunkten des DDD:
- die Kultivierung einer auf den Modellen basierenden gemeinsamen Sprache als Verbindungsglied zwischen Domain-Experten, Entwicklern und dem Code selbst
- die sondierende Interaktion zwischen technischer und fachlicher Seite im Modellierungsprozess, also z. B. das Erforschen und Ermitteln der Erfahrungen, Vorstellungen und Ziele der Domain-Experten
- Techniken für den Umgang mit unterschiedlichen Modellen bei
großen Projekten
Neben
Vorträgen und Simulationsübungen wird zudem Raum für Diskussionen sein,
in denen auch auf die eigenen Fallbeispiele der Teilnehmer eingegangen
wird. Ziel ist es, die Teilnehmer mit den Hauptaspekten der
modellbasierten Softwareentwicklung sowie mit einigen neuen Techniken
und Prinzipien vertraut zu machen, die sie in ihren eigenen Projekten
anwenden können.
Voraussetzungen
Erfahrung mit Projekten, die komplexe Software-Systeme entwickeln. Ein grundlegendes Verständnis von objektorientiertem Design und rudimentäre Kenntnisse in UML.
Von Vorteil
Erfahrung mit Objekt-Modellierung in größeren Software-Projekten, Vertrautheit mit iterativen Entwicklungsprozessen.
Zielgruppe
Alle, die maßgeblich an der Entwicklung von Software beteiligt sind, d. h. Entwickler, technische und nicht-technische Projektleiter, Analysten und auch nicht-technische Domain-Experten.
Kursablauf
Morgen: Ubiquitous Language
- Domain-Driven Design Überblick
- Übungen zur Ubiquitous Language
Vormittag: Das Aufspüren von Modellen
- Implizite Konzepte explizit werden lassen
- Das gemeinsame Modellieren von Entwicklern und Domain-Experten
- Das Schreiben von Tests als Modellierungsprozess
- Flexibles Design: Software die offen für Veränderung ist.
Nachmittag: Strategisches Design
- Destillierungsprozess: Die Spreu vom Weizen trennen
- Wege zur Straffung und Optimierung des Arbeitsaufwands
- Das Herausarbeiten einer gemeinsamen Vision
- Context Mapping: ein pragmatischer Ansatz zum Umgang mit unterschiedlichen Modellen und Designs in realen Projekten
- Beziehungen zwischen Subsystemen / Beziehungen zwischen Teams
- Simulationsübungen: Modellierungstechniken für Multi-Teams und Multi-Subsysteme
Später Nachmittag: Allgemeine Diskussion
- Fragen und Antworten
- Runder Tisch
- Besprechung und Nachbereitung

