Key takeaways
- ABB: architectural capability and requirements.
- SBB: realization satisfying those requirements.
- Detail evolves as decisions become more mature.
Define a useful unit
A building block is a bounded unit of functionality or capability that can be combined with other units. Its detail depends on context. Interfaces, dependencies, and boundaries should be explicit to support composition, interoperability, and reuse. A list of component names alone does not express these relationships.
An Architecture Building Block describes what the architecture needs. It captures essential requirements, interfaces, and constraints without prescribing a particular commercial implementation. A user identification service can therefore be defined through its functions and rules before a specific platform is selected.
Move towards solutions
A Solution Building Block describes an implementation element satisfying one or more ABBs. It may identify a product, configuration, or supplier-aware solution. ABBs are progressively elaborated during architecture development; their realization becomes more specific through solutions and implementation work. Both levels must remain connected to verify that the selected solution satisfies the need.
- Define the block’s boundaries and interfaces.
- Reuse a block when its context and constraints are suitable.
- Check the relationship between architecture requirements and the selected solution.
TERMS TO KNOW
The terms, in context.
- ABB
- Architecture Building Block describing a required architecture capability.
- SBB
- Solution Building Block describing an implementation element.