Using Domain Driven Design as part of your Enterprise Architecture strategy is in general a good idea. Especially companies who transfer from a primarily monolith based landscape to a cloud native and hybrid cloud native based architecture can benefit from using a Domain Driven Design.
One of the prime “building blocks” of using a Domain Driven Design is ensuring you use the model of Bounded Context in the right way. You can use a bounded context to “isolate” a business functionality or business capability and ensure that everything within the bounded context can work in isolation and is not having a hard dependency on services within another Bounded Context.
Define the Bounded Contexts
Business analysis, enterprise architects and all people involved in defining an Enterprise Architecture will at one point in time question if they have defined the bounded contexts in the correct way. The same applies for the question on how to get started with defining the bounded contexts in an enterprise.
One of the most effective ways is to start by understanding the business model, understanding then organisation structure that is mapped upon the business model and defining a enterprise wide capabilities map. Even though capabilities mapping is not originally born in the Enterprise Architecture world it is now fully accepted as a very useful way of defining the enterprise.
The below image shows a capabilities mapping with 4 levels of capabilities, the example shows the hierarchy drill-down into “logistics management” and downwards.
Taking first the approach of understanding the business model and understanding then organisation structure while defining business capabilities while doing this and not focussing on any technical implementation currently in place will provide the best starting point for defining the Bounded Contexts for your Enterprise Architecture.
When the enterprise has been mapped and visualized in capabilities hierarchy the exercise of consolidating duplicate capabilities found in the wider enterprise could be the first exercise in mapping capabilities to required systems and required subsystem.