# Architecture Building Blocks (ABBs) in TOGAF

### **Introduction**

Architecture Building Blocks (ABBs) are high-level, logical components that describe the essential capabilities and services an organization requires to meet its business objectives. ABBs are abstract and technology-neutral, focusing on what needs to be achieved rather than how it will be implemented.

### **Characteristics of ABBs**:

- **Technology-Independent**: ABBs define the capability without specifying the implementation details (e.g., "Data Storage Capability" vs. "SQL Database").
- **Reusability**: ABBs can be reused across multiple projects, reducing duplication and promoting consistency.
- **Alignment with Business Needs**: ABBs are directly tied to business requirements, ensuring they support strategic goals.
- **Modularity**: ABBs are designed to fit together with other building blocks to form complete solutions.

### **Structure of an ABB**

An ABB typically contains the following attributes:

<table id="bkmrk-attribute-descriptio" style="width: 78.1481%; height: 238.375px;"><thead><tr style="height: 29.7969px;"><th style="width: 17.0714%; height: 29.7969px;">**Attribute**</th><th style="width: 82.7656%; height: 29.7969px;">**Description**</th></tr></thead><tbody><tr style="height: 29.7969px;"><td style="width: 17.0714%; height: 29.7969px;">**Name**</td><td style="width: 82.7656%; height: 29.7969px;">A clear, concise name (e.g., "User Authentication").</td></tr><tr style="height: 29.7969px;"><td style="width: 17.0714%; height: 29.7969px;">**Purpose**</td><td style="width: 82.7656%; height: 29.7969px;">A description of what the ABB does (e.g., "Provides secure access to applications").</td></tr><tr style="height: 29.7969px;"><td style="width: 17.0714%; height: 29.7969px;">**Capabilities**</td><td style="width: 82.7656%; height: 29.7969px;">Key functions are provided by the ABB.</td></tr><tr style="height: 29.7969px;"><td style="width: 17.0714%; height: 29.7969px;">**Relationships**</td><td style="width: 82.7656%; height: 29.7969px;">Interactions with other ABBs (e.g., dependencies on Data Storage ABB).</td></tr><tr style="height: 29.7969px;"><td style="width: 17.0714%; height: 29.7969px;">**Constraints**</td><td style="width: 82.7656%; height: 29.7969px;">Business or regulatory constraints affecting the ABB.</td></tr><tr style="height: 29.7969px;"><td style="width: 17.0714%; height: 29.7969px;">**Requirements**</td><td style="width: 82.7656%; height: 29.7969px;">High-level requirements the ABB must fulfill.</td></tr><tr style="height: 29.7969px;"><td style="width: 17.0714%; height: 29.7969px;">**Rationale**</td><td style="width: 82.7656%; height: 29.7969px;">Justification for its inclusion in the architecture.</td></tr></tbody></table>

### **Approach**

we can use left-to-right approach such as starting from foundation Architecture to Common System Architecture to Industry Specific Architecture.

Example : Starting with basic LMS system to Industry specific or College or University specific LMS and so on.

<div drawio-diagram="99"><img src="https://eu2.contabostorage.com/66dddabd753e470297bef6533e98fb71:bookstack/uploads/images/drawio/2024-11/drawing-1-1732081583.png" alt=""/></div>