Modularize extensive documentation:
Factor out (extract) documentation commonalities from different parts of the system and create separate documentation for relevant subsystems.
Link up these different parts of the documentation by hyperlinks, so that consumers can navigate freely between special and common parts.
A toolchain supporting modularization is an important prerequisite: it’s a nuisance with typical office products, but works quite smoothly with wikis or markup-languages.
For a schematic example of modularized documentation see the following diagram: The overall systems is made up from three subsystems. The common architecture documentation contains the introduction and goals, strategic decisions, building blocks level 1 plus crosscutting concepts. All these informations are valid and useful for the other three (smaller) documents.
Each subsystems’ documentation contains only parts of the arc42 template, and each subsystem focusses on different aspects.
The common part of your architecture documentation might contain:
- the global system goals and the overall business context
- an overall solution strategy
- specific architecture principles that hold for all subsystems
- crosscutting solution approaches (i.e. frameworks or products used in all subsystems)
In general, decisions, (quality-)requirements and solution approaches propagate downwards from top to bottom of this.
Another option we encountered and proposed in microservice-oriented landscapes is the following:
- The distinct microservices get just an arc42 canvas, a one-pager.
- The overall concepts are summarized in another one-pager - although you can obviously use a full-blown arc42 documentation for that.