Designing software and websites is not at all like designing a building or city planning. This model is quite useful to help understand the process. I found this preparing for class.
Here is a summary of the model from the article:
Summary: Requirements engineering is an iterative exercise; often, the purpose of going through the exercise is to define the problem itself, and in the process, refine requirements. That is, an initially fuzzy requirement gets clarified through discussion, leading to other, more specific requirements. While the model has been motivated by requirements engineering, its components are generic enough to be applicable across various phases of the life cycle.
The model is from Ramesh and Dhar 1992
, based on the IBIS model by Kunz and Rittel. References below.
Kunz, W., & Rittel, H. W. J. (1970). Issues as Elements of Information Systems. Institute of Urban & Regional Development, University of California.
Ramesh, B., & Dhar, V. (1992). Supporting systems development by capturing deliberations during requirements engineering. Software Engineering, IEEE Transactions on, 18(6), 498-510. doi: 10.1109/32.142872.