During the preparation stage, we consider two development methodologies - Waterfall and Agile - depending on your goals. Yet, the development process also usually involves iterative approach (regardless of chosen methodology). For Agile, this is an inherent part of its architecture. In Waterfall projects, iterations allow us to better control development progress as well as prepare regular demo versions.