Before we begin . . .

Take a minute and jot down your answers to the following questions on the provided post-its:

  • What is the problem your business solves?

  • What is the main problem facing your business?

Applying Domain Driven Design
to Your Business

@ie_ddd

@barryosull

@daraghoshea

https://www.dddireland.org

https://barryosull.com

https://www.daraghoshea.com

  1. Key Concepts
  2. Exploring your Sub-Domains
  3. Drawing Domain Maps
  4. Networking
  5. Conclusion

HANDS-ON SESSION STRUCTURE

"Give me six hours to chop down a tree and I will spend the first four sharpening the axe."
- Abraham Lincoln

Weeks of coding can saves you hours of planning

What is a domain?

Define/Discover your Constraints

Types of Sub Domain

Core:

The heart of your business

 

The unique problem

 

€€€€€

Supporting:

Support
functionality

 

Ancillary 

Problems
 

€€€

Generic:

Facilitates the business

 

Common Problems

 

Domain: Running a Travel Agency

We want to create and sell trips to customers

 

SubDomain: Booking

 Trips needs to be booked

SubDomain: Searching

The best deal combination must be found for the customer criteria.

SubDomain:  Finance

 The business has to make money

SubDomain: Reporting

  How is the business doing. Are we selling enough trips?

SubDomain: Invoicing    

Customers need to be invoiced and make payments

SubDomain: TripBuilding

 Trips need to be built quickly

Domains and Sub Domains

We'll divide the room into two groups.
Each group will have sub groups with three to four people.

 

Exercise: (15mins)

  • Discuss your domains as a sub-group
  • Take one or more of the domains and split it into sub domains
  • Try to categorise the sub domains

EXPLORING YOUR
SUB DOMAINS

Domain Map

TripBuilding

Booking

Auth

Invoicing

Searching

Reporting

HR

Core

Supporting

Generic

Drawing your domain maps

Split into the same groups

 

Exercise: 

  • Each sub-group will model their domain map on the whiteboard using their post-its
  • The other sub-groups will ask questions and explore the domain map collaboratively

Conclusions

Revisit your post-its from earlier

Would you answer these questions differently now?

  • What is the problem your business solves?

  • What is the main problem facing your business?

Next meetup

Event storming

We'll choose one domain/sub-domain and model it together using event storming

Applying DDD to your Business

By Barry O' Sullivan

Applying DDD to your Business

  • 1,185