Are you eager to create software that meets both user and stakeholder needs while achieving business goals? Do you want to design and architect software that remains adaptable and resilient as your business grows? Curious about how your team can take ownership of designing software for user needs? In this talk, I will introduce you to Domain-Driven Design (DDD) in simple terms, explaining what DDD is, when it’s useful, and when it’s not.
We’ll discuss the differences between tactical and strategic design and why balancing both is essential for staying adaptable. I'll provide examples to show why focusing only on tactical design, like writing code with aggregates, or only on strategic design, like context mapping and bounded context design, can cause issues. Instead, I’ll show that the key to successful software design is maintaining an ongoing dialogue with stakeholders like users and domain experts and collaborating on the design process. A valuable technique for this ongoing dialogue is collaborative modelling. In this meetup, I will demonstrate the collaborative modelling tool EventStorming and show you how it can help maintain that ongoing dialogue. You will leave understanding what DDD is and why collaborative software design is important for building adaptable and resilient software.