'DDD Event storming alone

I'm trying to start my first DDD project but I have difficulty with choosing what should be aggregate and what bounded context. What is the way to define those. I read about event storming but I'm not sure if it is only for sharing knowledge and if it is a good idea to use it if I'm the only one in the project and I'm the domain expert.



Solution 1:[1]

One advantage of event storming and related techniques like event modeling is that it functions as a sort of "mob design" session involving domain experts, but that doesn't preclude doing it as a solo exercise, assuming that you know the problem domain.

The core of the technique is breaking down how state changes in the system, what triggers state changing in a particular way, and perhaps how that state change is visible to outside observers.

That said, it's often useful to have someone experienced in the technique and asking questions like "what happens when...", which can be easy to overlook when you are the domain expert and have a lot of tacit knowledge built up.

Solution 2:[2]

As simple as I can make it:

An aggregate is an object that represent entities and logic in a business model. It is in aggregates that you model data and domain logic. A good example might be Order

A bounded context is a grouping of aggregates by a common domain language and bounded by its dependency to other contexts that share data but use different languages. Good examples that might include an Order aggregate would be ProductSales and ProductFulfilment

Regarding Event Storming, the workshop itself is very useful for finding pivotal events where the boundaries between contexts become more clear, as the people in the room should be the people who represent the different languages in a business. I use it all the time. Some of the grammar can be difficult to get your head around, but when you do, it can very easily guide you to a good domain model. The use of Policies, Commands, Aggregates and Events can all be reflected in your code.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Levi Ramsey
Solution 2