The first edition of DDD Europe took place in Belgium, during January 26th to the 29th. Thanks to Goodgame Studios, the five of us Gregor, Marco, Marius, Oliver and myself were able to attend the conference.
It was very interesting and we could bring some valuable thoughts to share with our workmates.
TLDR; Some nice insights to remember:
- Mimicking the real world is unrealistic.
- software development is a learning process
- working code is a side effect
- Expose the real problem
- Understanding the problem must be cheap
- A proper implementation is Value vs Cost
- The goal is not to write cool software. The goal is to solve the right problem
Day one
Here is the agenda;
Keynote
by Eric Evans
- Mimicking the real world is unrealistic.
- Maps were used for navigation
Eric showed an example of maps, which model a real thing: the world. While some maps distort the reality a bit (I.E. country sizes) they are easier to use when it comes to discerning the distance between two points in the map than the ‘accurate’ models.
While the technology has progressed a lot since then, the book and techniques are still relevant today. Even more so! The tools are so much better than
- This allows developers to spend relatively less time on fighting with heavyweight J2EE or ORM frameworks, and relatively more time on domain modeling.
The Charming Genius of the Apollo Guidance Computer
by Brian L. Troutwine
Hands-on: Bringing User Stories to Life
by Gemma Cameron
How Agile Can Cripple Effective Design Work (and what to do about it)
by Paul Rayner
Arm yourself with Domain Driven Security. It’s time to slay some security trolls…
by Dan Bergh Johnsson & Daniel Deogun
A Board Game Night with Geeks
by Felienne Hermans
The Precision Blade
by Alberto Brandolini
- “you can’t achieve simplicity without diving into chaos, just like putting all your clothes on the floor to sort them out.”
- software development is a learning process
- working code is a side effect
- Event storming
- Invite the right people
- people with questions
- people with answers
- a facilitator
- Invite the right people
- provide an unlimited modeling surface
- model with domain events
Domain Event is:
- Orange sticky note
- verb at past tense
- relevant for domain experts
Goals:
Solving the right problem?
In the core domain details make a difference
- Creative
- Always looking for alternatives
- Continuously refining solutions
- Perfectionist
Can we succeed?
-
Make the risk observable
- Understanding the problem must be cheap
- A proper implementation is Value vs Cost
- The goal is not to write cool software. The goal is to solve the right problem
Open Space: Bounded Contexts: The Illustrated Bestiary
by Cyrille Martraire
Hands-on: Jef & Tom’s Awesome Modellathon
by Tom Janssens & Jef Claes
Hands-on: OWASP application security vulnerabilities and what Domain-Driven Security has to say about it
by Dan Bergh Johnsson & Daniel Deogun
Amongst Models
by Yves Reynhout
Cognitive Cynefin: How Language and Bias Keep Us Complicated
by Liz Keogh
Day two
Here is the agenda;
Heuristics from the trenches
by Cyrille Martraire
Software Design and the Physics of Software
by Carlo Pescio
Hands-on: Integrating DDD, BDD and UXD
by Paul Rayner
In my opinion this was the most interesting one. We used several techniques of investigating the problem.
The proto-persona approach helped us to put ourselves into “Bob”’s shoes. It helped us to sympathize and to care about his problems.
To be continued
Evil by Design
by Jef Claes
oDDs & enDs
by Vaughn Vernon
Event Sourcing and Stream Processing at Scale
by Martin Kleppmann
Slides available here
Enjoy Yourself Because You Can’t Change Anything Anyway: Immutable Data in the Real World
by Kelsey Gilmore-Innis
Hands-on: Projections Explained
by Yves Reynhout
Hands-on: EventStorming
by Alberto Brandolini
Hands-on: Your business is under attack - a conceptual tour of Domain Driven Security state of the art
by Dan Bergh Johnsson & Daniel Deogun
Symmetry in Design
by Jim Coplien
A Decade of DDD, CQRS, Event Sourcing
by Greg Young
Some resources and cool insights about the conference
- Vincent Verhoeven’s notes about the conference, where some thoughts were stolen from.
- Event sourcing and Stream processing at scale
- Arm yourself with Domain Driven Security
- Cynefin for developers
- The precision blade
- How agile can Cripple effective design work
- The Charming Genius of the Apollo Guidance Computer
- A board game night with geeks
- Evil by design
- Bringing user stories to life
- Tom and Jefs awesome modellathon
- DDD Security
- Introducing event storming
- Event Storming storytelling visualisations
- Event storming recipes
- Projections explained
- Amongst models