Introduction to Building Blocks Knowledge-Based Study

TOGAF · Architecture Content · Foundation · Building Blocks

Foundation topic explanations on Introduction to Building Blocks.

Study notes

  1. Overview of Building Blocks in the TOGAF Standard

    In the TOGAF Standard, 10th Edition, a building block represents a package of functionality defined to meet specific business needs across an organization. Building blocks are fundamental constructs used at various stages of the Architecture Development Method (ADM) to assemble architectures and implement solutions.

    Building blocks serve several vital architectural purposes:

    • Reusability: They enable common functions, capabilities, and system components to be reused across diverse enterprise initiatives.
    • Modularity: They decompose complex enterprises and systems into manageable, well-bounded units with clearly defined interfaces.
    • Interoperability: By defining standardized interfaces, building blocks enable seamless interaction across heterogeneous environments.
    • Evolutionary Development: As requirements evolve, architectures can replace or upgrade discrete building blocks without destabilizing the broader system.

    Generic Characteristics

    Regardless of whether a building block represents a high-level architectural definition or a physical product implementation, all building blocks exhibit common characteristics:

    • Package of Functionality: A building block embodies a coherent, bounded set of functionality designed to satisfy business requirements.
    • Defined Boundaries and Interfaces: It has well-defined interfaces (both published and consumed) that specify how it interacts with other building blocks.
    • Interoperable and Replaceable: It can be integrated with other building blocks and replaced by an alternative implementation that fulfills the same interface and functionality specification.
    • Combination and Aggregation: Building blocks may be aggregated to form larger, higher-level building blocks or decomposed into smaller sub-components.
    • Lifecycle and Evolution: Building blocks evolve over time through the ADM cycle, progressing from abstract requirements to concrete operational implementations.

    Architecture Building Blocks (ABBs)

    Architecture Building Blocks (ABBs) define required capability and functionality at a specification level, independent of specific products, vendors, or concrete technologies.

    Key Attributes and Role of ABBs:

    • Capture Architectural Requirements: ABBs define what functionality is needed to meet business objectives, capturing business, data, application, and technology requirements.
    • Vendor- and Product-Agnostic: They focus on logical specifications, interface standards, and service boundaries without committing to proprietary solutions.
    • Formulated in Earlier ADM Phases: ABBs are identified and refined primarily during the architectural definition phases (Phases A through D: Business, Data, Application, and Technology Architectures).
    • Direction for Implementation: An ABB directs the selection and development of Solution Building Blocks (SBBs) by documenting required capabilities, constraints, and interoperability standards.

    Solution Building Blocks (SBBs)

    Solution Building Blocks (SBBs) represent the physical or concrete realization of the capabilities defined by one or more Architecture Building Blocks.

    Key Attributes and Role of SBBs:

    • Realize ABBs: An SBB fulfills the requirements and interface specifications dictated by an associated ABB.
    • Product- and Vendor-Specific: SBBs can be commercially available off-the-shelf (COTS) software, hardware devices, legacy system components, cloud services, custom-built applications, or configured system packages.
    • Formulated in Later ADM Phases: SBBs are typically selected, evaluated, and defined in Phase E (Opportunities and Solutions) and Phase F (Migration Planning), carrying through implementation in Phase G.
    • Operational Attributes: In addition to functional fulfillment, SBBs include operational characteristics such as cost, licensing, vendor support, release lifecycle, and performance metrics.

    Comparing ABBs and SBBs

    Understanding the distinction between Architecture Building Blocks and Solution Building Blocks is a core requirement of TOGAF Enterprise Architecture practice.

    • Focus and Abstraction: An ABB defines what is required (a logical capability specification), whereas an SBB defines how that requirement is physically fulfilled (a concrete component or product).
    • Timing within the ADM: ABBs drive the development of target architectures in Phases A–D, while SBBs are identified to populate solution roadmaps and work packages in Phase E and Phase F.
    • Mapping Relationship: The relationship between ABBs and SBBs is not strictly one-to-one. A single comprehensive SBB (such as an ERP platform) can implement multiple ABBs, and conversely, multiple SBBs may combine to fulfill a single complex ABB.