The term “incremental” itself is clear in its intentions. This approach is to develop project/product by developing it in smaller parts and combining/adding to produce final outcome. However, this approach would only work if there is definite understanding of Final Outcome.
In simple terms Customer should be very clear and firm in his/her ask and he should be able to define requirements to engineering team (developers). For Example, a customer is looking for a product as shown and able to explain to exactly.
In this case, engineering team can decide and develop the product in smaller logical portion independently. Team can also get these independent parts with customer and obtains his consent. And later it can combine, assemble or add to deliver final outcome.
The KEY POINT is INCREMENTAL Approach would fit when the Requirements are CLEAR and DEFINITE.
Iterative mean repetitive or recurring. Therefore, when one does the same activities or task again and again. This is more relevant when the customer is not so sure about his requirements. He has vague idea of product which he would like to have.
In this case engineering team has no alternative but to start working on assumption and develop an outcome. This outcome would be reviewed by customer and he either agrees or give feedback. Engineering team again develop the product based on feedback and customer would again review and either provide approval or feedback. And this would repeat until customer is happy with final product.
If you carefully think, many of us did the same during our school days where we complete one exercise and teachers used to discard. And this was endless process sometime.
Also one needs to note that this is a COSTLY approach.
Therefore – What’s the SOLUTION?
Solution is to merge INCREMENTAL and ITERATIVE approach in a manner that engineering team would be able to receive and implement customer feedback regularly on partly developed components and increment to produce final product.
In this manner, engineering team does need not to repeat the entire cycle again and again.
AGILE is ITERATIVE and INCREMENTAL