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.
Ihr bekommt einen PO zur Seite gestellt, der euch die Fachlichkeit erklärt. Zunächst erarbeiten wir im Event-Storming das Big Picture. Anschließend modellieren wir in kleinen Gruppen die Domäne mithilfe eines funktionalen Typsystems. Fachexpert:innen haben die Möglichkeit, direkt Feedback zum Code zu geben.
Ziel des Workshops ist es, nicht nur das Typsystem richtig zum Domain Modelling zu verwenden, sondern auch die Kommunikation mit POs, Kunden und anderen Fachexperten zu üben.
Maximale Teilnehmendenzahl: 24
Zielpublikum: Entwickler, Produkt-Verantwortliche, POs, Architekten
Voraussetzungen: Kenntnisse in TypeScript oder Kotlin sind hilfreich, aber keine zwingende Voraussetzung
Schwierigkeitsgrad: Advanced
Marco Emrich ist Architekt und Consultant bei codecentric und leidenschaftlicher Verfechter von Software-Craft und Codequalität. Er hält regelmäßig Vorträge auf bekannten Konferenzen und ist Autor mehrerer Fachbücher. Wenn er mal nicht tief im Code vergraben ist, zocken ihn seine Kinder in analogen Brettspielen ab. Du kannst ihm unter linkedin.com/in/marco-emrich-47485388 folgen ;)
Ferdi is a Developer and Consultant at codecentric. He is passionate about Software Craft and Domain-Driven Design (DDD), and advocates for close collaboration to enhance quality. Ferdi co-hosts the Software Craft Leipzig Meetup and believes that hands-on sessions are the best way to learn new skills and techniques.
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 these ingrained cultural perspectives and behaviours during software design?
Join our interactive workshop that explores the dynamic relationship between organizational culture and software design. This session offers a balanced mix of theoretical insights into how cultures function and impact our professional lives, coupled with practical exercises to help implement these concepts. We will delve into the critical role of culture in shaping software design, with a special focus on 'symbols' as a core cultural element. Participants will engage with a domain model that illustrates how language, as a cultural symbol, significantly influences both domain-specific and software contexts. Through hands-on exercises, we'll examine techniques to grasp the cultural significance of these symbols, equipping participants to either adapt effectively or employ strategies and heuristics to transform them. This includes practices such as experimenting with alternative narratives, using storytelling to understand and convey culture, and leveraging humor as a cultural lens. The workshop will conclude with a series of case studies presented through interactive discussions, showcasing the application of various techniques and heuristics in collaborative software design. These studies will highlight both successes and challenges in navigating and reshaping cultural symbols and behaviors.
Maximale Teilnehmendenzahl: 32
Target Audience: Technical leaders, decision makers, software engineers, architects
Prerequisites: Software design experience
Level: Expert
Kenny Baas-Schwegler believes in collaborative software design where ‘every voice shapes the software’. Leveraging a domain-driven design approach with Team Topologies, he facilitates clearer communication between stakeholders and software creators by collaborative modelling and deep democracy, decoding complexities, resolving conflicts and ensuring software remains agile to business demands.
In his roles as an independent software consultant, tech lead, and software architect, he catalyses organisations and teams towards designing and building sustainable and resilient software architectures.
Avraham Poupko is the head of Product Security for Forescout. He learns and teaches about how people join to create software.
As a systems architect, Avraham Poupko has spent the last 25 years analysing, modeling and designing software as well as teaching systems thinking and system design. Avraham experience varies from working with small startups that have one product, to large enterprises that create very complex domains and systems. Avraham is currently leading a multi disciplined team that is designing the next generation data center.
Avraham is currently studying, writing and teaching about the varied and complex relationships between the organizations that create software and the software they create.
Vortrag Teilen
Have you ever caught yourself staring at a context map, wondering, ‘What comes next?’
While context maps provide a starting point, their static nature limits our ability to highlight movement, such as evolution, or delve deeper into the impact on elements of the socio-technical system, like existing or required skills.
This session introduces two techniques that begin where context maps end: Core Domain Charts and Wardley Maps. These methods build upon the insights from context maps, extending beyond bounded context relationships to reveal the implications and interactions within socio-technical systems. Moving beyond context maps is crucial for gaining clarity on the next steps, which is essential for navigating complex environments.
Target Audience: DDD Practicioners, Architects, Developers
Prerequisites: Sound understanding of Context Mapping and DDD in general
Level: Advanced
Tom Asel has been working as a developer, architect and trainer in software development for over 15 years. Agile architecture work is a focus of his work. He supports teams and organisations in aligning development processes, skills, technologies and architectures.
Vortrag Teilen
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 collaborative modeling, a technique for analyzing complex decisions with all stakeholders. Inclusive sessions and skills like observing, listening, neutrality, and empathy are key. The goal is for teams to understand stakeholder needs, guiding software architecture through collaborative design.
Target Audience: Technical leaders, decision makers, software engineers, architects
Prerequisites: None
Level: Advanced
Kenny Baas-Schwegler believes in collaborative software design where ‘every voice shapes the software’. Leveraging a domain-driven design approach with Team Topologies, he facilitates clearer communication between stakeholders and software creators by collaborative modelling and deep democracy, decoding complexities, resolving conflicts and ensuring software remains agile to business demands.
In his roles as an independent software consultant, tech lead, and software architect, he catalyses organisations and teams towards designing and building sustainable and resilient software architectures.
Gien Verschatse is an experienced consultant and software engineer that specialises in domain modelling and software architecture. She's fluent in both object-oriented and functional programming, mostly in .NET. As a Domain-Driven Design practitioner, she always looks to bridge the gaps between experts, users, and engineers.
As a side interest, she's researching the science of decision-making strategies, to help teams improve how they make technical and organisational decisions. She shares her knowledge by speaking and teaching at international conferences.
And when she is not doing all that, you'll find her on the sofa, reading a book and sipping coffee.
Vortrag Teilen
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 Refactoring-Patterns folgen. Dabei führen wir Value Objects, Entities und weitere Elemente des Taktischen Designs nach und nach ein. Dies erlaubt es uns, die Codebase klar zu strukturieren, so dass Änderungen schnell und leicht möglich sind und das Arbeiten mit dem Code wieder Freude bereitet.
Konkret lernen die Teilnehmer, in welchen Schritten diese Strategien gut anwendbar sind. Die einzelnen Schritte sind einfach und klar verständlich. Sie fordern zum Nachdenken heraus und geben Einblicke, mit denen wir das Domänenmodell im Laufe des Refactorings signifikant verbessern.
Zielpublikum: Architekten, Entwickler
Voraussetzungen: Programmiererfahrung, Erfahrung mit größeren und älteren Codebasen hilfreich
Schwierigkeitsgrad: Advanced
Nicole Rauch ist freiberufliche Softwareentwicklerin und Softwareentwicklungscoach mit umfangreichem Hintergrund in Compilerbau und formalen Verifikationsmethoden. Neben Specification by Example, Domain-Driven Design, React/Redux und der Sanierung von Legacy-Code-Applikationen gehört auch funktionale Programmierung zu ihrem Repertoire. Des Weiteren ist sie Fachbeiratsmitglied bzw. Mitorganisatorin mehrerer Konferenzen sowie einer Fachzeitschrift und Mitbegründerin der Softwerkskammer, einer deutschsprachigen User Community zum Thema Software Craftsmanship.
Mehr Inhalte dieses Speakers? Schaut doch mal bei sigs.de vorbei: https://www.sigs.de/experten/nicole-rauch/
Martin has been consulting and supporting companies in the implementation of their software projects as a software architect and agile coach for many years. He always has the big picture in mind, looking for the boundaries that naturally divide the domain into conceptual units in order to build robust and efficient systems from these parts. Additionally, his profound experience in facilitating workshops helps him to accompany groups in their process of gaining insights and decision-making and to enable all team members to interact in an appreciative and effective manner.
Vortrag Teilen
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 unvermeidbar? Oder gibt es auch gute Legacy?
In meinem Vortrag zeige ich Ihnen, welche Überlegungen ich mit meinen Kunden üblicherweise anstelle, um zu entscheiden, ob das Legacy-System durch Refactorings wieder auf den Pfad der Tugend gebracht werden kann oder ob wir es abreißen und neu bauen müssen.
Zielpublikum: Architekten, Entwickler, Projektleiter, Manager
Voraussetzungen: Erfahrung mit Softwareentwicklung
Schwierigkeitsgrad: Advanced
Dr. Carola Lilienthal ist Geschäftsführerin bei der WPS – Workplace Solutions GmbH. Sie hat an der Universität Hamburg studiert und dort zum Thema „Komplexität von Softwarearchitekturen“ promoviert. Seit 2003 analysiert sie im Auftrag ihrer Kunden in ganz Deutschland regelmäßig die Zukunftsfähigkeit von Softwarearchitekturen und spricht auf Konferenzen über dieses Thema. 2015 hat sie ihre Erfahrungen aus über hundert Analysen in dem Buch „Langlebige Softwarearchitekturen“ zusammengefasst. Inzwischen ist das Buch auch auf Englisch verfügbar.
Mehr Inhalte dieses Speakers? Schaut doch mal bei sigs.de vorbei: https://www.sigs.de/experten/carola-lilienthal/
Vortrag Teilen
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, andererseits soll es helfen, verschiedene Fachsprachen innerhalb einer Domäne voneinander zu trennen. Darüber hinaus wird ein Bounded Context oft als ein Team betrachtet. Wie lässt sich all das miteinander in Einklang bringen, und wie kann man in der Praxis erfolgreich damit arbeiten? Dieser Vortrag erklärt, was Bounded Contexts sind, und beleuchtet dann diese Herausforderungen. So zeigt er, wie man Projekte mit DDD noch erfolgreicher gestalten kann.
Zielpublikum: An Softwarearchitektur oder Domain-driven Design Interessierte
Voraussetzungen: Grundlegendes Verständnis von DDD
Schwierigkeitsgrad: Advanced
Eberhard Wolff ist Head of Architecture bei SWAGLab und arbeitet seit mehr als zwanzig Jahren als Architekt und Berater, oft an der Schnittstelle zwischen Geschäft und Technologie. Er ist Autor zahlreicher Artikel und Bücher, u. a. zu Microservices, trägt regelmäßig als Sprecher auf internationalen Konferenzen vor und streamt wöchentlich zum Thema Softwarearchitektur. Sein technologischer Schwerpunkt sind moderne Architektur- und Entwicklungsansätze wie Cloud, Domain-driven Design und Microservices.
Mehr Inhalte dieses Speakers? Schaut doch mal bei sigs.de vorbei: https://www.sigs.de/experten/eberhard-wolff/
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 es, dass alle an einer Software beteiligten Personen die Domäne und ihre Anforderungen kennen und verstehen. Insbesondere soll eine gemeinsame Sprache entwickelt werden, um über Problemstellungen innerhalb der Domäne diskutieren zu können, die auch als Ubiquitous Language im Sinne von DDD verwendet werden kann.
Obwohl all diese Modellierungstechniken dieselben Ziele verfolgen, unterscheiden sie sich in ihrem Ansatz. Das beliebte Event Storming modelliert Wissen als Sequenz von Events. Beim Domain Storytelling werden die Interaktionen zwischen Personen und/oder Systemen modelliert und die Ergebnisse können zur Visualisierung von Szenarien verwendet werden. Weitere Methoden verwenden andere Elemente in der Modellierung oder versuchen, die Stärken anderer Methoden zu kombinieren. In diesem Vortrag möchten wir einige beliebte Modellierungstechniken kurz vorstellen und ihre Stärken hervorheben. Wir möchten einige Ratschläge geben, wie man auf Basis des Szenarios eine kollaborative Modellierungstechnik auswählt.
Zielpublikum: Architekten, Entwickler, Projektleiter
Voraussetzungen: Projekterfahrung
Schwierigkeitsgrad: Basic
Frank Steimle ist Senior Consultant bei Digital Frontiers. Er fokussiert sich auf agile Softwareentwicklung in Kombination mit Domain-Driven Design. Er interessiert sich dabei besonders für Event Modeling, CQRS, Event Sourcing und alle Arten von eventgetriebenen Architekturen.
As Co-Founder and Senior Consultant at Digital Frontiers, Florian Pfleiderer focuses on agile software development. He advises his clients in the areas of architecture, microservices and craftsmanship and helps them to make their way into the cloud sustainably and with high-quality software.
Vortrag Teilen
Vortrag Teilen
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 have to be taken. We present a catalog of refactorings to choose from and heuristics which are the right choices.
The catalog contains refactorings that help to cure: BBOM architecture, anemic domain models, and badly organized teams.
Target Audience: Developers and architects
Prerequisites: Programming experience
Level: Expert
Henning liebt Programmieren in hoher Qualität. Diese Leidenschaft lebt er als Coder, Coach und Consultant bei der WPS – Workplace Solutions aus. Dort hilft er Teams dabei, gewachsene Monolithen zu strukturieren oder neue Systeme von Anfang an mit einer tragfähigen Architektur zu errichten. Häufig kommen dann Microservices oder Self-Contained Systems heraus. Henning ist Autor von "Domain Storytelling" (Addison-Wesley, 2022) und dem www.LeasingNinja.io sowie Übersetzer von "Domain-Driven Design kompakt" (dpunkt, 2017).
Mehr Inhalte dieses Speakers? Schaut doch mal bei sigs.de vorbei: https://www.sigs.de/experten/henning-schwentner/
Vortrag Teilen
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 Henning Schwentner und ich in den letzten Jahren beim Verbessern von Altsystemen entwickelt haben. Domain-Driven Transformation besteht aus vier Schritten, die uns von der Analyse des aktuellen Zustands zu einer fachlichen Vision der Architektur führen. Anhand des aktuellen Zustands bestimmen wir die Reihenfolge der Umbaumaßnahmen, um zügig und mit einem stets einsetzbaren System voranzukommen.
Zielpublikum: Architekten, Entwickler, Projektleiter, Manager
Voraussetzungen: Erfahrung mit Softwareentwicklung
Schwierigkeitsgrad: Advanced
Dr. Carola Lilienthal ist Geschäftsführerin bei der WPS – Workplace Solutions GmbH. Sie hat an der Universität Hamburg studiert und dort zum Thema „Komplexität von Softwarearchitekturen“ promoviert. Seit 2003 analysiert sie im Auftrag ihrer Kunden in ganz Deutschland regelmäßig die Zukunftsfähigkeit von Softwarearchitekturen und spricht auf Konferenzen über dieses Thema. 2015 hat sie ihre Erfahrungen aus über hundert Analysen in dem Buch „Langlebige Softwarearchitekturen“ zusammengefasst. Inzwischen ist das Buch auch auf Englisch verfügbar.
Mehr Inhalte dieses Speakers? Schaut doch mal bei sigs.de vorbei: https://www.sigs.de/experten/carola-lilienthal/
Vortrag Teilen
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 taxonomies that often result from naive application of DDD modeling techniques "close to the domain", and which require continual adjustments and extensions. The talk shows what "closure" is and how you can harness it in your project.
"Closure of operations" applies abstraction over rigid models. It avoids common problems of overabstraction through a systematic process and the use of simple mathematical principles. The talk will also cover these.
Target Audience: Developers, Architects
Prerequisites: Basic DDD
Level: Advanced
Dr. Michael Sperber ist Geschäftsführer der Active Group GmbH, die Individualsoftware ausschließlich mit funktionaler Programmierung entwickelt. Er ist international anerkannter Experte für funktionale Programmierung und wendet sie seit über 20 Jahren in Forschung, Lehre und industrieller Entwicklung an. Außerdem hat er zahlreiche Fachartikel und Bücher zum Thema verfasst. Michael Sperber ist Mitbegründer des Blogs funktionale-programmierung.de und Mitorganisator der Entwicklerkonferenz BOB.
Mehr Inhalte dieses Speakers? Schaut doch mal bei sigs.de vorbei: https://www.sigs.de/experten/michael-sperber/
Vortrag Teilen
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 Migration erfolgreich zu bestreiten. Wie kann ich Event Storming zum Finden von Modulgrenzen einsetzen? Wann und wie wende ich das Strangler Fig Pattern an? Wie teste ich einen Monolithen, wenn nicht mehr viel Wissen über Implementierungsdetails vorhanden ist? Diese und andere Fragen werden beantwortet.
Zielpublikum: Architekten, Entwickler, Projektleiter
Voraussetzungen: Erfahrungen mit monolithischer Legacy-Software
Schwierigkeitsgrad: Advanced
Arne Limburg ist Lead Architect bei der open knowledge GmbH in Oldenburg. Er verfügt über mehrjährige Erfahrung als Entwickler, Architekt, Trainer und Coach im Enterprise- und Microservices-Umfeld. Zu diesen Bereichen spricht er regelmäßig auf Konferenzen und führt Workshops durch. Darüber hinaus ist er im Open-Source-Bereich tätig, unter anderem als PMC Member von Apache OpenWebBeans und Apache DeltaSpike sowie als Urheber und Projektleiter von JPA Security.
Vortrag Teilen
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 will help you to fill the gap!
Working in ensembles, we will breeze through the creative process - from EventStorming to automated deployments using Infrastructure as Code - to highlight a good path through the cloud jungle, and give you a jump start into your journey to serverless.
Maximum number of participants: 16
Target Audience: Developers, Architects
Prerequisites: A solid programming experience is helpful
Level: Advanced
Tobias begann seine Karriere als freiberuflicher Webentwickler in den späten 90ern und hat seither an hunderten Projekten unterschiedlicher Größe und Dauer mitgewirkt – als einzelner Entwickler und mit mehreren Teams, von einigen Tagen bis zu mehreren Jahren – und in vielen unterschiedlichen Rollen: Consultant, Crafter, Coach, und ... nun ja, Architekt. Er ist ein starker Fürsprecher für Vielfalt und Inklusion in der Softwareindustrie und ein aktives Mitglied der europäischen Software-Crafting- und Domain-Driven-Design-Communitys.
Vortrag Teilen