DDD Europe 2023 - Program

From Vision to Code: Functional Domain Modelling

DDD Foundations - Talk


Marco Emrich and Ferdinand Ade

Marco EmrichFerdinand Ade
Wednesday 7 from 16:15 until 17:05 in Red Room

Modern collaborative methods such as EventStorming help to bring together subject matter experts and developers. Domain Modeling goes one step further and enables joint work directly on the code. In this live coding event you can watch and even participate directly on a practical example.

Our PO brings along the results of an EventStorming. You will get a short overview so you can pretend that you have been involved during the storming. The PO will than explain the requirements to the developer/modelling expert who models the domain according to your suggestions.

The result will be a model of the domain using a type system. We will demonstrate this using TypeScript, but the same approach can be applied using any language with a suitable type system.

Even non-programmers, such as our product owner, will be able to verify the model and provide feedback directly to the developer. The final model, which provides a clear understanding of the invariants and behavior of the system, can be used directly to begin actual implementation by developers. This is the power of functional domain modeling!


knowledge about functional type system is helpful but not required

About Marco Emrich

Twitter LinkedIn Blog Company Website Sessionize

Marco is a Senior Consultant at codecentric. He is a passionate advocate of software craft and code quality. Marco lectures regularly at well-known conferences and is author of several programming books. When he is not organizing the Softwerkskammer Nuremberg (developer meetup), he is probably explaining to his son how to program robotic turtles.

About Ferdinand Ade

Twitter LinkedIn Company Website Sessionize

Ferdi is a Developer & Consultant at codecentric. He cares about software craft and quality and is a fan of pairing/ ensemble work to increase the odds. Ferdi is co-host of the Software Craft Leipzig Meetup and believes experiental hands-on sessions are the way to learn new skills and techniques.