{"version":"0.2.0","built_at":"2026-10-10T20:58:14.188Z","license":"CC BY 4.0 © Mike Reams","canonical":"https://catalog.mikereams.com","capability":{"id":"BC-720.10","name":"Solution Design","level":2,"parent_id":"BC-720","l1_id":"BC-720","industry":"cross-industry","macro_id":"MC-70","path":["Application Delivery","Solution Design"],"description":"Turn a requirement into a buildable design that fits the enterprise architecture, names its interfaces and data, and states the qualities it must have before the first line is written.","aliases":["Solution Architecture","Technical Design","Detailed Design"],"in_scope":["Solution architecture for an initiative","Interface and data design at solution level","Non-functional requirements and their verification plan","Build-versus-configure decisions within a package"],"out_of_scope":["Enterprise reference architecture and standards (see BC-170)","Business process design (see BC-190)"],"csdm_note":null,"status":"active","successor_id":null,"child_ids":["BC-720.10.10","BC-720.10.20","BC-720.10.30","BC-720.10.40"]},"crosswalk":{"realized_by":[],"used_in":[{"vs_id":"VS-80","vs":"Demand-to-Change","stage_id":"VS-80.30","stage":"Design & Review","order":3,"via":null}],"patterns":[{"id":"DP-030","name":"Bulkhead","category":"Resilience","via":"BC-720.10.30"},{"id":"DP-050","name":"Throttling","category":"Resilience","via":"BC-720.10.30"},{"id":"DP-070","name":"Cache-Aside","category":"Scalability","via":"BC-720.10.30"},{"id":"DP-120","name":"Backend for Frontend","category":"Integration","via":"BC-720.10.20"},{"id":"DP-150","name":"Scatter-Gather","category":"Integration","via":"BC-720.10.20"},{"id":"DP-200","name":"Anti-Corruption Layer","category":"Domain Modeling","via":"BC-720.10.20"},{"id":"DP-210","name":"Bounded Context","category":"Domain Modeling","via":"BC-720.10.10"},{"id":"DP-220","name":"Aggregate","category":"Domain Modeling","via":"BC-720.10.20"},{"id":"DP-230","name":"Domain Events","category":"Domain Modeling","via":"BC-720.10.20"},{"id":"DP-240","name":"Modular Monolith","category":"Domain Modeling","via":"BC-720.10.10"},{"id":"DP-250","name":"Hexagonal Architecture","category":"Domain Modeling","via":"BC-720.10.10"},{"id":"DP-260","name":"Event Sourcing","category":"Data","via":"BC-720.10.20"},{"id":"DP-270","name":"CQRS","category":"Data","via":"BC-720.10.20"},{"id":"DP-280","name":"Saga","category":"Data","via":"BC-720.10.20"},{"id":"DP-500","name":"Architecture Decision Records","category":"Organization","via":"BC-720.10.40"}],"stacks":[{"id":"TS-100","name":"Convention-driven monolith","layer":"Web application","via":"BC-720.10.10"}],"books":[{"id":"BK-fundamentals-of-software-architecture","title":"Fundamentals of Software Architecture","topic":"Architecture fundamentals","via":null},{"id":"BK-software-architecture-the-hard-parts","title":"Software Architecture: The Hard Parts","topic":"Architecture fundamentals","via":null},{"id":"BK-clean-architecture","title":"Clean Architecture","topic":"Architecture fundamentals","via":null},{"id":"BK-a-philosophy-of-software-design","title":"A Philosophy of Software Design","topic":"Architecture fundamentals","via":null},{"id":"BK-patterns-of-enterprise-application-architecture","title":"Patterns of Enterprise Application Architecture","topic":"Architecture fundamentals","via":null},{"id":"BK-software-architecture-in-practice","title":"Software Architecture in Practice","topic":"Architecture fundamentals","via":null},{"id":"BK-domain-driven-design","title":"Domain-Driven Design","topic":"Domain modeling","via":null},{"id":"BK-implementing-domain-driven-design","title":"Implementing Domain-Driven Design","topic":"Domain modeling","via":null},{"id":"BK-learning-domain-driven-design","title":"Learning Domain-Driven Design","topic":"Domain modeling","via":null},{"id":"BK-domain-modeling-made-functional","title":"Domain Modeling Made Functional","topic":"Domain modeling","via":null},{"id":"BK-building-microservices","title":"Building Microservices","topic":"Distributed systems","via":null},{"id":"BK-monolith-to-microservices","title":"Monolith to Microservices","topic":"Distributed systems","via":null},{"id":"BK-microservices-patterns","title":"Microservices Patterns","topic":"Distributed systems","via":null},{"id":"BK-designing-distributed-systems","title":"Designing Distributed Systems","topic":"Distributed systems","via":null},{"id":"BK-cloud-native-patterns","title":"Cloud Native Patterns","topic":"Cloud & infrastructure","via":null},{"id":"BK-threat-modeling","title":"Threat Modeling","topic":"Security","via":null},{"id":"BK-just-enough-software-architecture","title":"Just Enough Software Architecture","topic":"Enterprise architecture","via":null}]},"ancestors":[{"id":"BC-720","name":"Application Delivery","level":1}],"children":[{"id":"BC-720.10.10","name":"Solution Architecture","level":3,"child_count":0},{"id":"BC-720.10.20","name":"Interface & Data Design","level":3,"child_count":0},{"id":"BC-720.10.30","name":"Non-Functional Design","level":3,"child_count":0},{"id":"BC-720.10.40","name":"Design Review & Sign-Off","level":3,"child_count":0}]}