Although waterfall model was very useful for software development in the mid part of the 20th century as time went on the fast changing nature of the world meant solutions are obsolete before they could enter the market. In this scenario the iterative and Incremental development(IID) model was created to solve this issue. Interestingly the primary avionics software system of the space shuttle was created by this methodology. It had a series of 17 iterations over 31 months.
The IID model has a set of steps which are worked through in an iterative format and provides customer value early on in the project i.e version 1 would be provided first and based on user feedback the software can be made better in an incremental fashion.
This methodology should be used in the following scenarios:
- In projects where the requirements are not well understood
- In projects where there is no complete buy in from the executive team. So this model can be used to build a quick solution which can be used as the base point for complete buy-in
- The project has heavy time constraints
The pros and cons of the IID model are as follows:
- Provides early value to the end user
- Requirements can be changed midway and problems can be detected earlier
- The IDD model because of various stakeholders can through successive iterations make the software bloated