The iterative enhancement model in software engineering combines elements of the linear sequential model with the iterative philosophy of prototyping. In this model, the software is broken down into several modules which are incrementally developed and delivered. Firstly, the development team develops the core module of the system. After that, it is refined into increasing levels of capacity of adding new functionalities in successive versions.
When it is used the first increment is often a core product i.e basic requirements are addressed but many supplementary features are undelivered. The core product is used by the customers. As a result of use or evaluation, a plan is developed for the next increment. The plan addresses the modification of the core product to meet the needs of customers, and the delivery of additional features and functionality. This process is repeated following each delivery of increment until the complete product is produced.
Advantages of Iterative Enhancement Model:
- The feedback from early increment improves the later stages.
- The possibility of changes in requirement is reduced due to the shorter time span between the design component and its delivery.
- Users get benefits earlier than the conventional approach.
- Smaller sub-projects are easier to control and manages.
- File priority features are incorporated in early deliverables.
Diadvantage of Model:
- Programmers may have more productive working on one large system than on the series.
- The development cost of the total product is higher.
- The time period for the delivery of the entire functionality is higher.
- Planning of delivery increments is critical to success.
- Wrong planning results to diaster.
When to Use Iterative Model:
- Model is used where risk of long project can not be taken.
- This model is for businesses where time is of essence.
Discover more from easytechnotes
Subscribe to get the latest posts sent to your email.