So I got this question from one of the developers in my team: What is domain driven design? I could of course point to the book from Evans but is that actually an answer?
How would you explain DDD in a few sentences to junior software engineers in your team?
I would say this practice promotes concentrating your efforts on the ‘problem space’ rather than the ‘solution space’. Driving an emergent solution (the design) by studying and really getting to know and understand the domain. One of the practices (taken from XP) would be the writing of stories that occur in the problem domain. From these you can identify your use cases and objects for your design. They ’emerge’ and tell you what needs to be in the solution, and how they will need to interact with each other.