This was DDD Europe 2025 (for me)

This edition of the DDD Europe was a kind of a restart at a new venue (and city) and with a new format: three conferences in three days. The complementary conferences (Event Centric and Data Mesh) felt like the natural step for a DDD conference, and I was excited to go to some of the sessions, but I failed. I did not have enough bandwidth for that.

I don’t know about you, but during such conferences, my brain is continuously receiving inputs and weaves them together so that it takes some time to have a “final” summary of the all the new things I learned, tools I saw, ideas I got corrected or thrown away as a result of the talks and the floor-conversations I had the opportunity to enjoy. What follows is my “braindump” shared with my colleagues after a few days as an answer to Nick Tune‘s question What are your biggest takeaways from DDD EU. What are the things we should start thinking about and learning now?

Gregor Hohpe‘s description of a platform (or what is not a platform)

The idea of building software that can do everything and requires only configuration is not valid for platforms; we need to forget that. A platform is not a framework, but an enabler.

Nobody can anticipate every use case. Platforms should not try to do that.

If you haven’t heard about any case when the teams used your platform in an anexpected way, you didn’t build a platform.

Gregor Hohpe – Platform Engineering is Domain-Driven Design


Platforms are like bearings: they must ensure that the “machine” runs smoothly without any intervention. (This is a key requirement of a bearing: one must not know about its existence during “runtime”.)

No requests for help to release, grant access, or assign permissions. Self-service is the key principle.

Before I became a software person, I studied mechanical engineering, specialised in trains. It is also not a surprise that Gregor’s advice regarding guardrails hit home.

Railways keep us on track. They ensure that we don’t derail. They are enabling constraints which help to travel fast and straight. Guardrails have a different job. They can’t tell us how to travel straight forward. They can’t stop us from going in circles and hitting them again and again.

The talk was not new, but I had never seen it before, so it was new to me. It contains a lot of other dos and don’ts too, so it is worth repeating until everyone building a platform “gets the message”. Here is a version from 2024: 

Cyrille Martraire’s advice to be unconventional when modelling

Who should present a talk called ‘Breaking Conventions for More Performant Models’ if not Cyrille Martraire, a very unconventional person himself? Afterwards, Cyrille called this talk “basic, common sense”. I would say, yes, it is, after you’ve made enough mistakes to improve your common sense. It was an excellent talk on how to avoid those mistakes.

I think that we all agree with this definition of what modelling means. The difference starts two minutes afterwards 😄. How much to simplify??

When talking about time in the hotel business, how many concepts of time do you have? And what kind of “time” models are those?

My take is that the time concept for a guest and the time concept of the cleaning personnel should not have much in common.

The tips of Cyrille didn’t stop here. Finding the right model is challenging because, if chosen well, it will not only solve a problem but also lead to new ideas.

 “Indexing” is a technical term. But wouldn’t you, as a user of a service for managing appointments, consider a view about “very soon, soon, later” much more helpful than an accurate but very noisy hour-by-hour list? The need to balance reports can lead to an improved user experience.

Alberto Brandolini‘s “fast-forward” towards a multi-model world

I always enjoy Alberto’s talks, and this one wasn’t an exception. The clarity, the necessary portion of irony and the conclusion at the end speak for themselves. 

What is a Bounded Context?

What happens if your product goes multi-country? Which characteristics remain as clear as described on the slide? Well … it depends.

This is the usual way, and it is a recipe for disaster. 

But it does not need to be.  

The final advice for everyone working on a long-lasting product: Maps & disciplined thinking, because words are just not enough.

Apropos, product development:

The rollercoaster called product development, or how Xin Yao and John Cutler call it: The Beautiful Mess 

What a combo! Xin, a software architect and DDD change agent, and John, a product expert with extraordinary visualisation skills, have shared the stage for an hour to show us the differences and the synergies of this industry in which we still talk about “the two sides”.

I can’t distil this talk because each slide is a gem, and each explanation should be heard from the speakers. I can share my favourite slide, though, because it shows my day-to-day work as a single picture.

Additionally …

… I brought back some old and new tips from these talks.

The tool: https://tryitwithann.com/ A tool for rapid prototyping AND automatic specification generation (as unit tests) for event-based systems, based on miro.

The talks which made our brains go in circles:

Barry O’Reilly’s Residuality Theory. Not new, but still a provocative and must-heard-about concept.

Dr. Jabe Bloom’s university-level talk ‘Through the Looking Glass: Applying Architecture Principles to Social Systems’ began with the history and analysis of Conway’s Law and concluded with the definition of socio-technical architecture.


 

This experience report feels probably unstructured, confusing, “a lot!”, and I won’t disagree. It is always “a lot” because we live in complex times and address complicated problems. However, learning about these things helps to stay in control as much as possible, and accepting the lack of control when necessary.

I will call it just like my friend Xin does: The DDD magic.

Xin Yao and John Cutler – Modelling Stories of the Beautiful Mess – DDD Europe 2025

KanDDDinsky 2022 Watch-List

This is the list of the sessions I watched, some with additional insights, others as a resource. All of them are recommended if the topic is interesting to you.

All sessions recorded during the conference can be viewed on the KanDDDinsky YouTube channel.

Keynote By Mathias Verraes about Design & Reality

