O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Building Adaptive Systems with Wardley Mapping, Domain-Driven Design, and Team Topologies

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio

Confira estes a seguir

1 de 91 Anúncio

Building Adaptive Systems with Wardley Mapping, Domain-Driven Design, and Team Topologies

Baixar para ler offline

In a world of rapid changes and increasing uncertainties, organizations have to continuously adapt and evolve to remain competitive and excel in the market.

In such a dynamic business landscape organizations need to design for adaptability. Designing for adaptability requires understanding the landscape organizations are operating in, identifying patterns of change, applying principles for organizational fitness, and making mindful strategic decisions to adapt to change.

Organizations need to aim for building systems and team organizations aligned to the business needs and business strategy and evolving them for adaptability to new changes and unknown environments.

This talk brings different perspectives and techniques together from business strategy (Wardley Mapping), software architecture and design (Domain-Driven Design), and team organization (Team Topologies) as a powerful toolset to design, build and evolve adaptive systems and team structures for a fast flow of change.

In a world of rapid changes and increasing uncertainties, organizations have to continuously adapt and evolve to remain competitive and excel in the market.

In such a dynamic business landscape organizations need to design for adaptability. Designing for adaptability requires understanding the landscape organizations are operating in, identifying patterns of change, applying principles for organizational fitness, and making mindful strategic decisions to adapt to change.

Organizations need to aim for building systems and team organizations aligned to the business needs and business strategy and evolving them for adaptability to new changes and unknown environments.

This talk brings different perspectives and techniques together from business strategy (Wardley Mapping), software architecture and design (Domain-Driven Design), and team organization (Team Topologies) as a powerful toolset to design, build and evolve adaptive systems and team structures for a fast flow of change.

Anúncio
Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Semelhante a Building Adaptive Systems with Wardley Mapping, Domain-Driven Design, and Team Topologies (20)

Anúncio

Mais recentes (20)

