Iterative Software Development Model
Overview
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:
- Requirements
- Design
- Implementation
- Testing
- Deployment
- Evaluation
Requirements
In this phase, the software requirements are gathered from the stakeholders. Then the feasibility of the requirements is analyzed. Technical feasibility, budget feasibility, etc.
Design
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.
Coding /Implementation
In this step, actual software development begins. All coding is done in this step. The development of software is completed in this phase.
Testing
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.
Deployment
The software is deployed in the production/live environment. The deployed software is monitored and feedback is collected from the end-users.
Evaluation
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.