Design Level EventStorming

The value of EventStorming is the active engagement that you achieve with the Domain Experts. In this case Nick and the Team are actively engaged in learning as much as they can, as quickly as possible about Nick’s Domain: A Roast-to-Order Coffee Business.

But what do we do with this Artifact after we’re done with getting the Big Picture of the Domain? How is this progressing towards the Team writing code and developing a prototype? This is where Nick and the Team have another EventStorming Session known as the Design Level EventStorming.

Most of the same rules apply in the Design Level EventStorming, however our outcomes change. We’re looking to start viewing the system in a way that’s more close to Tactical Domain-Driven Design. Our legend changes (diagram borrowed from Alberto Brandolini’s book Introducing EventStorming):

Brandolini describes two options for starting the Design Level session:

In Nick and Team’s case, they’ll start from scratch because they are designing this system from scratch and expect the design surface to grow significantly. In a scenario where the Big Picture Session was geared toward a brownfield development project, they might choose to work on the existing model.

Bounded Contexts

The team begins to make an attempt to unify the Big Picture Artifact into a view of the Domain that they can build a Domain Model in code for.

The first thing they want to do is better identify Bounded Contexts based on their discussions and the visual separation they see in the Big Picture Artifact.

They decide to start drawing lines to group their Domain Events separate Subdomains:

They come up with 6 Bounded Contexts:

With these preliminary Bounded Contexts mapped, Nick and the Team can identify what is Core…

Competitive Advantage

Greg Young suggests using Agile Estimation to help identify what is Core and what teams should actually be applying Domain-Driven Design to versus just CRUD or 3rd Party. On one side, there is the Competitive Advantage that a Bounded Context brings to your business. On the other side, there is the Complexity/Cost that is associated with implementing software to manage the Bounded Context

Bounded Context Competitive Advantage Complexity/Cost
Green Bean Inventory
Roast Planning
Roast Execution
Order Fulfillment
Coffee Sales
User Management

See this article for more on Agile Estimation. Greg Young suggests to use the scoring system that your team uses. We’ll say that the Team uses T-Shirt sizing (the scoring system Greg uses in his DDD/CQRS training).

Nick and Team start asking what each Bounded Context contributes to his business’s Competitive Advantage.

Team: How much does managing Green Bean Inventory contribute to your business’s Competitive Advantage?

Nick: I’d say a Medium. I can always manage my Inventory by hand, it’s not Core to my business’s Competitive Advantage, everyone has to manage their Inventory somehow.

Team: How much does Roast Planning contribute to your business’s Competitive Advantage?

Nick: Large. What sets me apart is that I’m going to be transparent with the Customer about the roasted coffee that they’re buying. They’ll know how much I’m roasting every day and only be able to buy the coffee that has my complete focus through the process.

Team: How much does Roast Execution contribute to your business’s Competitive Advantage?

Nick: I’d say a Large.

Team: How much does Order Fulfillment contribute to your business’s Competitive Advantage?

Nick: Small, I’m just getting off the ground. If I don’t have automation in this context, I can make up for it manually until it really starts to bog me down.

Team: How much does Coffee Sales contribute to your business’s Competitive Advantage?

Nick: Large

Team: How much does User Management contribute to your business’s Competitive Advantage?

Nick: Medium

Here’s what they come up with after some more discussion:

Bounded Context Competitive Advantage Complexity/Cost
Green Bean Inventory M
Roast Planning L
Roast Execution L
Order Fulfillment S
Coffee Sales L
User Management M

They can now proceed in trying to compare the perceived complexity around solving Nick’s business problems through software automation…

continue reading…


I will be releasing most of this content only to subscribers. Make sure you sign up by clicking the big red button!

Related Posts:

comments powered by Disqus