# The Iterative Waterfall Model

In this article, we are going to study one of the software life cycle models, which is **the Iterative waterfall model**. We will study the **different phases that a software undergoes when developed through the idea of this model**, and will also study about the sequence in which each of these phases is executed.

Submitted by Monika Sharma, on October 02, 2019

The **iterative waterfall model** was proposed to overcome the shortcomings of the classical waterfall model. The main drawback in the classical waterfall model was that any sort of error in any of the phases was detected at the end of the entire lifecycle, i.e. after the deployment of the software, and as it was not possible to head back to the previous states in the classical waterfall model, it was very annoying for both the customers and developers for not being able to fix the errors even after knowing them. So, to overcome this problem, an enhanced version of the classical waterfall model was introduced which was called **the iterative waterfall model**.

As the name suggests, in this model, iterations are allowed. What this means is that, in this type of model, the developers are free to go into the previous phases of development to make any sort of modification or changes. This is possible because, in this model, there are feedback paths provided for every phase and no matter in which phase you are working, you can always go back to the previous phases and make the necessary changes.

All the phases of **the iterative waterfall model** are almost the same as they were in the classical waterfall model, and these phases are:

- Requirement analysis and specification
- Design
- Implementation (Coding and unit testing)
- Integration and system testing
- Deployment of systems
- Maintenance

A general overview of **the iterative waterfall model** can be made with the help of the following diagram:

**Iterative Waterfall model** (a type of Software lifecycle model)

### General comparison of the classical waterfall model and the iterative waterfall model

Each phase of this model is the same as the classical waterfall model. The only advancement that the iterative waterfall model has over classical waterfall model is that in the iterative model, we have feedback paths that link every phase with one another and with the help of those, we can anytime go to the previous phases and make the modifications that may be required in the software in the later phases of the development.

TOP Interview Coding Problems/Challenges

- Run-length encoding (find/print frequency of letters in a string)
- Sort an array of 0's, 1's and 2's in linear time complexity
- Checking Anagrams (check whether two string is anagrams or not)
- Relative sorting algorithm
- Finding subarray with given sum
- Find the level in a binary tree with given sum K
- Check whether a Binary Tree is BST (Binary Search Tree) or not
- 1[0]1 Pattern Count
- Capitalize first and last letter of each word in a line
- Print vertical sum of a binary tree
- Print Boundary Sum of a Binary Tree
- Reverse a single linked list
- Greedy Strategy to solve major algorithm problems
- Job sequencing problem
- Root to leaf Path Sum
- Exit Point in a Matrix
- Find length of loop in a linked list
- Toppers of Class
- Print All Nodes that don't have Sibling
- Transform to Sum Tree
- Shortest Source to Destination Path

Comments and Discussions

**Ad:**
Are you a blogger? Join our Blogging forum.