DDD Europe 2027 - Martin Fowler and Eric Evans on thirty years of collaboration, and what AI changes

Blog

Martin Fowler and Eric Evans on thirty years of collaboration, and what AI changes

Martin Fowler and Eric Evans on thirty years of collaboration, and what AI changes

Posted on 2026-09-28 - 4 minute read

At DDD Europe 2026, Martin Fowler and Eric Evans sat down together for a rare joint conversation, tracing their collaboration back to 1995 and working through to the question everyone in the room actually wanted answered: what does AI mean for how we design software?

Key takeaways

Bounded context is the concept that scaled ubiquitous language. Fowler said the most important idea he took from Evans's work was bounded context, and how contexts relate to each other through patterns like conformist and anti-corruption layer. Evans agreed that ubiquitous language is the foundation of Domain-Driven Design, but only bounded context made it workable at scale.

Some ideas never got picked up the way they deserved. Evans pointed to Fowler's analysis patterns as a category of generalisable models the community never fully explored. Fowler, in turn, said Domain-Driven Design itself should be far more central to software practice than it is.

Unpredictability is the only safe prediction. Both drew a direct line from the internet era to today's AI moment. Nobody could foresee how deeply asynchronous programming would reshape software thinking, just as nobody can foresee exactly how AI will reshape it now. Fowler's advice: expect a bubble, expect casualties, and don't try to predict who survives.

Focus on what AI can actually do today, not on speculation about AGI. Evans described himself as a sceptic, but a thoroughgoing one, sceptical even of his own scepticism. His practical response is to stay grounded in current capability rather than timelines nobody can know. Fowler's version of the same advice: look at what would have amazed someone in 2021, and build from there.

Ubiquitous language matters more, not less, in an AI world. Fowler argued that working effectively with an LLM requires the same disciplined shared language that Domain-Driven Design has always demanded, both with the model and with domain experts. Evans linked this to a colleague's idea of "growing a language" for the LLM, echoing Guy Steele's classic talk on the same theme.

Every LLM output needs validation, because LLMs aren't deterministic functions. Evans described wrapping every LLM step in his conference keynote pipeline with strict output validation. Fowler connected this to his colleague Birgitta Böckeler's work on harness engineering: guides that shape what goes into the process, and sensors that check what comes out, ideally computational rather than inferential wherever possible, because computational checks are cheaper and more reliable.

Writing clearly is becoming a core engineering skill, not a soft one. Fowler was blunt: if you offload your writing to an LLM, you lose the process of organising your own thinking, and the result is usually less clear than it looks. Evans agreed, adding that he now writes more design documents than before, because they directly shape the code an agent produces.

Reviewing code was always most of the work. Fowler made the point that even when writing code entirely by hand, developers spend far more time reading and revising than typing. That constant cycle of review doesn't disappear with an agent doing the typing; it may barely change at all.

Verification and testing become more important, not less. Both agreed that a strong test suite and clear verification mechanisms matter more as agents take on more of the implementation, because passing tests are what let a team trust a change it didn't write by hand.

The one thing to try next

Asked for a single takeaway, Evans returned to fundamentals: the real bottleneck in software has always been communication between developers and domain experts, and AI at best just moves that bottleneck around. Get to know your domain experts and your users.

Fowler's answer was to sharpen your writing. Practise explaining things clearly in prose, because that skill now shapes how well you can direct an agent, not just how well you communicate with colleagues. And, only half joking, treat your AI agent kindly. Just in case.

What participants said:

Amazing to be able to see two legends of our field live. If anything, we could have used more time with them on stage.

Great insights throughout. It's given me things to think about, especially using ubiquitous language more carefully when working with LLMs.

Great speakers, and I loved that it felt unprepared and genuine. There are real takeaways here that I'll carry forward into how we think about AI and DDD.

Watch this video on YouTube