Reflections on DDD Europe 2019

No Comments

This year I visited the DDD Europe conference in Amsterdam. It was my first visit to any DDD conference, and I was happily surprised with the diversity of subjects and also the diversity of the audience. Gender, technical affiliation, business affiliation were more equally present than at every other conference in IT I have visited. codecentric co-sponsored this year’s edition, and I was especially proud of my colleague Tobias Goeschel who gave a hands-on session ‘Exploring your Design with Domain Prototyping’ for which I unfortunately did not make the waiting list.

codecentric sponsored DDD europe

In this blog I want to share my highlights and insights of DDD Europe 2019.

Pay attention to the ontological modal

Eric Evans was keynote speaker, which was a nice experience to finally see the author of one of the most famous books in our field. I did a hands-on modeling workshop with Marijn Huizendveld, and a key takeaway from both Marijn’s and Eric’s talk for me was to pay more attention to the ontological model. I take alignment with the business incredibly seriously, however I found that my approach to this was to start modeling in an early stage. In the past two days I had the opportunity to calibrate and share my ‘way of working’ with the DDD community. It showed me there is merit in holding off on (formalized) modeling a bit longer – to take the time to use lateral thinking to expand (or discover) the ontological model a bit better. So when you eventually get to more formalized modeling techniques (like event storming), you will have an improved understanding of the domain. I will definitely try this out by adding an ontology discovery part in my modeling workshops. My expectation is that it will improve my facilitation effectiveness for the remainder of the modeling workshop.

Eventstorming, eventstorming, eventstorming!

There is no doubt. Eventstorming has become popular. It was a dominant topic on the first day of the main conference. There were numerous opportunities to engage in modeling workshops and a lot of lessons from the industry were shared. A lot of speakers referenced Microservices and DevOps culture as the main drivers for the increase in popularity. That is certainly an area where I have witnessed the success of eventstorming myself.

Learn how to organize teams from product designers

Dave West spoke about ‘Spatial and Ontological Dimension of Conway’s Law’, in other words, the context where software development takes place and the effect of our physical surroundings as well as the organizational contexts on the output of the teams. Dave was both entertaining and insightful. He puts the advances of our industry like on the topic of software development processes in perspective, by sharing history lessons, and evaluating industry progressions over the past 40 years. The key takeaway was that we can learn from the product design community to respect Conway’s Law in building a proper environment for productive and successful software development. In the design community people have learned to adjust their context to support their creative and creating process. Something that West visualized by showing a ‘lab-like’ environment.

Mitch Altman

Mitch Altman [CC BY-SA 2.0 (https://creativecommons.org/licenses/by-sa/2.0)], via Wikimedia Commons

It’s nice to see West trying to nudge the industry out of their physical and organizational cubicles. We have seen transitions to open plan offices reflecting a physical change (and have learned that this is no silver bullet either. 😉 We have seen organizational change towards smaller autonomous DevOps teams. I think we have started to embrace Conway’s theory. I see it being referenced in an increasing numbers. Yet I still think that we are only at the early days of knowing how to really deal with this. However we don’t know enough on how to really design the proper environment to work in. I hope we will build up a body of knowledge on this subject this decade.

Recognize and influence system I and System II thinking

Evelyn van Kelle did a very nice interdisciplinary talk about ‘Socio-technical DDD – Essential social heuristics’. Having studied economics (a small side-step in the past), and being an avid reader of philosophy, mechanics, and business literature, I really love it when people cross the boundaries of a field. Evelyn took us on a journey coming from a social science background and how it affects our daily work. I especially loved the part about Daniel Kahneman’s work ‘Thinking Fast and Slow’. She showed that we are wired to rely on our System I (fast, instinctive and emotional) in our daily lives. This might cause us to agree too easily with blogs, literature, and others when we are making important decisions. And we will likely think we thought it through. Instead we should actually push ourselves to make System II (low, logical, calculating, conscious) decisions when we do things that matter, like selecting an architecture pattern.  

Architects should refocus towards complexity thinking

It’s hard to do Barry O’Reilly’s excellent talk about antifragility and architecture justice. The subject of antifragility is something I weekly engage in. It captures my imagination and I made it a vehicle to rethink what we are doing. Barry talked about the future of the role of architects. Our software landscape has evolved beyond services to ‘complex responsive’. We have transitioned from complicated systems to complex systems and our practices should evolve as well. Antifragility can be a vehicle that guides our efforts to handle an increasingly complex software context. I especially like the hopeful part about non-linear system responsiveness which in practice will mean that whenever you are able to cope with a complex use case, you will likely be able to cope with many use cases altogether.

There were many more interesting talks, but these five made my week! The conference is interesting for every software developer, beginners or experts, working in corporate IT. I had a really nice time, thanks for the talks and interactions.

Kevin van Ingen

Kevin has a background in software engineering, economics and information science. After working as a development freelancer and teacher he returned to apply a broad multidisciplinary perspective to development projects.

Comment

Your email address will not be published. Required fields are marked *