Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing bounded context distillation #46

Open
Baasie opened this issue Jan 3, 2024 · 6 comments
Open

Missing bounded context distillation #46

Baasie opened this issue Jan 3, 2024 · 6 comments

Comments

@Baasie
Copy link
Member

Baasie commented Jan 3, 2024

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?

@NTCoding
Copy link
Member

NTCoding commented Jan 3, 2024

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)?

@Baasie
Copy link
Member Author

Baasie commented Jan 3, 2024

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

@NTCoding
Copy link
Member

NTCoding commented Jan 3, 2024 via email

@Baasie
Copy link
Member Author

Baasie commented Jan 3, 2024

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.

@NTCoding
Copy link
Member

NTCoding commented Jan 3, 2024 via email

@geovanneb
Copy link
Contributor

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants