I have genuinely enjoyed Kandddinsky 2022 conference. It was energizing to see old friends, meet new ones, and “exercise my brain” with so many interesting perspectives and ideas, which will surely inspire different activities in the near future.

In this post, I share the slide deck of my talk and some highlights from several talks I attended.

My talk - Architect(ure) as Enabler of Organization’s Sustainable Flow of Change

Below is the video and slide deck of my talk entitled “Architect(ure) as Enabler of Organization’s Flow of Change”. My goal with this talk is to start making more explicit and visible how we can position and evolve architecture practices (and, if/when necessary, the architect’s role) in organizations. Furthermore, how can we evolve “architect(ure)” to achieve a more sustainable flow of change (i.e., the ability to continuously respond to one’s customer and environment). I started by motivating “why is this so important” for modern tech-enabled organizations. Then shared common approaches to architecture (what I call “architecture topologies”), which we tend to be very “localized”, per team. However, we must embrace that organizations are networks of teams who need to interact to build the best outcome. So, I finalize the talk by sharing how to approach that and some “topologies” and evolution strategies to mature how we can approach architecture in our organizations.

If this topic interests you, stay tuned: I will publish a “companion article” here on my website which goes deeper. I will also be updating the “architecture topologies” GitHub repo with the updated insights of this talk and article.

I am providing consulting services on different topics, including this one. For example, give this talk in organizations (as a way to inspire and frame more common mental mode) and then help start and establish the journey of understanding, adopting, and navigating how to better approach architecture (and other aspects) to achieve a more sustainable flow of change. Check esilva.net/consulting for more details, and feel free to ping me for more information.

If you want to check a one-page sketch of my talk, check out this fantastic sketch by Cosima Laube (thank you so much, Cosima!).

Kandddisnky 2022 - some highlights

This was my first time at Kandddinsky, and I had a great time. Thanks to the organizers for putting together such a great program and event. I am sure I will be returning to this conference.

The conference has a general focus on Domain-Driven Design (DDD). However - like DDD Europe, I was surprised to see many adjacent and highly relevant topics in the different talks and workshops. In the following, I share some notes/insights and tweet threads I wrote during the session (as a way to keep track of the key highlights for “future self” and share the incredible insights popping up in the sessions).

Opening Keynote: Design and Reality, Mathias Verraes

Mathias did a great keynote on motivating us to “expand” our ways of approaching design. We can do that by including more learning from reality and the solutions we are building and involving the people (that traditionally work isolated) in all those phases. Furthermore, iterate on this… play with designs, experiment, and learn.

Architecture for Flow with Wardley Mapping, DDD, and Team Topologies, Susanne Kaiser

Susanne shared how we can approach the building and evolving of our sociotechnical systems for a fast flow of change with a more precise and informed strategy. I have seen Susanne talking about this topic before, but she is constantly weaving new elements and insights. She articulates using Wardley Mapping, DDD, and Team Topologies. It was a genuinely insightful talk, and I look forward to Susanne’s book (which you can pre-order here).

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

Michael is a great speaker and constantly pushes the boundaries to improve how we build better and more software and teams around them. In this talk, he focused on a topic very dear to me: how to understand better, discuss and design sociotechnical systems interactions. In particular, how to use Team Topologies to start talking and shaping those and then use DDD Context Map patterns to dig into deeper conversations around interactions/dependencies. This is a great combo and mechanism for deeper discussions on this crucial topic. It allows us to detect possible issues and strategize how to approach those.

Thriving in complexity, Trond Hjorteland

Trond inspired us to look deeper into the need to embrace that we work on complex open sociotechnical systems. This is not an optional consideration; it is a fact (proven by several academic and industry experiments). We can choose to ignore it and suffer from continuing with the same old and sub-par models or start embracing it and working with it. Trond keeps on improving his articulation of this topic. I genuinely respect and appreciate his perspective and am truly thankful for his commitment to helping us understand and move this topic forward. I had the opportunity to discuss with him in the hallway on the need to invest in shaping ways to “unlock” this embracement. It is not trivial, but I firmly believe this topic is key to achieving the next levels of ability as tech-enabled organizations. They are essential to enable the sorts of “traits” I shared in my talk, particularly those that allow organizations to achieve a more “sustainable flow of change”. Apart from all of this, it was great meeting Trond again; he is a great thinker and human!

Road-movie architectures - simplifying our IT landscapes, Uwe Friedrichsen

Uwe did a “deep dive” into fundamental properties we should start embracing (more) regarding software systems architectures. The basic idea was to use those properties to overcome the fallacy that architecture has an “end state” (or target state). That is an illusion and tends to lead to poor decisions. He was motivated to adopt a “continuous and evolving approach” to architecture. I strongly agree with Uwe and highly appreciated this session - many actionable recommendations and benchmarks.

Start with DDD when you have a monolith, Javiera Laso

Javiera shared a lot of learnings and patterns to approach “breaking a monolith” using DDD. It is great seeing people sharing first-hand experiences leveraging different ideas and techniques to modernize software applications and organizational design. Considering the organizational design aspect is key to me. It is a crucial aspect to find good sociotechnical boundaries. Some top lessons: discover and understand before start changing and develop; DDD is not a silver Bullet; focus on understanding the domain; visualize possible options for migration and use that to prioritize (e.g., effort and value).

How to relate your OKRs to your technical real estate, Marijn Huizendveld

Marijn shared a very interesting perspective on combining OKRs (Objective and Key Results) and Wardley Mapping to shape more transparent, explicit, and actionable strategies. For example, this allows us to articulate business and technical strategies in a single picture, make assumptions explicit and “questionable”; shape a shared understanding and language. He shared first-hand experiences with applying these ideas and his learnings.

Improving Your Model by Understanding the Persona Behind the User, Zsófia Herendi

Zsófia managed to articulate a clear message with keen storytelling (using her uncle’s challenges of using a product) to motivate the need for us to understand the “persona behind the user” on our designs and systems. I loved this talk and learned a lot of concrete tools and methods to bring into my activities. Building products requires understanding the “who” behind the users… the deeper we go, the more we can shape our product and unlock what sometimes are “hidden opportunities.”

Balancing Coupling in Software Design, Vladik Khononov

Vlad is someone with deep knowledge of DDD and Software Design. His talk touched on a topic that tends to be somewhat misinterpreted in our industry, which tends to “avoid coupling”. His point was that we need coupling; coupling is part of nature and is everywhere. For a system to exist, coupling must exist if there is no coupling, we don’t have a meaningful system. We need to accept and learn to design coupled systems. We need to “minimize the pains of coupling” but not avoid it. He shared many exciting and actionable things for us to approach.

Closing Keynote: Culture - The Ultimate Context, Avraham Poupko

Avraham’s closing keynote was something special. First, listening to Avraham energizes you, even after two intensive conference days. Second, the depth of his thinking is impressive, which means that we learned a lot in the last hour of the conference. He showed how powerful language can be. It enables communication and cooperation. However, these only thrive when a shared and constructive culture exists. This meaningful culture brings the ultimate context for those cooperations. We should be more mindful when approaching our activities of designing and building our organizations.

…so much more

There were so many other interesting talks and workshops I have not managed to take notes on or attend. Please check kandddinsky.de or more details and the videos of the talks (check them on Kandddinsky’s Youtube channel).

Thank you to the organizers for making this an excellent experience and a safe learning environment. I truly appreciated that. See you next year.