Iterative Model (Incremental Model) in SDLC
- In Iterative Model ,the process of defining requirements, designing, building and testing a system, completed as a series of shorter development cycles.
- Software development process where requirements are divided into several stand-alone software development modules.
- Produces and delivers the working component at each increment of the project.
- There are few examples of iterative Models are : prototyping, Rapid Application Development (RAD), Rational Unified Process (RUP) and agile development models.
Phases of incremental Model
- Product analysis expertise identifies the functional requirements and non-functional requirements.
- Product analysis expertise communicates with the customer and note down all the requirements of the customer.
Design & Development
- The design phase defines how the system will accomplish what was defined in the Requirement analysis phase.
- In the design phase, all components of the system are defined.
- Coding is done for developing software.
- Design, which is finalised in designing phase, is now implemented practically and the coding is completed.
- Programs are coded in small units to implement the working product
- The goal of the testing phase is to find errors, which means that a good testing strategy is the one that finds most errors.
- Examines the performance of each existing function as well as additional functionality.
Advantages of Iterative Model
- Errors are easy to detect.
- Easier to test and debug during a smaller iteration
- More Flexible, hence less costly to change scope and requirements.
- Lowers initial delivery cost.
- Easy to manage risk because it is managed through iteration.
Disadvantages of Iterative Model
- Needs good planning and design.
- Total cost is higher than waterfall.
- Needs well-defined module interfaces.
When to use the Incremental model?
- This model can be used when the requirements of the whole system are clearly defined and understood.
- There is a need to get a product to the market early.
- Resources with required skill sets are not available
- There are some high-risk features and goals.