- Short answer
-
(Potentially) all stakeholders of a system, that require information about the architecture, e.g. the internal structure, crosscutting concepts or fundamental decisions.
- Longer answer
-
Which persons or roles are interested in what parts of the architecture depends on the specific context. Some typical targets for such documentation:
- Software developers who actually implement within the system.
- Software developers of neighbour systems, who need to know about external interfaces and/or their technical details.
- Software architects who need to prepare, shepard or implement architectural decisions.
- Operators or administrators of software systems, who either need to configure the system for specific infrastructure needs, optimize it or perform administrative tasks requiring architectural understanding. This often includes security relevant tasks, like firewall or database settings.
- Technical managers who organize maintenance or evolution of the system.
- Auditors or reviewers, who valid, current and accurate architectural information to assess or evaluate the system.
- Testers and QA-engineers who need to plan, impelement or perform whitebox-, performance- or security testing.
- Consumers of services offered by the system, in case they need to understand additional details apart from the interface (blackbox) specification.
In our opinion, software architects should maintain an overview of current stakeholders together with their specific needs for architectural information.