Missing bounded context distillation
Baasie opened this issue · 6 comments
I was going through the process again, and when we get to connect we start talking about subdomains, and then doing domain message flow modelling we use Bounded Context but never about distilling/decomposing bounded contexts. Only decompose subdomains.
Then at Organise we introduce context mapping and teams. But no explicit steps in distilling bounded context right?
Should we add that during decompose? Make it more clear? Alberto in his book talks about decompose/distill into emerging bounded context. What do you think?
I believe that in Alberto's book he doesn't talk about subdomains and skips straight to bounded contexts? Are you proposing that here or do you mean add an extra step to distill subdomains into bounded contexts (after decompose)?
Alberto mentioned he goes straight to emerging bounded context, which is also the concept I use at this stage.
I would propose adding it to decompose, and rename it to decompose & Distill.
IMO we decompose subdomains, and distill emerging bounded contexts
Ah we are close to jumping rabbit holes :D....
The problem however IC is that in domain message flow modelling bounded contexts is mentioned and not subdomains. And the litarature out there makes the distinction between the two, which there is. I find it important to teach, but I might not use it during workshops because they have both seperate purposes in my honest opinion.
Now I agree that the focus during Collaborative modellings should not be on the dogmatic. And it is all about the concepts of grouping and taking ownership and responsbiliy so we agree there.
However problems might not be noticible, but there might be confusion because of the ambiguity when people read this and the litarature. So your proposal of highlighting it would be a good first step. And perhaps then see if we need to go further.
Firstly, I want to highlight that we have been using this practical approach, introduced by the DDD team, for over a year now, and it has proven very useful!
With that said, I agree with some team members that adding a clear explanation of domains, subdomains, and bounded contexts at the beginning of this guideline would be good.
Consistently using these terms throughout the guideline would also make it easier to follow.
Based on my research, the definition that I liked the most is that "domain" and "subdomain" can be used interchangeably. When we say "subdomain," we are usually highlighting that this domain is a part of a larger, higher-level domain. However, the concept of a "subdomain" isn’t standardized across organizations, and I believe that’s where much of the confusion comes from.
That is the reason why I don’t think "bounded context" and "subdomain" can be used interchangeably.
Unlike subdomains, this "bounded-context" is well-defined in DDD, so it’s something everyone in DDD can understand consistently.
Therefore, I think this DDD approach should focus on "bounded context" which is the clear physical and logical boundary we aim to define with DDD.
Domain, Subdomain: Not standard across organizations, no consensus, therefore cannot compare.
Bounded-Context: Very well defined in DDD