Workshop: Applying Domain-Driven Design, take two

Fifteen years ago I started writing the book “Applying Domain-Driven Design and Patterns”. Since then I have learned *a lot* and I decided it was time to create a new workshop to share that deeper understanding with you. :)

Why a workshop about Domain-Driven Design?

More and more developers and architects realize that learning every detail of a new API just isn't the way to deliver the best business value.

One way of taking a big leap in the right direction is to learn and apply domain driven design. It is definitely not abstract and fluffy; it deals a lot with the code also. DDD leads us to focus on understanding and to communicate that understanding very well; in language, in design and in code. You will shift your focus away from designing for a technology, and you will learn to design for the business domain; to the core of the problems and solutions. Those are the most interesting parts and what your users and customers really care about.

What will you learn?

We start with a close look at the value of adopting a ubiquitous domain language, how it influences everything from conversation right down to code. You will learn to discover boundaries that shape your conceptual understanding of a large problem space, how to translate conceptual understanding into a meaningful design, and how to build software that crosses those boundaries. Day 1 is all about using DDD for design in the large.

The second day kicks off with a conversation between domain expert and a developer. You learn to use collaborative domain modeling to focus conversations onto only that which is relevant. We then show you how to apply for example value objects to create really supple designs. We pull it all together by focusing on representing your model in code.

Workshop style?

The workshop will contain some theory parts, but the focus will be on hands on exercises in collaboration as well as on discussions. You need to bring a computer with your favorite development environment, including a test framework.

You will use Test-Driven Development (TDD) as a tool for learning DDD and you will learn what a great pair those too make!

During the two days, we will not aiming for covering everything, rather the focus will be on some key concepts to give you a solid ground. After that you will be able to get started and to really benefit immediately and evolve further from there.

Should you attend?

This workshop is for software professionals that want to take the fast track towards advanced and expert levels in their careers.

Take this workshop if you want to:

  • learn more than just another syntax and set of tools,
  • write software for large, long living systems,
  • to increase the quality and maintainability of your design,
  • design high quality models
  • use code to represent models effectively,
  • develop applications with a sound architecture,
  • add a design edge to your skill set.