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.

The waterfall model

The waterfall model (one of the approaches to software development or web development project) describes a linear development method that is often considered the classic approach to the systems development life cycle. This model is a sequential model, used to create different kinds of software, where project development is seen as flowing steadily downwards (like a waterfall) through the phases of software development requirements analysis, UI design, software implementation, project verification and software maintenance. The process itself can be divided into different phases, depending on the IT project or other web development requirements.