Solution Building Blocks (SBBs) in TOGAF 10 Foundation
Understanding Solution Building Blocks (SBBs)
Solution Building Blocks (SBBs) are a fundamental concept in the TOGAF 10 Architecture Content Framework. They represent the concrete, tangible components and services that will be procured, built, or configured to implement the target architecture.
Why Solution Building Blocks Are Important
SBBs are critical for several reasons:
- Bridge Between Abstract and Concrete: SBBs translate abstract architectural vision into real, implementable solutions that organizations can purchase or develop.
- Risk Reduction: By mapping business requirements to specific technologies and products, SBBs help identify gaps and potential issues early in the implementation process.
- Cost Management: SBBs enable organizations to understand the actual technology investments required, making budgeting more accurate.
- Implementation Clarity: They provide a clear roadmap for development and procurement teams about what exactly needs to be built or purchased.
- Vendor Selection: SBBs help identify which vendors, products, and services are needed to realize the architecture.
What Are Solution Building Blocks?
SBBs are the technology and implementation-specific building blocks that form the foundation of the target architecture. They represent:
- Real Products and Services: Specific software packages, hardware platforms, middleware solutions, and services that will be deployed.
- Configured Components: Products or services that have been customized or configured to meet specific organizational needs.
- Custom Developments: Bespoke applications or solutions developed specifically for the organization.
- Integration Points: The connections and interfaces between different solution components.
Key distinction: While Architecture Building Blocks (ABBs) are abstract and technology-independent representations of architectural components, SBBs are their concrete, technology-specific implementations.
How Solution Building Blocks Work
The Relationship Between ABBs and SBBs:
The journey from abstract to concrete involves a clear transformation:
- Start with ABBs: Define abstract architectural building blocks that represent logical functions and services needed in the target architecture.
- Identify Mapping: Determine which real-world technologies and products can fulfill each ABB's requirements.
- Create SBBs: Document specific solutions, products, and services that will implement each ABB.
- Validate Completeness: Ensure all ABBs have corresponding SBBs and no implementation gaps exist.
Example:
- ABB: Customer Data Management System
- SBBs that implement it: Salesforce CRM platform + Oracle Database + MuleSoft Integration Platform + Custom Java APIs for legacy system integration
Key Characteristics of SBBs:
- Specific and Concrete: Named products, versions, and configurations that can be purchased or built.
- Implementable: Have clear implementation paths, timelines, and resource requirements.
- Measurable: Can be tested, validated, and verified for compliance with architectural requirements.
- Versioned: Include specific versions and configurations of products.
- Integrated: Show how they connect with other solution components.
Creating and Managing SBBs
The Process:
- Requirements Analysis: Understand detailed technical and functional requirements from ABBs.
- Technology Research: Identify available products, platforms, and services in the market.
- Evaluation and Selection: Assess vendors, products, and custom development options against requirements.
- Documentation: Create detailed specifications for each SBB including:
- Product/service name and version
- Configuration details
- Integration requirements
- Dependencies on other SBBs
- Implementation approach (buy, build, configure)
- Cost and resource estimates
- Timeline and milestones
- Validation: Ensure SBBs collectively implement all ABBs and address all requirements.
- Roadmap Development: Create sequencing and phasing for implementation.
Exam Tips: Answering Questions on Solution Building Blocks
1. Distinguish ABBs from SBBs
- Remember: ABBs are abstract and technology-independent; SBBs are concrete and technology-specific.
- Exam tip: If a question asks about abstract logical functions, think ABB. If it mentions specific products or technologies, think SBB.
- Example answer: "ABBs define what we need; SBBs define with what we'll build it."
2. Understand the Mapping Relationship
- Key concept: One ABB often maps to multiple SBBs. One SBB might contribute to implementing multiple ABBs.
- Exam tip: When asked about implementation, discuss how you'd map requirements from ABBs to specific technologies in SBBs.
- Common question: "How do you ensure complete coverage?" Answer: Validate that every ABB has corresponding SBBs and every requirement is addressed.
3. Focus on Practical Implementation
- SBBs are about: What you actually buy, build, or configure. Include vendor names, product names, versions, and configurations.
- Exam tip: Look for questions about vendor selection, procurement decisions, or technology choices—these involve SBBs.
- Example: Rather than "Database Management System" (ABB), say "Oracle Database 21c with specific schemas and security configurations" (SBB).
4. Recognize SBBs in Architecture Development Method (ADM) Phases
- Phase E (Opportunities and Solutions): SBBs are primarily identified here.
- Exam tip: Know which ADM phases involve working with SBBs.
- Context: SBBs are developed after ABBs and feed into implementation planning.
5. Address Integration and Dependencies
- Key point: SBBs don't exist in isolation. Questions may ask about how SBBs integrate with each other.
- Exam tip: Discuss interfaces, APIs, data exchanges, and dependencies between SBBs.
- Example: How would the CRM SBB (Salesforce) integrate with the ERP SBB (SAP)?
6. Consider Cost, Timeline, and Resources
- SBBs drive: Budget requirements, implementation schedules, staffing needs, and vendor relationships.
- Exam tip: When questions ask about project planning or resource allocation, SBB decisions are fundamental.
- Common question type: "How would you sequence the implementation of SBBs?" Consider dependencies and phasing.
7. Use the Right Terminology
- Key terms to use in answers:
- "Solution Building Blocks" (not just "building blocks")
- "Concrete/specific technologies"
- "Products and services"
- "Implementation components"
- "Vendor solutions"
- Avoid: Using "architecture" vaguely; always specify whether you're discussing ABBs or SBBs.
8. Scenario-Based Questions
- Approach: When given a scenario, identify what needs to be built/implemented (SBBs required).
- Example question: "A company needs to integrate three legacy systems. Which SBBs would you recommend?" Answer with specific integration platforms, middleware, custom APIs, and connectors.
- Exam tip: Discuss both COTS (Commercial Off-The-Shelf) and custom-built SBBs.
9. Documentation and Artifacts
- Know what documents contain SBB information:
- Solution Architecture artifacts
- Implementation roadmap
- Technology procurement plans
- Detailed design specifications
- Exam tip: Questions may ask which artifacts would contain SBB details. Know which deliverables include SBB information.
10. Validation and Verification
- Key question: "How do you ensure SBBs meet architectural requirements?"
- Answer approach: Through verification (SBBs built correctly), validation (SBBs meet requirements), testing, and governance.
- Exam tip: Discuss traceability—how you'd trace requirements from ABBs through SBBs to implementation.
Common Exam Question Patterns
Pattern 1: Definition Questions
"What are Solution Building Blocks?" Answer with the concrete, technology-specific nature and how they differ from ABBs.
Pattern 2: Application Questions
"How would you identify SBBs for a given architecture?" Walk through requirements analysis, technology research, and mapping from ABBs.
Pattern 3: Relationship Questions
"How do ABBs relate to SBBs?" Explain the hierarchical relationship and transformation from abstract to concrete.
Pattern 4: Implementation Questions
"What SBBs would implement a Customer Management ABB?" Provide specific products, platforms, and services.
Quick Reference Summary
| Aspect | Architecture Building Blocks (ABBs) | Solution Building Blocks (SBBs) |
| Nature | Abstract | Concrete |
| Technology-specific | No | Yes |
| Examples | Customer Management System | Salesforce CRM + Oracle Database + Custom APIs |
| Primary Phase | Multiple phases | Phase E (Opportunities and Solutions) |
| Focus | What we need | What we'll use to build it |
| Detail Level | Logical functions | Products, versions, configurations |
| Procurement Relevance | Low | High |
Final Exam Strategy: When answering SBB questions, always emphasize the concrete, implementable nature of SBBs. Show how they trace back to ABBs and forward to implementation plans. Use specific examples with product names and versions. Demonstrate understanding of the ABB-to-SBB transformation process and discuss practical considerations like vendor selection, integration, and phased implementation.