Your "what" is my "how": iteration and hierarchy in system design
M. Whalen, A. Gacek, D. Cofer, A. Murugesan, M. Heimdahl, S. Rayadurgam
IEEE Software, vol. 30, no. 2, pp. 54-60, March-April 2013, doi:10.1109/MS.2012.173
Systems are naturally constructed in hierarchies, in which design
choices made at higher levels of abstraction levy requirements on
system components at the lower levels. Thus, whether an aspect of a
system is a design choice or a requirement largely depends on your
vantage point within the system components' hierarchy. Systems are
also often constructed from the middle-out rather than top-down;
compatibility with existing systems and architectures and availability
of specific components influence high-level requirements. Requirements
and architectural design should be more closely aligned: requirements
models must account for hierarchical system construction and
architectural design notations must better support requirements
specification for system components.