Since my studies of Computational Linguistics at the University of Heidelberg, the concept of "language" always has been an important part of my engineering career. Hence the interest in the principles of Domain-Driven-Design just felt natural. During my career I have been working on the various loose ends of technology: infrastructure automation, back-end and front-end code, modelling, architecture, mobile development, test automation, system administration and teaching. I gathered experiences in the fields of Industrial Production, Travel, Insurance and E-Commerce. As a Software Architect @ FlixBus, currently my main interest lies in understanding the effects of organisation structures on emerging software architectures. And when I am not doing that, I am visiting art exhibitions, playing Basketball or cooking meals for our friends with my beloved wife.
As organisations and code-bases grow, so does the encoded knowledge and complexity. Mistakes are made, decisions that seemed right at the time turn out to be wrong later, boundaries between concepts are fuzzy at best and non-existent at worst.
All of this led to a hardly maintainable legacy system that we wanted to incrementally fix by applying the principles of Domain-Driven-Design. One of our key findings is that code is just a mere reflection of a much bigger problem: the people involved and their interactions.
This talk is a case study of our digital transformation towards independent, self-sufficient, and resilient teams that are driven by customer value.
It will explore the different perspectives and methodologies that are complementary to the strategic approach of DDD (i.e. Lean principles, Value Stream & User Story Mapping) which helped us uncover the real reasons behind some of the dead ends and turns we had taken on our journey.