The iterative model

The iterative development model is a cyclic software development process, developed to oppose the waterfall model and its weaknesses. It is an essential part of the agile software development and often is used in web application development.

The main idea of the iterative methodology is to produce a software system incrementally, allowing the web developers to take advantage of what was being learned during the earlier software development, and produce incremental, deliverable builds of the system. Learning comes from QA, testing, programming and coding, and use of the system. The process itself looks like that: start of the web development with a simple implementation of a subset of main and the most important requirements and iteratively enhance it with additional features until the full system is implemented. At each iteration, design modifications are or may be made and new features are added.