Weaving the Software Development Process Between Requirements and Architectures
Bashar Nuseibeh · 2001
This position paper argues for the concurrent, iterative development of requirements and architectures during the development of software systems. It presents the "Twin Peaks" model -- a partial and simplified version of the spiral model -- that illustrates the distinct, yet intertwined activities of requirements engineering and architectural design. The paper suggests that the use of various kinds of patterns -- of requirements, architectures, and designs -- may provide a way to increase software development productivity and stakeholder satisfaction in this setting.