Building Adaptive Systems with Wardley Mapping, Domain-Driven Design, and Team Topologies

  1. 1. Building Adaptive Systems for a Fast Flow of Change Susanne Kaiser Independent Tech Consultant @suksr
  2. 2. Your local optimization Problem with Local Optimization @suksr
  3. 3. “A system is more than the sum of its parts, it’s a product of their interactions.” * “Until managers take into accout the systemic nature of their organizations, most of their efforts to improve their performance are doomed to failure.” * *) Dr. Russell Ackoff Your system Your local optimization
  4. 4. Challenges of Building Systems Building the right thing Building the thing right How aligned is our solution to business / user needs? Have we understood the problem? Do we share the same common understanding? How efficient are our engineering practices? How easy and fast can we change and adapt? How fast can we deliver changes? Effectiveness Efficiency “Doing the wrong thing right is not nearly as good as doing the right thing wrong” Dr. Russell Ackoff @suksr
  5. 5. Business-Strategy Software-Design/ -Architecture Team-Organization w/ Wardley Mapping w/ Domain-Driven Design w/ Team Topologies @suksr 3 Perspectives to Build Adaptive Systems
  6. 6. Purpose Landscape Climate Doctrine Leadership The Strategy Cycle “The strategy cycle is a representation of change and how we need to react to it.” Simon Wardley @suksr Business Strategy w/ Wardley Mapping
  7. 7. Purpose Landscape Climate Doctrine Leadership Our Why @suksr the Why of the business Why should the customer choose us? The Strategy Cycle of Wardley Mapping
  8. 8. Purpose Landscape Climate Doctrine Leadership Our Why A map of the competitive environment @suksr Wardley Map The Strategy Cycle of Wardley Mapping
  9. 9. Value Chain Invisible Visible Evaluate Manage Organizer Build & Publish Communicate Signup/Signin Speaker Submit @suksr Schedule Session CfP Submission w/ Speakers Wardley Map – Example Identify users Identify user needs 1 2 Landscape
  10. 10. Value Chain Invisible Visible Evaluate Manage Organizer Build & Publish Communicate Signup/Signin Speaker Submit @suksr Schedule Session CfP Submission w/ Speakers Compute Platform VM Message Broker Search Engine Data Storage Conference Event Planner Wardley Map – Example Determine dependencies and position of the components in the value chain Identify users Identify components fulfilling user needs Identify user needs 1 2 3 4 3 Landscape
  11. 11. Determine dependencies and position of the components in the value chain Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Evaluate Manage Organizer Build & Publish Communicate Signup/Signin Speaker Submit @suksr Schedule Session CfP Submission w/ Speakers Compute Platform VM Message Broker Search Engine Data Storage Conference Event Planner Determine stage of evolution for every component 5 Wardley Map – Example Identify users Identify components fulfilling user needs Identify user needs 1 2 3 4 3 Landscape
  12. 12. Purpose Landscape Climate Doctrine Leadership Our Why A map of the competitive environment External forces impacting the landscape @suksr The Strategy Cycle of Wardley Mapping
  13. 13. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Everything evolves Past Current Future Supply Competition Demand Competition Movement @suksr Climate The Climatic Patterns (extract)
  14. 14. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Past Current Future Characteristics change Uncharted Undefined market Uncertain Unpredictable Rare Poorly understood Chaotic Forming market Learning on use Increasing understanding Slowly increasing consumption Rapid increases in learning Domain of experts Growing market Learning on operation Increasing education Rapidly increasing consumption Rapid increase in use Increasing expectation of use Mature market Known / accepted Stable Widespread and stabilising Commonly understood Ordered Industrialised Movement @suksr Climate The Climatic Patterns (extract)
  15. 15. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Efficiency enables innovation Uncharted Industrialised Climate @suksr The Climatic Patterns (extract)
  16. 16. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Efficiency enables innovation Uncharted Industrialised Climate @suksr The Climatic Patterns (extract)
  17. 17. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Efficiency enables innovation Uncharted Industrialised Climate @suksr The Climatic Patterns (extract)
  18. 18. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Efficiency enables innovation Uncharted Industrialised Climate @suksr The Climatic Patterns (extract) Higher order systems create new source of value
  19. 19. 2005 2017 @suksr Example: Nokia Climate
  20. 20. 2005 2017 @suksr Example: Nokia Climate
  21. 21. Nokia N-Series Apple iPhone 2005 2007 @suksr Climate
  22. 22. Full transition to Smartphones Past success breeds inertia Inertia can kill an organisation Success of old cell phones Competitors’ actions will change the game Increasing importance of software @suksr Competitors’ Actions and Inertia to Change Climate
  23. 23. Climate “Understanding climatic patterns is important when anticipating change.” - Simon Wardley Climatic patterns give you an idea what can change and where to invest Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Evaluate Manage Organizer Build & Publish Communicate Signup/Signin Speaker Submit Schedule Session CfP Submission w/ Speakers Compute Platform VM Message Broker Search Engine Data Storage Conference Event Planner Cloud-hosted Services Serverless Points of potential change / where to invest? Everything evolves through supply and demand competition Understanding Climatic Patterns @suksr
  24. 24. Climate “Understanding climatic patterns is important when anticipating change.” - Simon Wardley Climatic patterns give you an idea what can change and where to invest Value Chain Invisible Visible Custom-Built Product (+rental) Commodity (+utility) Evolution Evaluate Manage Organizer Build & Publish Communicate Signup/Signin Speaker Submit Schedule Session CfP Submission w/ Speakers Compute Platform VM Message Broker Search Engine Data Storage Conference Event Planner Cloud-hosted Services Serverless Attendee Rate Session Points of potential change / where to invest? + Efficiency + Efficiency + Worth Everything evolves through supply and demand competition Efficiency enables innovation Higher order systems create new source of value Understanding Climatic Patterns Genesis @suksr
  25. 25. Climate “Understanding climatic patterns is important when anticipating change.” - Simon Wardley Climatic patterns give you an idea what can change and where to invest Value Chain Invisible Visible Custom-Built Product (+rental) Commodity (+utility) Evolution Evaluate Manage Organizer Build & Publish Communicate Signup/Signin Speaker Submit Schedule Session CfP Submission w/ Speakers Compute Platform VM Message Broker Search Engine Data Storage Conference Event Planner Cloud-hosted Services Serverless Attendee Rate Session Points of potential change / where to invest? + Inertia + Efficiency + Efficiency + Inertia + Worth Everything evolves through supply and demand competition Success breeds inertia Efficiency enables innovation Higher order systems create new source of value Understanding Climatic Patterns Genesis @suksr
  26. 26. Purpose Landscape Climate Doctrine Leadership Our Why A map of the competitive environment External forces impacting the landscape Universal principles applicable regardless of landscape @suksr The Strategy Cycle of Wardley Mapping
  27. 27. Value Chain Invisible Visible Custom-Built Product (+rental) Commodity (+utility) Evolution Evaluate Manage Organizer Build & Publish Communicate Signup/Signin Speaker Submit Schedule Session CfP Submission w/ Speakers Compute Platform VM Message Broker Search Engine Data Storage Conference Event Planner Cloud-hosted Services Serverless Attendee Rate Session + Inertia + Efficiency + Efficiency + Worth Rating Know your users Applying Doctrinal Principles Genesis @suksr Doctrine
  28. 28. Value Chain Invisible Visible Custom-Built Product (+rental) Commodity (+utility) Evolution Evaluate Manage Organizer Build & Publish Communicate Signup/Signin Speaker Submit Schedule Session CfP Submission w/ Speakers Compute Platform VM Message Broker Search Engine Data Storage Conference Event Planner Cloud-hosted Services Serverless Attendee Rate Session + Inertia + Efficiency + Efficiency + Worth Rating Know your users Applying Doctrinal Principles Focus on user needs Genesis @suksr Doctrine
  29. 29. Value Chain Invisible Visible Custom-Built Product (+rental) Commodity (+utility) Evolution Evaluate Manage Organizer Build & Publish Communicate Signup/Signin Speaker Submit Schedule Session CfP Submission w/ Speakers Compute Platform VM Message Broker Search Engine Data Storage Conference Event Planner Cloud-hosted Services Serverless Attendee Rate Session + Inertia + Efficiency + Efficiency + Worth Rating Know your users Know the details Applying Doctrinal Principles Focus on user needs Genesis @suksr Doctrine
  30. 30. Value Chain Invisible Visible Custom-Built Product (+rental) Commodity (+utility) Evolution Evaluate Manage Organizer Build & Publish Communicate Signup/Signin Speaker Submit Schedule Session CfP Submission w/ Speakers Compute Platform VM Message Broker Search Engine Data Storage Conference Event Planner Cloud-hosted Services Serverless Attendee Rate Session + Inertia + Efficiency + Efficiency + Worth Rating Know your users Know the details Applying Doctrinal Principles Focus on user needs Use a common language Challenge assumptions Genesis @suksr
  31. 31. Value Chain Invisible Visible Custom-Built Product (+rental) Commodity (+utility) Evolution Evaluate Manage Organizer Build & Publish Communicate Signup/Signin Speaker Submit Schedule Session CfP Submission w/ Speakers Compute Platform VM Message Broker Search Engine Data Storage Conference Event Planner Cloud-hosted Services Serverless Attendee Rate Session + Inertia + Efficiency + Efficiency + Worth Rating Use a common language Focus on user needs Know your users Challenge assumptions Know the details Applying Doctrinal Principles Agile Use appropriate methods Build in-house Genesis @suksr
  32. 32. Value Chain Invisible Visible Custom-Built Product (+rental) Commodity (+utility) Evolution Evaluate Manage Organizer Build & Publish Communicate Signup/Signin Speaker Submit Schedule Session CfP Submission w/ Speakers Compute Platform VM Message Broker Search Engine Data Storage Conference Event Planner Cloud-hosted Services Serverless Attendee Rate Session + Inertia + Efficiency + Efficiency + Worth Rating Use a common language Focus on user needs Know your users Challenge assumptions Know the details Applying Doctrinal Principles Build in-house Use/buy off-the-shelf product Lean Agile Use appropriate methods Genesis @suksr
  33. 33. Value Chain Invisible Visible Custom-Built Product (+rental) Commodity (+utility) Evolution Evaluate Manage Organizer Build & Publish Communicate Signup/Signin Speaker Submit Schedule Session CfP Submission w/ Speakers Compute Platform VM Message Broker Search Engine Data Storage Conference Event Planner Cloud-hosted Services Serverless Attendee Rate Session + Inertia + Efficiency + Efficiency + Worth Rating Use a common language Focus on user needs Know your users Challenge assumptions Know the details Applying Doctrinal Principles Build in-house Use/buy off-the-shelf product Outsource to utility suppliers Lean Agile Six Sigma Use appropriate methods Genesis @suksr
  34. 34. Value Chain Invisible Visible Custom-Built Product (+rental) Commodity (+utility) Evolution Evaluate Manage Organizer Build & Publish Communicate Signup/Signin Speaker Submit Schedule Session CfP Submission w/ Speakers Compute Platform VM Message Broker Search Engine Data Storage Conference Event Planner Cloud-hosted Services Serverless Attendee Rate Session + Inertia + Efficiency + Efficiency + Worth Build in-house / Agile Use/buy off-the-shelf product / Lean Outsource to utility suppliers / Six Sigma Rating Use a common language Focus on user needs Know your users Challenge assumptions Use appropriate methods Think small. Break landscape into smaller components/ contracts Know the details Applying Doctrinal Principles Genesis @suksr
  35. 35. Value Chain Invisible Visible Custom-Built Product (+rental) Commodity (+utility) Evolution Evaluate Manage Organizer Build & Publish Communicate Signup/Signin Speaker Submit Schedule Session CfP Submission w/ Speakers Compute Platform VM Message Broker Search Engine Data Storage Conference Event Planner Cloud-hosted Services Serverless Attendee Rate Session + Inertia + Efficiency + Efficiency + Worth Rating Use a common language Focus on user needs Know your users Challenge assumptions Think small. Break landscape into smaller components/ contracts Know the details Applying Doctrinal Principles Team 1 Team 2 Team 3 Use small teams Provide purpose, mastery, autonomy Optimize flow Genesis Build in-house / Agile Use/buy off-the-shelf product / Lean Outsource to utility suppliers / Six Sigma Use appropriate methods @suksr
  36. 36. Value Chain Invisible Visible Custom-Built Product (+rental) Commodity (+utility) Evolution Evaluate Manage Organizer Build & Publish Communicate Signup/Signin Speaker Submit Schedule Session CfP Submission w/ Speakers Compute Platform VM Message Broker Search Engine Data Storage Conference Event Planner Cloud-hosted Services Serverless Attendee Rate Session + Inertia + Efficiency + Efficiency + Worth Rating Use a common language Focus on user needs Know your users Challenge assumptions Think small. Break landscape into smaller components/ contracts Know the details Applying Doctrinal Principles Team 1 Team 2 Team 3 Use small teams Provide purpose, mastery, autonomy Optimize flow Design for constant evolution Genesis Build in-house / Agile Use/buy off-the-shelf product / Lean Outsource to utility suppliers / Six Sigma Use appropriate methods @suksr
  37. 37. Design for constant evolution Doctrine Applying Doctrinal Principles @suksr
  38. 38. Purpose Landscape Climate Doctrine Leadership Our Why A map of the competitive environment External forces impacting the landscape Universal applicable principles regardless of landscape Context dependent strategic decisions @suksr The Strategy Cycle of Wardley Mapping
  39. 39. Purpose Landscape Climate Doctrine Leadership Our Why A map of the competitive environment Universal applicable principles regardless of landscape External forces impacting the landscape Context dependent strategic decisions Understanding the Why of our business 1 Understanding the landscape we are operating in visualized by a Wardley Map 2 Being able to anticipate some forms of change due to climatic patterns 3 Understanding basic universal doctrine that helps to structure an organization for adapting flow of change 4 Learning context specific forms of gameplay which are the heart of strategy 5 Then we will be ready to act ... 6 @suksr
  40. 40. Business-Strategy Software-Design/ -Architecture Team-Organization w/ Wardley Maps w/ Domain-Driven Design w/ Team Topologies @suksr 3 Perspectives to Build Adaptive Systems
  41. 41. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Evaluate Manage Organizer Build & Publish Communicate Signup/Signin Speaker Submit @suksr Schedule Session CfP Submission w/ Speakers Compute Platform VM Message Broker Search Engine Data Storage Conference Event Planner Design for constant evolution Doctrine
  42. 42. Business Domain Needs Strategy Software Design @suksr Domain-Driven Design (DDD)
  43. 43. Business Domain Needs Strategy Software Design @suksr Doctrine Domain-Driven Design (DDD)
  44. 44. Ubiquitous Language Domain Knowledge Understanding the problem domain first before solving it Problem Domain Domain Experts Development Teams Collaboration @suksr Domain-Driven Design (DDD)
  45. 45. Analyse & Discover Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Distilling the problem domain & discovering the core subdomain Core Domain Problem Domain Strategic Design (Problem Space) Supporting Subdomain Generic Subdomain @suksr Problem Space Strategic Design DDD & Wardley Map DDD & Wardley Map
  46. 46. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Distilling the problem domain & discovering the core subdomain Problem Domain Competitive advantage Complex Changes often Build in-house @suksr Analyse & Discover Problem Space Strategic Design Build in-house Use/buy off-the-shelf product Outsource to utility suppliers Core Domain Problem Domain Supporting Subdomain Generic Subdomain Strategic Design (Problem Space) DDD & Wardley Map
  47. 47. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Distilling the problem domain & discovering the core subdomain Competitive advantage Complex Changes often Build in-house No competitive advantage Quite simple Does not change often Prefer to buy/use off-the-shelf @suksr Analyse & Discover Problem Space Strategic Design Build in-house Use/buy off-the-shelf product Outsource to utility suppliers Core Subdomain Supporting Subdomain Generic Subdomain Problem Domain Strategic Design (Problem Space) DDD & Wardley Map
  48. 48. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Distilling the problem domain & discovering the core subdomain Problem Domain Competitive advantage Complex Changes often Build in-house No competitive advantage Quite simple Does not change often Prefer to buy/use off-the-shelf No competitive advantage Generally complex Does not change often Buy/use off-the-shelf / outsource @suksr Analyse & Discover Problem Space Strategic Design Build in-house Use/buy off-the-shelf product Outsource to utility suppliers Core Domain Supporting Subdomain Generic Subdomain Strategic Design (Problem Space) DDD & Wardley Map
  49. 49. Decompose & Map Analyse & Discover Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Development Teams Domain Experts Ubiquitous Language Analysis Model Code Model Domain Model Problem Domain abstracted by @suksr Problem Space Solution Space Strategic Design Core Domain Supporting Subdomain Generic Subdomain Domain Models
  50. 50. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Boundary Types Problem Domain Linguistic consistency boundary Ownership boundary Physical boundary Different architectural and business logic implementation patterns per context possible @suksr Decompose & Map Analyse & Discover Problem Space Strategic Design Solution Space Supporting Subdomain Generic Subdomain Core Domain A model cannot exist without a boundary A bounded context defines where a single domain model can be applied A bounded context forms a unit of mastery, purpose, autonomy Bounded Contexts
  51. 51. Doctrine Challenge assumptions Know the details Use a common language Ubiquitous Language Domain Knowledge Domain Experts Development Teams Collaboration Gaining domain knowledge @suksr Strategic DDD & Doctrine
  52. 52. Doctrine Challenge assumptions Know the details Use a common language Ubiquitous Language Domain Knowledge Domain Experts Development Teams Collaboration Gaining domain knowledge Focus on high situational awareness Core Domain Discovering the core domain @suksr Strategic DDD & Doctrine
  53. 53. Doctrine Challenge assumptions Know the details Use a common language Think small (as in contracts) Ubiquitous Language Domain Knowledge Domain Experts Development Teams Collaboration Gaining domain knowledge Focus on high situational awareness Core Domain Discovering the core domain Decomposing into modular components (Bounded Contexts) @suksr Provide purpose, mastery, and autonomy Strategic DDD & Doctrine
  54. 54. Doctrine Challenge assumptions Know the details Use a common language Think small (as in contracts) Ubiquitous Language Domain Knowledge Domain Experts Development Teams Collaboration Gaining domain knowledge Focus on high situational awareness Core Domain Discovering the core domain Decomposing into modular components (Bounded Contexts) @suksr Provide purpose, mastery, and autonomy Subdomain categories can be mapped to evolution stages Use appropriate methods Strategic DDD & Doctrine
  55. 55. "Any organization that designs a system […] will produce a design whose structure is a copy of the organization's communication structure.” Conway’s Law Melvin Conway @suksr
  56. 56. restricting communication between teams no handover between teams cross-functional, autonomous teams small, long-lived teams minimizing cognitive load team ownership @suksr To optimize for flow of change requires …
  57. 57. Business-Strategy Software-Design/ -Architecture Team-Organization w/ Wardley Maps w/ Domain-Driven Design w/ Team Topologies @suksr 3 Perspectives to Build Adaptive Systems
  58. 58. “Overall, the Team Topologies approach advocates for organization design that optimizes for flow of change and feedback from running systems.” @suksr Team Topologies
  59. 59. Stream-aligned team @suksr Four Team Types
  60. 60. Stream-aligned team Platform team @suksr Four Team Types
  61. 61. Stream-aligned team Platform team Enabling team @suksr Four Team Types
  62. 62. Stream-aligned team Platform team Enabling team Complicated subsystem team @suksr Four Team Types
  63. 63. Stream-aligned team Platform team Enabling team Complicated subsystem team Increasing autonomy Reducing cognitive load Fast flow of change @suksr Four Team Types
  64. 64. Collaboration Rapid discovery @suksr Three Interaction Modes
  65. 65. Collaboration X-as-a-Service API Rapid discovery Predictable delivery @suksr Three Interaction Modes
  66. 66. Collaboration X-as-a-Service Facilitating API Rapid discovery Predictable delivery Active help @suksr Three Interaction Modes
  67. 67. Collaboration X-as-a-Service Facilitating Stream-aligned team Platform team Enabling team Complicated subsystem team API Doctrine Think small teams Optimize flow Provide purpose, mastery & autonomy Design for constant evolution @suksr Team Topologies & Doctrine
  68. 68. Evolving a Legacy System Purpose Source: https://www.food-management.com Providing high-quality education for junior students everywhere and help teachers to engage with their students online @suksr
  69. 69. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Landscape The Landscape of the Current State Identify users Identify user needs 1 2 @suksr
  70. 70. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Students Course Class Students Content BBoM Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Data Storage Message Broker Search Engine Compute VM Online School SMTP Server Landscape The Landscape of the Current State Determine dependencies and position of the components in the value chain Determine stage of evolution for every component 5 Identify users Identify components fulfilling user needs Identify user needs 1 2 3 4 3 Asking for Help Receiving Evaluation Feedback Studying Courses @suksr
  71. 71. UI Team Backend Team Infrastructure Team Handover Handover Handover requires communication and coordination efforts between teams Bottlenecks impede delivery performance BBoM Online School Data Storage Search Engine Message Broker Compute VM SMTP Server High team cognitive load No clear ownership boundaries High operational efforts for on-premises infrastructure High cost of change due to tight change coupling High amount of effort to understand a piece of code Architecture For Flow Starting with the team @suksr
  72. 72. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses BBoM Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Data Storage Message Broker Search Engine Compute VM Online School SMTP Server Architecture For Flow Finding suitable streams of change Starting with the team @suksr
  73. 73. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Architecture For Flow Analyse & Discover Problem Space Strategic Design Problem Domain Student Partitioning the Problem Domain into Subdomains Discovering the Core Core Differentiation high Support of Purpose high Complexity high Change Rate high Ubiquity low Strategic Investment high Starting with the team Finding suitable streams of change @suksr
  74. 74. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Architecture For Flow Analyse & Discover Problem Space Strategic Design Problem Domain Student Partitioning the Problem Domain into Subdomains Discovering the Core Core Supporting Differentiation high low Support of Purpose high medium Complexity high low Change Rate high low-medium Ubiquity low medium Strategic Investment high low-medium Starting with the team Finding suitable streams of change @suksr
  75. 75. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Architecture For Flow Analyse & Discover Problem Space Strategic Design Problem Domain Student Partitioning the Problem Domain into Subdomains Discovering the Core Core Supporting Generic Differentiation high low low Support of Purpose high medium low Complexity high low medium-high Change Rate high low-medium low Ubiquity low medium high Strategic Investment high low-medium low Starting with the team Finding suitable streams of change @suksr
  76. 76. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Architecture For Flow Decompose & Map Analyse & Discover Problem Space Strategic Design Solution Space Domain Experts Development Teams Collaboration Available Techniques: - EventStorming - Domain Storytelling - Example Mapping - Userstory Mapping - etc. BBoM Online School Decomposing the BBoM into Bounded Contexts Discovering the Core Partitioning the problem domain into subdomains Starting with the team Finding suitable streams of change @suksr
  77. 77. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Architecture For Flow Decompose & Map Analyse & Discover Problem Space Strategic Design Solution Space Content Creation Class Mngmnt. Learning Support Student Evaluation Identity & Access Notification H. Course Studies Discovering the Core Partitioning the problem domain into subdomains Decompose into Bounded Contexts Starting with the team Finding suitable streams of change @suksr
  78. 78. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Architecture For Flow Content Creation Class Mngmnt. Learning Support Student Evaluation Identity & Access Notification H. Course Studies Find suitable team boundaries Bounded Contexts as team boundaries for stream- aligned teams Providing purpose, mastery, autonomy Mind Conway’s Law Discovering the Core Partitioning the problem domain into subdomains Decompose into Bounded Contexts Starting with the team Finding suitable streams of change @suksr
  79. 79. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Architecture For Flow Content Creation Class Mngmnt. Learning Support Student Evaluation Identity & Access Notification H. Course Studies Find suitable team boundaries Bounded Contexts as team boundaries for stream- aligned teams Providing purpose, mastery, autonomy Mind Conway’s Law Optimize for team cognitive load Limit the number, type, size of components per team Discovering the Core Partitioning the problem domain into subdomains Decompose into Bounded Contexts Starting with the team Finding suitable streams of change @suksr
  80. 80. Genesis Custom-Built Product (+rental) Commodity (+utility) Evolution Rate of Change Path to action High Low Clear Unclear Uncertainty High Low Novel Practices Emerging Practices Good Practices Best Practices High Low Cognitive Load Number and/or Size of Components a Single Team can handle Architecture For Flow Optimizing Team Cognitive Load Limit the number, type, size of components per team @suksr
  81. 81. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Architecture For Flow Content Creation Class Mngmnt. Learning Support Student Evaluation Identity & Access Notification H. Course Studies Find suitable team boundaries Bounded Contexts as team boundaries for stream- aligned teams Providing purpose, mastery, autonomy Mind Conway’s Law Optimize for team cognitive load Create clear ownership boundaries Limit the number, type, size of components per team Discovering the Core Partitioning the problem domain into subdomains Decompose into Bounded Contexts Starting with the team Finding suitable streams of change @suksr
  82. 82. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Architecture For Flow Content Creation Class Mngmnt. Learning Support Student Evaluation Identity & Access Notification H. Course Studies & Scoring Data Storage Message Broker Search Engine Compute SMTP Server VM Aim for Thinnest Viable Platform (TVP) Identify services needed to support reliable flow of change Services form platform-as- a-service for stream- aligned teams Digital platform with self- service APIs, tools, services, knowledge, support Find suitable team boundaries Bounded Contexts as team boundaries for stream- aligned teams Providing purpose, mastery, autonomy Mind Conway’s Law Optimize for team cognitive load Create clear ownership boundaries Limit the number, type, size of components per team Discovering the Core Partitioning the problem domain into subdomains Decompose into Bounded Contexts Starting with the team Finding suitable streams of change @suksr
  83. 83. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Architecture For Flow Content Creation Class Mngmnt. Learning Support Student Evaluation Identity & Access Notification H. Course Studies & Scoring Data Storage Message Broker Search Engine Compute SMTP Server VM Aim for Thinnest Viable Platform (TVP) Identify services needed to support reliable flow of change Services form platform-as- a-service for stream- aligned teams Digital platform with self- service APIs, tools, services, knowledge, support Starting with the team Finding suitable streams of change Find suitable team boundaries Bounded Contexts as team boundaries for stream- aligned teams Providing purpose, mastery, autonomy Mind Conway’s Law Optimize for team cognitive load Create clear ownership boundaries Limit the number, type, size of components per team Discovering the Core Partitioning the problem domain into subdomains Decompose into Bounded Contexts Mind dependencies & communication bandwidth between teams Identify Capability Gaps @suksr
  84. 84. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Architecture For Flow Content Creation Class Mngmnt. Learning Support Student Evaluation Identity & Access Course Studies Data Storage Message Broker Search E. Compute SMTP Server Stream-aligned team 1 Stream-aligned team 2 Stream-aligned team 3 Notification H. Stream-aligned team 4 Platform team(s) A possible team constellation VM @suksr
  85. 85. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Architecture For Flow Content Creation Class Mngmnt. Learning Support Student Evaluation Identity & Access Course Studies Data Storage Message Broker Search E. Compute SMTP Server Notification H. VM Identifying potential efficiency gaps @suksr
  86. 86. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) BBoM Data Storage Message Broker Search Engine Compute VM Online School SMTP Server UI Team Backend Team Infrastructure Team Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) BBoM DBaaS MBaaS SEaaS Elastic Compute Online School SMTPaaS UI Team Backend Team Platform team Platform team Determining migration path Assessing cloud migration strategies Determining new platform Modifying underlying infrastructure Replatforming Cloud migration through evolution of team topologies Evolving a Legacy System @suksr
  87. 87. Value Chain Invisible Visible Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) BBoM DBaaS MBaaS SEaaS Elastic Compute Online School SMTPaaS UI Team Backend Team Platform team Evolution of the Refactoring Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) BBoM DBaaS MBaaS SEaaS Elastic Compute Online School SMTPaaS UI Team Backend Team Platform team Stream-aligned team 1 Platform team Stream-aligned team 1 Serverless Compute Stream-aligned team 1 Platform team API Stream-aligned team 1 Platform team Discover Establish Use Close Collaboration Limited Collaboration X-As-A-Service Cloud migration through evolution of team topologies Evolving a Legacy System @suksr
  88. 88. Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) BBoM DBaaS MBaaS SEaaS Elastic Compute Online School SMTPaaS UI Team Backend Team Platform team Implementing For Flow Refactoring Value Chain Invisible Visible Genesis Custom-Built Product (+rental) Commodity (+utility) Stream-aligned team 2 Platform team Stream-aligned team 3 Facilitating Facilitating Cloud migration through evolution of team topologies Stream-aligned team 1 Serverless Compute Stream-aligned team 1 Stream-aligned team 4 Facilitating Stream-aligned team 1 DBaaS MBaaS SEaaS Serverless Compute SMTPaaS IDPaaS SA team 1 SA team 2 SA team 3 SA team 4 Platform team(s) Evolving a Legacy System @suksr
  89. 89. Value Chain Invisible Visible Planning Create Teacher Helping Evaluating Signup/Signin Student Asking Students for Help Course Class Students Content Receiving Evaluation Feedback Studying Courses Evolution Genesis Custom-Built Product (+rental) Commodity (+utility) Architecture For Flow Content Creation Class Mngmnt. Learning Support Student Evaluation Identity & Access Course Studies DBaaS MBaaS SEaaS Serverless Compute SMTPaaS Stream-aligned team 1 Stream-aligned team 2 Stream-aligned team 3 Notification H. Stream-aligned team 4 Platform team(s) IDPaaS Evolving a Legacy System Core Domain Supporting Subdomain Generic Subdomain Build in-house Use/buy off-the-shelf product Outsource to utility suppliers @suksr
  90. 90. Business-Strategy Software-Design/ -Architecture Team-Organization w/ Wardley Mapping w/ Domain-Driven Design w/ Team Topologies @suksr Building Adaptive Systems for a Fast Flow of Change
  91. 91. Susanne Kaiser Independent Tech Consultant @suksr susanne@susannekaiser.net

×