For my Togaf certification.
A Building Block is a package of functionality defined to meet business needs across an organisation.
A Building Block is one of ( I tend to think “such as”)
- Business Service ( a derivative of business function with defined SLA according to Togaf)
- Data Entity.
A Building Block has a defined boundary and is recognised as a ‘thing’ by a domain expert.
A good Building Block
- considers implementation and evolves to exploit technology
- is reusable and replaceable.
A Building Block should be loosely coupled to it’s implementation. It should be possible to realise a BB in several ways without impacting boundary or specification.
Togaf further defines Architectural Building Blocks, which is what the above refers to, pointing out that ABB’s are ‘Technology aware’. Whereas Solution Building Blocks are ‘Vendor aware’.
The OMG have developed a standard for re-usable asset specification (RAS) which provides a good example of how BB’s can be formally described and managed.