Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A Journey into Strategic Domain Driven Design

A Journey into Strategic Domain Driven Design

One of the most relevant topics about Domain-driven Design is how to apply the strategic patterns to create organisational and technical designs aligned with the core domain of the company and maximize efficiency of the teams and infrastructure. The purpose of this talk is to show the journey of GetYourGuide in applying those strategic patterns to the travel industry in the marketplace business world.

Avatar for Leandro Lages

Leandro Lages

October 17, 2018

Other Decks in Technology

Transcript

  1. Problem and Solution Space - Ubiquitous Language - Domain Model

    - Domain and Subdomains - Bounded Contexts - Context Mapping
  2. Problem and Solution Space Problem Space Ubiquitous Language Bounded Context

    B Bounded Context A1 Context Map Solution Space Domain Subdomain A Subdomain B Bounded Context A2
  3. Patterns - Tactical Patterns - Entities - Value Objects -

    Repositories - Factories - Strategic Patterns - Focus on organization structure and technical aspects
  4. Patterns - Tactical Patterns - Entities - Value Objects -

    Repositories - Factories - Strategic Patterns - Focus on organization structure and technical aspects
  5. Conformist - The upstream cannot collaborate with the Downstream context

    - Usually third-party/external suppliers but not limited to. - Usually used if the anti corruption layer is expensive to implement
  6. Separate Ways - No relation at all - New model

    is built - Usually through manual steps or accessing other UIs - Start point on experimentation teams
  7. Partnerships - Two teams work together to achieve a common

    context - There is no upstream / downstream relation between them - It’s created to use/maintain a shared kernel
  8. 25 We’re the world’s largest marketplace for travel activities v

    Connecting travelers… …to suppliers around the world
  9. Current Scenario: Tour Model Aggregate Context: German User - ID:

    10 - Name: Munich Walking Tour - Languages: - English - date: 2018-10-17 - qty: 0 - German - date: 2018-10-17 - qty: 0 - Spanish - date: 2018-10-17 - qty: 7
  10. Current Scenario: Tour Model Aggregate Context: German User - ID:

    10 - Name: Munich Walking Tour - Languages: - English - date: 2018-10-17 - qty: 0 - German - date: 2018-10-17 - qty: 0 - Spanish - date: 2018-10-17 - qty: 7
  11. Fulfillment Improve customer experience at the day of conduction, including

    the GetYourGuide app. Discovery Search & recommendations Travelers (apps) Consumer apps. This team is also likely to work on fulfillment in the coming quarter. Supply Tools & Catalog Supplier portal and tools catalog Travelers (web) Consumer website Supply Platform & Connectivity Partner integrations and core supply services Supply Travelers FinTech Payments & financial systems Marketplace Analysts Shared Analytics Marketplace Operations
  12. Availability Context Search Context Target Scenario: Search as a Service

    Tour Availability Model Tour Model U D Monolith App ACL
  13. Current Scenario: Tour Model Aggregate Context: German User - ID:

    10 - Name: Munich Walking Tour - Languages: - English - German - Available at: - 2018-10-17 - 2018-10-18
  14. The strategic importance of Context Maps - Retaining Integrity -

    The Basis for a Plan of Attack - Understanding Ownership and Responsibility - Revealing Areas of Confusion in Business Work Flow - Identifying Nontechnical Obstacles - Encourages Good Communication - Helps On‐Board New Starters