Good architecture is a legible and communicable map

related

able to be translated to another architectural language

Tag line

Descriptive

Prescriptive

Discussion (what it means or how it might be applied) {{renderer :wordcount_}}

A good architecture must function as a map for navigating a system. The actual system is the territory that exists in real life, and a good architecture must do the work of compressing the information in the system into a legible and communicable map.

A map must first be legible. This means that the map must not over-compress the information of the system. It must also exist in a form that can be understood by those who will implement a system, whether that is in a diagram, a document, a software representation, or some other form. Like the map of a territory, a good architecture must be usable as a form of navigation for those who wish to build or maintain the system.

A map must also be convertible to other maps. This means that the map should support conversions to new architectures, as required by those who may want to update the system.

Historical reference (philosophy, etc)

Albert Korzybski wrote about the ideas of maps and territories in mathematical semantics in his early 20th century paper. There have since been many versions of ideas like this. Similarly, this principle a loose interpretation of the idea that a system could be represented as a Category in Category Theory. In Category Theory, a functor is the morphism of one category to another, and thus leads to the idea that a well-structured architecture should behave like a category and be “functorizable”.