Thema: DDD
- Montag
03.02. - Dienstag
04.02. - Mittwoch
05.02. - Donnerstag
06.02. - Freitag
07.02.
Moderne Kollaborationsmethoden wie Event-Storming helfen, Fachexpert:innen und Entwickler:innen zusammenzubringen. „Domain Modelling“ geht noch einen Schritt weiter und ermöglicht gemeinsame Arbeit direkt am Code. In diesem Workshop erprobt ihr das Vorgehen an einem praktischen Beispiel.
Unser PO bringt die Ergebnisse einer Event-Storming-Session mit. Auf dieser Basis modellieren wir die Domäne mithilfe eines funktionalen Typsystems. Fachexpert:innen haben die Möglichkeit, direkt Feedback zum…
Software stakeholders and users approach technology through the lens of their cultural norms and worldviews. As software designers, we often introduce new concepts and terminology to better address those needs. This can mean adapting or even reshaping their cultural perspectives. But culture, by nature, seeks consistency and conformity, providing a framework to our daily chaos. This consistency can make language and models rigid, often leading to ambiguity. So, how can we navigate and reshape…
Creating high-quality software is challenging due to a focus on solutions over understanding organizational context. Developers need to engage with stakeholders across contexts. However, stakeholder communication can lead to misunderstandings and conflicts, disrupting knowledge sharing. This often results in autocratic decisions by architects. Achieving sustainable and design decisions, it's more effective to employ visual techniques, improving collaboration with stakeholders.
This talk explores…
In den letzten Jahren hat das Strategische Design aus DDD einen enormen Zuspruch gewonnen, was auf jeden Fall gut und wichtig ist. Aber das bedeutet nicht, dass wir das Taktische Design von DDD vernachlässigen sollten.
Für diesen Vortrag beginnen wir mit einer starren und fragilen Codebase, wie sie häufig im Laufe der Jahre entsteht. Wir führen Schritt für Schritt Refactorings durch, wobei wir den Supple Design Strategien (supple: englisch für “geschmeidig”) aus DDD sowie anderen bekannten…
Seit über sechzig Jahren bauen wir Software, die immer größer und komplexer wird. Inzwischen haben wir nicht nur Mainframe-Altsysteme, sondern auch die Systeme in objektorientierten Programmiersprachen sind in den letzten zwanzig Jahren so schnell und immer wieder unkontrolliert gewachsen, dass sie zu einem großen Knäuel geworden sind. All dieser Legacy-Code treibt die Entwicklungskosten in die Höhe und führt dazu, dass wir diese alten Softwaresysteme nicht mehr gerne anfassen. Ist das…
Bounded Contexts spielen bei Domain-driven-Design-Diskussionen eine zentrale Rolle. Sie gelten als eine vielversprechende Lösung zur Modularisierung von Systemen, sei es in Form von Deployment-Monolithen oder Microservices. Doch die Anwendung in der Praxis bringt Herausforderungen mit sich: Es ist oft schwierig, eine Domäne sinnvoll in Bounded Contexts aufzuteilen. Zudem ist das Konzept nicht einfach zu verstehen. Einerseits steht es für die Aufteilung eines Softwaresystems in Module,…
Die Grundlage für gute Software ist eine gute Architektur. Eine zum System passende Architektur kann jedoch nicht im luftleeren Raum entstehen – um eine geeignete Architektur definieren zu können, muss man die Domäne und ihre Anforderungen verstehen. Moderne Architekturarbeit beginnt somit ein ganzes Stück vor der eigentlichen Architektur. Für diese Exploration der Domäne wurden im Rahmen von Domain-Driven Design (DDD) verschiedene kollaborative Modellierungstechniken entwickelt. Deren Ziel ist…
Today we know very well how to start a new project on a greenfield and how to build a good architecture. But most of us work in projects that have been around for a long time and whose architecture (to put it mildly) is not quite so beautiful. “Monolith” and “Big Ball of Mud” are the unflattering labels put on such systems.
This talk will show how we can introduce (or bring back) structure. Every system is different here, so it’s important to first understand where you are. Then the right steps…
Wir wissen heutzutage ziemlich gut, wie man ein neues Entwicklungsprojekt auf der grünen Wiese beginnen sollte und wie wir dabei Schritt für Schritt eine gute Softwarearchitektur aufbauen. Aber die meisten von uns arbeiten in Projekten, die schon lange laufen und deren Architektur nicht mehr ganz so wohlgeformt ist. „Monolith“ und „Big Ball of Mud“ sind die unschönen Bezeichnungen, die wir für diese Systeme haben.
In diesem Vortrag stelle ich Domain-Driven Transformation vor, eine Methode, die…
Eric Evans' Big Blue Book has a chapter titled "closure of operations", largely ignored by the community and subsequent works on DDD. This is tragic, as closure of operations is one of the most powerful techniques for domain modeling. A concept imported from functional programming, it makes for flexible and long-lived domain models with the help of combinators - operations that build big domain objects from smaller ones recursively. This is refreshing alternative to the rigid hierarchical…
Auf der grünen Wiese lässt sich leicht eine modulare Anwendung schreiben. Was aber, wenn es – wie leider so häufig in der Praxis – einen bestehenden, historisch gewachsenen Monolithen gibt, der schon einmal bessere Tage gesehen hat? Wie kann die Lücke zwischen dem alten monolithischen Architekturansatz zu einer modernen, modularen Architektur geschlossen werden, die ggf. in Microservices mündet?
Diese Session bietet eine praxisnahe Einführung in bewährte Methoden und Strategien, um eine…
EventStorming, collaborative modelling, bounded context canvas - now what?
Did you ever feel like you're standing in front of a mountain of cloud tools and implementation options, with a well-designed domain model, but no idea where to start? Or are you fully equipped with technical understanding and cloud experience, but deeply unsure how to "cut" your system for good modularization?
Fear not, because this workshop will introduce you to a solid set of tried and proven methods and tools, that…