Incremental and Iterative model

When we think of incremental and iterative development we always get confused because of the alliteration in the name. Both are software development life Cycle models used as a traditional models.But there is vast difference. Let us understand that with a figure:

incremental model 1
Incremental model
iterative model
Iterative model

When we build a car and the car is to be developed in parts, as shown in figure 1, it is said to be developed using incremental approach.

But when the evolution occurs and every version of the software comes with an improved features and functionality, as shown in figure 2, a skateboard followed by a cycle followed by bicycle followed by a bike and then a car, it is said to be iterative development in which the user can get the product at the end of each phase of iteration.

Incremental model:

According to definition, when a product is made in modules or parts and then integrated at each phase, it is said to be developed using incremental approach. Let us take the example of developing a Taxi booking system.

Increment 1: Login and signup for customers

Increment 2: Finding the taxi using Google Map.

Increment 3: Pay using debit card. (Payment Gateway integration)

At each phase the system is integrated and the customer gets the complete product at the end only as shown in figure.

incremental model

When to use incremental model ?

  • When the majority of requirements are known upfront and can handle little flexibility.
  • Time to market is important.
  • To reduce the risk of big bang approach as it persist in the case of waterfall model.
  • When quality is more important then budget.

Disadvantages of using incremental model:

  • Needs proper plan for integration.
  • Care should be taken not to go into infinite loop of increments.
  • Designing approach should be properly planned.
  • More costly in terms of time and budget.
  • Risk is not taken into consideration.

Iterative Model:

Iterative development works in the same way as it is in case of incremental but here a new version of software or product is released at each phase or iteration. Let us take the example of Whatsapp as an application. When first it was released in the market it was merely for instant messaging. You could send and receive messages and smileys to an extent.

In second iteration they might have thought about the image sharing functionality. Again the output was delivered to the end customer with new version.

Again think of the scenario where they thought of implementing the file sharing in the third iteration and again a newer version of the product cam into the market. In this way at each iteration they improve the product in this model.

The figure for working of iterative model is shown below:

iterative model 1
Created using: creately.com

When to use iterative model ?

  • When the part of requirements are known in advance and it is expected to evolve over time.
  • When the needed skilled resources are expected to come at later stage in the project.
  • When customer needs less time to market.
  • When highly featured product is expected.

Disadvantages of using iterative model:

  • Not suitable for small products.
  • Though the price for change is less but it can not handle the frequently changing requirements.
  • Management complexity is high of this model.
  • Initial cost is very high as compared to waterfall model.
  • Risk is not taken into consideration.

For more queries please write in the comment box or contact me on my personal email id.

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s

Powered by WordPress.com.

Up ↑

%d bloggers like this: