Answers are grounded in this paper and cite their sources.
Experts never tire of emphasizing that software architectures should support appropriate system qualities to be useful and sustainable. Experience, in contrast, shows that the architectures of many software systems are casually, even haphazardly, structured, making it hard to sufficiently support any system quality. The author thus advocates a design style that takes the value that nonfunctional qualities contribute to a system's business success as the ultimate measure to decide what operational and developmental qualities a system really needs, where in a system the qualities are needed, and how "good" these qualities must be.
No takes yet. Share an insight, caveat, or question.
Frank Buschmann (2010) studied this question.
Synapse has enriched 5 related papers. Consider them for comparative context: