02 — Capability · BC-720.10
Solution Design
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.
- 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)
Realized by · 0
- No product in the catalog yet.
Used in · 1
Build it · 33
- pattern Bulkhead via BC-720.10.30
- pattern Throttling via BC-720.10.30
- pattern Cache-Aside via BC-720.10.30
- pattern Backend for Frontend via BC-720.10.20
- pattern Scatter-Gather via BC-720.10.20
- pattern Anti-Corruption Layer via BC-720.10.20
- pattern Bounded Context via BC-720.10.10
- pattern Aggregate via BC-720.10.20
- pattern Domain Events via BC-720.10.20
- pattern Modular Monolith via BC-720.10.10
- pattern Hexagonal Architecture via BC-720.10.10
- pattern Event Sourcing via BC-720.10.20
- pattern CQRS via BC-720.10.20
- pattern Saga via BC-720.10.20
- pattern Architecture Decision Records via BC-720.10.40
- stack Convention-driven monolith via BC-720.10.10
- book Fundamentals of Software Architecture
- book Software Architecture: The Hard Parts
- book Clean Architecture
- book A Philosophy of Software Design
- book Patterns of Enterprise Application Architecture
- book Software Architecture in Practice
- book Domain-Driven Design
- book Implementing Domain-Driven Design
- book Learning Domain-Driven Design
- book Domain Modeling Made Functional
- book Building Microservices
- book Monolith to Microservices
- book Microservices Patterns
- book Designing Distributed Systems
- book Cloud Native Patterns
- book Threat Modeling
- book Just Enough Software Architecture
Decomposes into · 4
- BC-720.10.10Solution ArchitectureShape the components, boundaries and technology choices for one initiative so it satisfies its requirements and the standards it inherits.
- BC-720.10.20Interface & Data DesignSpecify what the solution exchanges with other systems and how its data is structured, down to the level a developer or integrator can build from.
- BC-720.10.30Non-Functional DesignState how fast, available, secure and scalable the solution must be, and design in the means to prove it.
- BC-720.10.40Design Review & Sign-OffWalk the design past the people who must live with it — operations, security, architecture, the business — and record their acceptance.