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
- Key Concepts
- Exploring your Sub-Domains
- Drawing Domain Maps
- Networking
- 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