Domain-Driven design 

 study group kick off


Implementing Domain-Driven Design

Vaughn Vernon

DOMAIN-DRIVEN DESIGN

what is all about?

  • isn't first and foremost about technology
  • discussion, listening, understanding, discovery and business value
  • modelling the application to closely match business requirements
  • development team and domain experts involvement to produce a Ubiquitous Language



DOMAIN Experts

who are they?


  • is not a job title
  • people who know the line of business we are working in
  • they can be found among product designers, salespeople, supervisors, etc
  • DOMAIN EXPERTS

    collaboration mode


  • find them. Listen. Learn. Design in code
  • put them on the same ground with us (development team)
  • there should be 0 translations between domain experts, software development and the software
  • Ubiquitous language

    what it is?

  • is a team language
  • it is created by everyone on the project team (domain experts, developers, business analysts, etc.)
  • domain experts will influenced it through industry standards
  • centered on how the business itself thinks and operates
  • the software team contributes with own jargon
  • ubiquitous, but not universal (not enterprise-wide)
  • benefits


  • may help domain experts solving different visions of the business model
  • brings software developers to open discussions where differences in terms and meaning are put in the open
  • the language helps build the software architecture (strategic and tactical design)
  • the architecture is transparent to domain experts through technical jargon 
  • by sharing a common knowledge, it reduces "tribal knowledge' of the system
  • better user experience and less user training
  • DOMAIN MODEL

    what it is?

  • a software model of the very specific business domain we are working on
  • a small, well focus on a part of the business
  • usually implemented as an object model (data and behavior)

  • bounded context

    what it is?
  • conceptual boundary where a domain model is applicable
  • provides the context for the Ubiquitous Language
  • part of strategic design
  • has it's own Ubiquitous Language
  • helps adds true business value
  • business value

    when using DDD

  • the organization gains a reusable model of i'ts domain
  • a higher level of understanding of business
  • domain experts contribute to software design
  • better user experience
  • architecture is better organized
  • agile, iterative, continuous modeling is used
  • new tools, both strategic and tactical, are employed
  • Made with Slides.com