# Domain-Driven Design: The First 15 Years

## Pitch

Fifteen years after the publication of "Domain-Driven Design: Tackling Complexity in the Heart of Software" by Eric Evans, DDD is gaining more adoption than ever.&#x20;

To celebrate the anniversary, we've asked ***prominent authors in the software design world to contribute old and new essays***.

![](/files/-MEXgzyXF0YYTDKcyDpb)

## Notes

A collaborative book sponsored by Domain-Driven Design Europe

### Discovering Bounded Context with Event Storming - Alberto Brandolini

#### Use pivotal events&#x20;

![](/files/-MEXhcSkAXFVg-umUtYE)

* “specific events which are particularly relevant for the business and mark a transition between different business phases.”&#x20;
* Candidate System boundaries

#### Heuristics&#x20;

* Look at the Business phases&#x20;
  * Follow the money&#x20;
* Look at the swimlanes&#x20;
  * Show different paths that involve different models&#x20;
* Look at the people on the paper roll&#x20;
  * “twist might happen when dealing with different personas”&#x20;
* Look at the body language&#x20;
* Listen to the actual language&#x20;
* Look at the humans in the room&#x20;
  * Different people are a great indicator of different needs which means different models

### &#x20;Domain modeling with Algebraic Data Types - Scott Wlaschin

In an algebraic type system, new types are built from smaller types in two ways” : AND types OR types

Guide to start FP for DDD

## Mind map

![](/files/-MEXiBAGkNGXfPi8IC0W)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://yoan-thirion.gitbook.io/knowledge-base/xtrem-reading/resources/book-notes/domain-driven-design-the-first-15-years.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
