ddd-crew / context-mapping

Creative Commons Attribution Share Alike 4.0 International
1.47k stars 125 forks source link

Strategic Design: how big is a domain and a bounded-context? #7

Closed denis-dbm-inactive closed 3 years ago

denis-dbm-inactive commented 3 years ago

How big is a domain? How big is a bounded-context?

Does a bounded-context belong to a (only one) team (squad in Spotify Model)? Can a domain small-sized to belong to a team? Or does it always represent a bigger thing (like an entire company and its business units* - or each business unit is a domain...)?

I am deep-diving in the DDD's world and I would like to hear some opinions about hierarchies (agg root, bounded context, domain, [after domain?]) and the right size (if that is possible).

*business unit in this context is a line of bussines attended by the company. Example: a bank (company) can offer stock services, core banking services or loans - each as a independent line of business.

Thanks

NTCoding commented 3 years ago

Hi @denis-dbm,

You'll probably get a lot of different answers to these questions because there are a variety of different interpretations and opinions out there. I recently wrote an article about domains and level of scale which you can find here (the article is my opinions and perspectives): https://medium.com/nick-tune-tech-strategy-blog/what-is-a-domain-99f658b22d7d. Tl;Dr: I use the Micro, Meso, Macro levels that sociologists use.

Cyrille Martraire actually has a great talk on this topic, where he goes all the way from large scale structure of organizations down to aggregates and even smaller. I can't find a link to it right now unfortunately.

The generally-accepted wisdom around bounded contexts is that each bounded context should be small enough in size and complexity that it can be managed by a single team. An aggregate should live within a bounded context, although the size can vary.

denis-dbm-inactive commented 3 years ago

Thank you @NTCoding

I've suspected about that, that is relative with many interpretations. Of course, I asked here to learn more, to get insights from a good source.

I will try to find Martraire's talk. After all, can you recommend more guides (or books) about domain decomposition strategies? Thanks again.

NTCoding commented 3 years ago

I managed to find Cyrille's talk. It's called domain-driven dependencies. This guy is so funny with all his "boom boom boom" (watch the talk and you'll see what I mean) https://vimeo.com/275529991. I think this talk includes a lot of content relevant to decomposition.

Vladik Khononov has some excellent talks on domain decomposition as well. Vladik makes it easier to find his talks because they are all listed on his website: https://vladikk.com/page/speaking/

I also like Ora Egozi's talks regarding decomposition. Her case study involves merging two companies and completely reshaping the boundaries via multiple iterations. Here is the slide deck: https://www.slideshare.net/OraEgoziBarzilai/mucon-2019-oops-i-ddd-it-again-and-again. I can't seem to find a video link.