In this tutorial, we will learn about the iterative software development model. The iterative development model is an iterative and incremental software development process. Software development activities happen in cycles and in repetition. The iterative and incremental software development approach is an essential part of the Agile framework like Scrum.
Iterative Software Development Model
An iterative lifecycle model does not attempt to build a full set of software requirements. Instead, development begins by implementing a small set of requirements and the software is released and deployed. The software is then reviewed in order to identify the further set of requirements.
This process is then repeated in cycles to produce a new version of the software for each iteration.
Phases in Iterative Model
Each iteration in an iterative lifecycle model consists of repeating the following phases:
In this phase, the software requirements are gathered from the stakeholders. Then the feasibility of the requirements is analyzed. Technical feasibility, budget feasibility, etc.
In this step, the design of the software is made both high level and low level. UML architecture diagrams like a data flow diagram, UML activity diagram, UML class diagram, CRC cards, etc are developed.
In this step, actual software development begins. All coding is done in this step. The development of software is completed in this phase.
The developed software is tested in this phase. The bugs and defects are identified in this phase. Testing is done by using different testing methods.
The software is deployed in the production/live environment. The deployed software is monitored and feedback is collected from the end-users.
After completion of the phases, the feedback from various users is evaluated and analyzed by the software team. Further enhancements, fixes, and new features are planned for upcoming versions.