Thought-provoking, like all talks I saw from Mathias.

Connascence: beyond Coupling and Cohesion (Marco Consolaro)

An interesting old concept regarding cohesion and good developer practices. Fun fact: I had never heard of Connascence before, but two times at this conference 😀.

Learn more about this from Jim Weirich’s “Grand Unified Theory of Software Design” (YouTube). It is a clear recommendation for programmers wanting to learn how to reduce cohesion.

Architect(ure) as Enabler of Organization’s Flow of Change (Eduardo da Silva)

The evolution of the rate of change in time

“The level and speed of innovation has exploded, but we still have old mental models when it comes to organisations” – Taylorism says hello 🙁

Evolution pattern depends on architectural and team maturity.

“There is no absolute wrong or right in the organisational model of the architecture owners; it is contextual and depends on the maturity.”

This talk is highly recommended if you work in or with big organisations.

Systems Thinking by combining Team Topologies with Context Maps (Michael Plöd)

A lot of overlapping between Team Topologies and DDD

💯 recommended! (The slides are on speakerdeck.)

Road-movie architectures – simplifying our IT landscapes (Uwe Friedrichsen)

There will always be multiple architectures.

“The architecture is designed for 80-20% of the teams, and it is ignored by 80-20% of them.”

The complexity trap

Uwe describes his concept-in-evolution of a desirable solution that could help avoid the different traps. They should be

  • collaborative and inclusive,
  • allowing to travel light with the architecture,
  • topical and flexible

The concept is fascinating, with a lot of good heuristics. A clear recommendation 👍

How to relate your OKRs to your technical real-estate (Marijn Huizenveld)

Common causes of failure with OKRs
Combine OKRs with Wardley Maps

The slides are on speakerdeck. Marijn is a great speaker; the talk is recommended if you work with OKRs.

Improving Your Model by Understanding the Persona Behind the User (Zsofia Herendi)

Salesforce study: 76% of customers expect companies to understand their needs and expectations.

😱 what about the rest of 24%?!! Do they not even expect to get what they need?

Zsofia gives a lot of good tips about visualising and understanding the personas.

Balancing Coupling in Software Design (Vladik Khononov)

Maths meet physics meet software development – yet again, a talk from Vladik, which must be seen more than once.

The function for calculating the pain due to cohesion.

By reducing one of these elements (strength, volatility, distance) to 0, the maintenance pain due to coupling can be reduced to (almost) 0. Now we know what we have to do 😁.

Culture – The Ultimate Context (Avraham Poupko)

Why does not have the DDD community any actual conflicts? Because our underlying concept is to collaborate – to discuss, challenge, decide, agree, commit (even if we disagree) and act.

 

This talk is so “beautiful” (I know, it is a curious thing to say), so overwhelming (because of this extraordinary speaker 💚), it would be a failure even to try to describe it! It is available, go and watch it if you want to understand the DDD community.


This list is just a list. It won’t give you any hints about the hallway conversations which happen everywhere, about the feeling of “coming home to meet friends!” which I got each year, and I won’t even try 🙂. 

DDD Europe 2022 Watch-List

I attend conferences and open spaces for more than 15 years but I can’t remember ever being keener to go to a conference than the DDD EU this year. But I still haven’t imagined that my list for “watch later”-videos will be almost as long as the number of talks – including the ones from the DDD Foundations (2 pre-conference days).

I was so full of expectations because I would be a speaker at an international conference for the first time and the opportunity to meet all those wonderful people who became friends in the last two years! (I won’t even try to list the names because I would surely miss a few). The most often repeated sentence on those five days wasn’t “Can you see my screen?” anymore but “Do you know that we never met before IRL?!” 🤗

This was only one of those great evenings meeting old friends and making new ones 🙂 (After two years of collaboration, the Virtual DDD organizers have finally met too!)

But now back to the lists:

Talks I haven’t seen but I should:

  1. DDD Foundations with clever people and interesting talks which should/could land in our ddd-crew repositories. (In general, the sessions are not too long, I will probably browse through all of them.)
  2. Main Conference

Talks to revisit

This list is not the list of “good talks”; I can’t remember being at any talk I wished I wouldn’t. But these here need to be seen and listened to more than once (at least I do).

Domain-Driven Design in ProductLand – Alberto Brandolini

Alberto speaking the truth about product development is exactly my kind of radical candour.

Independent Service Heuristics: a rapid, business-friendly approach to flow-oriented boundaries – Matthew Skelton and Nick Tune

The tweet tells it all: an essential new method in our toolbox

The Fractal Geometry of Software Design – Vladik Khononov

Mindblowing. I will probably have to re-watch this video a couple of times until I get my brain around all of the facets Valdik touches in his talk.

Sociotechnical Systems Design for the “Digital Coal Mines” – Trond Hjorteland

This talk is not something I haven’t understood – I understand it completely. I will still re-watch it because it contains historical and actual arguments and requirements for employers on how they have to re-think their organizational models.

This is the longest list of videos I have ever bookmarked (and published as a suggestion for you all). Still, it is how it is: the DDD-Eu 2022 was, in my opinion, the most mature conference I ever participated.

At the same time, there is always time for jokes when Mathias Verraes and Nick Tune are around (and we are around them, of course) 😃