Domain Driven Design (DDD) has a huge set of tools, which could be used to design your perfect architecture - loosely coupled and highly cohesive. Anastasiia has been using DDD for a few years and created her own way to design a new architecture for a product, a feature, redesign, refactoring and also for exploring existing products, their ecosystem and functionality.
In this workshop attendees will apply DDD to their own projects and will learn:
- how to start with Eventstorming to explore the user journey
- how to move forward and explore the ecosystem of the product/software/feature/service
- how to finalise a new architecture with C4 diagrams.
But despite all the attempts to create a new perfect architecture, it could be affected by the team and organisation structure. Conway’s Law says: “Any organisation that designs a system will produce a design whose structure is a copy of the organisation’s communication structure”.
Anastasiia experienced this so many times in different teams and organisations, that in the past few years she started applying Team Topologies together with DDD. This worked pretty well and as a bonus Anastasiia will go through the hidden icebergs of this approach as well.
Requirements
All the attendees are required to bring their laptops or pair up with someone who has one.
We will use Miro board to collaborate but optionally you can draw everything using pen and paper.
You can use your own project as an example, either an existing or a future application. In that case please spend some time thinking about its design before the workshop. We will redesign it together using DDD.
What do you need to know to enjoy this workshop
Python level
You can write basic scripts.
About the topic
No previous knowledge of the topic is required, basic concepts will be explained.