I’ve seen the benefits of DDD principles for the past 10 years
- Create a Ubiquitous Language
- Make the Implicit Explicit
- Keep Searching For Better Models.
DDD will be a better DDD if DDD applies DDD to DDD (lifetime achievement!)
Landscape and the Wardley Cycle is a much more useful model IMO. It is more explicit, deeper, and has a nice UL. And it’s the model I’ll be using until I find a better one.
An example of a challenge I face when trying to apply DDD to real projects in organisations new to DDD:
“Bounded Context” sounds esoteric and puts people off, especially non-devs. If we could start by calling things domains or subdomains uptake would be much greater (we can bring bounded contexts in gradually). I know this because a lot of companies I work with already call areas of the business domains even though they don’t do DDD (similar to the Uber definition).
Another challenge is levels of abstraction. Bounded Contexts provide 1 level of abstraction, they aren’t hierarchical. But some stakeholders don’t want to know the progress in the 100s of bounded contexts, they want an update in the 7 main areas of the company. A hierarchical concept is needed, like business capabilities. (Sub)domains fit nicely.
Thank you :)