"[Software] architecture [makes] sure that the most likely changes are also the easiest to make." #readingToday
[Software] architecture partitions possible changes into three categories: local, non-local, and architectural. A local change can be accomplished by modifying a single component. A non-local change requires multiple component modifications, but leaves the underlying architecture intact. An architectural change affects the ways in which the components interact with each other, and will probably require changes all over the system. Obviously, local changes are the most desirable, and so the architecture carries the burden of making sure that the most likely changes are also the easiest to make.
Paul C. Clements -- Software Architecture: An Executive Overview, 1996