designing a serverless application with domain driven
play

Designing a Serverless Application with Domain Driven Design - PowerPoint PPT Presentation

Designing a Serverless Application with Domain Driven Design Susanne Kaiser Independent Tech Consultant @suksr Costs of Poor Software Quality in the US in 2018 (by CISQ report ) $2,840,000,000,000 TWOTRILLIONEIGHTHUNDREDFOURTYBILLION USD


  1. Designing a Serverless Application with Domain Driven Design Susanne Kaiser Independent Tech Consultant @suksr

  2. Costs of Poor Software Quality in the US in 2018 (by CISQ report ) $2,840,000,000,000 TWOTRILLIONEIGHTHUNDREDFOURTYBILLION USD @suksr Source: https://www.it-cisq.org/the-cost-of-poor-quality-software-in-the-us-a-2018-report

  3. Areas of Cost Relating To Poor Software Quality @suksr Source: https://www.it-cisq.org/the-cost-of-poor-quality-software-in-the-us-a-2018-report

  4. Some Indicators for Poor Software Quality (extracted from CISQ report ) Defects t Increasing defect trend Lack of domain High amount of effort to knowledge Large inheritance depth understand piece of code 0% Low test coverage Communication and High degree of class Badly engineered coordination breakdowns coupling Cyclomatic complexity software in (large) teams @suksr Based on: https://www.it-cisq.org/the-cost-of-poor-quality-software-in-the-us-a-2018-report

  5. Domain Driven Design (DDD) Needs Business Domain Strategy Software Design @suksr

  6. Domain Driven Design (DDD) – Terminology Problem Space Strategic Design Solution Space Tactical Design Bounded Context Core Subdomain Ubiquitous Language Supporting Subdomain Generic Subdomain Domain Model Entity Context Maps Value Object Anti-Corruption Layer Aggregate Shared Kernel Repository Open Host Service Factory Separate Ways Application Service Partnership Domain Service Customer-Supplier Domain Event Conformist @suksr

  7. DDD & Wardley Maps Uncharted Industrialised e l b i s i V Value Chain n o i t i s o e P l b Evolution i Movement s i v n I Commodity Genesis Custom-Built Product (+rental) (+utility) @suksr

  8. Wardley Maps BY SIMON WARDLEY Uncharted Industrialised e l b i s i V Visualisation of a value chain’s Value Chain evolution n o i t i s o P e Movement l b i s i v n I Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution @suksr

  9. Wardley Maps – VALUE CHAIN Who are your users? e l b i s i V Value Chain e l b i s i v n I @suksr

  10. Wardley Maps – VALUE CHAIN Who are your users? e l b i s i V What are your users’ needs? Value Chain e l b i s i v n I @suksr

  11. Wardley Maps – VALUE CHAIN Who are your users? e l b i s i V What are your users’ needs? Value Chain What are the components/activities to fulfill your users’ needs incl. dependencies? n o i t i s o P e l b i s i v n I @suksr

  12. Wardley Maps – LANDSCAPE e l b i s i V Components along evolution axes Value Chain n o i t i s o P e Movement l b i s i v n I Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution @suksr

  13. Wardley Maps – PATTERNS Demand Competition Supply Competition Uncharted Industrialised e Everything evolves l b i s i V Value Chain Past Current Future e Movement l b i s i v n I Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution @suksr

  14. Wardley Maps – PATTERNS Characteristics change Uncharted Industrialised e l b i s i V Undefined market Forming market Growing market Mature market Uncertain Learning on use Learning on operation Known / accepted Unpredictable Increasing understanding Increasing education Stable Value Chain Rare Slowly increasing Rapidly increasing Widespread and stabilising consumption consumption Poorly understood Rapid increases in Rapid increase in use Commonly understood learning (in term of use) Past Current Future e l b Movement i s i v n I Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution @suksr

  15. Wardley Maps – PRINCIPLES Build in-house Use/buy off-the-shelf product Outsource to utility suppliers e l b i s i V Use appropriate methods per evolution stage Value Chain e l b i s i v n I Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution @suksr

  16. Wardley Maps – PRINCIPLES Build in-house Use/buy off-the-shelf product Outsource to utility suppliers e l b i s i V Use appropriate methods per evolution stage Value Chain e l b i s i v n I Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution @suksr

  17. Wardley Maps – PRINCIPLES Build in-house Use/buy off-the-shelf product Outsource to utility suppliers e l b i s i V Use appropriate methods per evolution stage Value Chain e l b i s i v n I Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution @suksr

  18. Wardley Maps – PRINCIPLES Build in-house / Agile Use/buy off-the-shelf product / Lean Outsource to utility suppliers / Six Sigma e l b i s i V Know your users & focus on user needs Value Chain e l b i s i v n I Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution @suksr

  19. DDD & Wardley Maps Problem Domain Collaboration Domain Development Experts Teams e l b i s i V Domain Knowledge Understanding the problem domain first Value Chain Ubiquitous Language e l b i s i v n I Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution @suksr

  20. DDD & Wardley Maps Problem Domain DDD Patterns & Practices e Strategic Design Tactical Design l b i s i V Value Chain e l b i s i v n I Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution @suksr

  21. DDD & Wardley Maps Problem Domain DDD Patterns & Practices e Strategic Design Tactical Design l b i s i V Decomposing Analysing the into modular business components Value Chain domain (Bounded Contexts) Discovering Mapping Subdomains interaction Problem Space patterns between BC (Context Maps) e l Solution Space b i s i v n I Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution @suksr

  22. DDD & Wardley Maps Problem Domain DDD Patterns & Practices e Strategic Design Tactical Design l b i s i V Architecting a solution Decomposing Analysing the fitting the problem into modular business domain as closely as components Value Chain domain possible (Bounded Contexts (BC) Provides Discovering building blocks Mapping Subdomains to implement interaction Problem Space domain model patterns between BC Solution Space (Context Maps) e l Solution Space b i s i v n I Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution @suksr

  23. DDD & Wardley Maps STRATEGIC DESIGN (PROBLEM SPACE) Problem Domain Supporting Distilling the problem e Subdomain c a domain & discovering the p S Core m Generic core subdomain e l b Subdomain o e Subdomain l r b P i s i V Value Chain e l b i s i v n I Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution @suksr

  24. DDD & Wardley Maps STRATEGIC DESIGN (PROBLEM SPACE) Problem Domain Supporting Distilling the problem e Subdomain c a domain & discovering the p S Core m Generic core subdomain e l b Subdomain o e Subdomain l r b P i s i V Competitive advantage Value Chain Complex Changes often Build in-house e l b i s i v n I Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution @suksr

  25. DDD & Wardley Maps STRATEGIC DESIGN (PROBLEM SPACE) Problem Domain Supporting Distilling the problem e Subdomain c a domain & discovering the p S Core m Generic core subdomain e l b Subdomain o e Subdomain l r b P i s i V Competitive advantage No competitive advantage Value Chain Complex Quite simple Changes often Does not change often Build in-house Prefer to buy/use off-the-shelf e l b i s i v n I Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution @suksr

  26. DDD & Wardley Maps STRATEGIC DESIGN (PROBLEM SPACE) Problem Domain Supporting Distilling the problem e Subdomain c a domain & discovering the p S Core m Generic core subdomain e l b Subdomain o e Subdomain l r b P i s i V Competitive advantage No competitive advantage No competitive advantage Value Chain Complex Quite simple Generally complex Changes often Does not change often Does not change often Build in-house Prefer to buy/use off-the-shelf Buy/use off-the-shelf / outsource e l b i s i v n I Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution @suksr

  27. DDD & Wardley Maps Model Driven Design STRATEGIC DESIGN (SOLUTION SPACE) Problem Domain Supporting e Subdomain c a p abstracted by S Core m Generic e l b Subdomain o Domain Model e Subdomain l r b P i s i V e c a Analysis Ubiquitous Code p S n Model Language Model o i t u l o Value Chain S Development Domain Teams Experts e l b i s i v n I Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution @suksr

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend