https://pubs.opengroup.org/togaf-standard/architecture-content/chap05.html#tag_05_02
Building blocks have generic characteristics as follows:
A building block is a package of functionality defined to meet the business needs across an organization
A building block normally has a type that corresponds to the metamodel (such as actor, business service, application, or data entity)
A building block has a defined boundary and is generally recognizable as "a thing" by domain experts
A building block may interoperate with other, inter-dependent building blocks.
A good building block has the following characteristics:
It considers implementation and usage, and evolves to exploit technology and standards
It may be assembled from other building blocks
It may be a subassembly of other building blocks
Ideally a building block is re-usable and replaceable, and well specified