• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Paul Clapham
  • Bear Bibeault
  • Junilu Lacar
Sheriffs:
  • Jeanne Boyarsky
  • Tim Cooke
  • Henry Wong
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • salvin francis
  • Frits Walraven
Bartenders:
  • Scott Selikoff
  • Piet Souris
  • Carey Brown

Iterative vs. Incremental development

 
Ranch Hand
Posts: 282
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The IBM Certification Exam (ICE) for the 486 exam has the following question:
An iterative development process:
a) represents a structured methodology, which includes functional decomposition.
b) is a technique for managing complexity and plans for change during software development.
c) is a top-down approach without the dataflow diagrams.
d) is equivalent to an incremental development process.
Apparently b) is the correct answer. I have no problem with that. However, what makes d) wrong? Is not iterative development, by its very nature, incremental?
Can someone define incremental vs. iterative? Fowler and Larson both have little to say about incremental development and, consequently, do little to contrast it to iterative development.
 
Ranch Hand
Posts: 54
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
You run an iteration and on completion you take a step forwrd i.e.increment. Its like finishing a lap in formula races
Thats how i understand it

------------------
SCJP2
 
Jay Damon
Ranch Hand
Posts: 282
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I understand the distinction you are attempting to make. However, that isn't quite enough for me. As you proceed through an iteration, aren't you incrementally adding to your code base by incorporating new use cases or use case scenarios to your code? And if you are, my basic question remains: What's the difference between iterative and incremental development?
 
Greenhorn
Posts: 16
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Development can be both iterative and incremental at the same time. Purely iterative development does not add any new functionality (or new use cases) - that is, the development work is geared mostly towards improving the existing application. Each iteration is supposed to provide a better approximation to the desired system than the previous iteration.
Incremental development means going thru the whole application by increments (several use cases at one time instead of all use cases at once).
I think Kulak's book on Use Cases explains the difference between the two terms quite well. Unfortunately, I only read it at the bookstore:-)


[This message has been edited by Salvador Villavieja (edited August 10, 2001).]
 
Ranch Hand
Posts: 1157
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Jay,
If you read the Larman's book on this topic, you would realize iterative development is about enhancing the same use case over a span of iterations.You are still addressing the same business functionality which is described by the original use case.You are only providing yourself an opportunity to adjust to the changing requirements of the client's business needs for the same functionality by using iterative cycle of development.
In the case of incremental development, you are adding a new functionality to the already completed cycle of development.This typically means you have finished developing the functionality you had identified during the first phase of requirement analysis(or have released the first version which addresses the functionality) and are now proceeding to the second phase of development wherein you are enhancing the functionality of the developed first version of the product.You are doing this using the incremental cycle of development.
The new use cases identified in this new cycle addresses additional functionality which are completely different from those addressed while developing the first version of your system.You will carry out this incremental development in the same iterative way as you did during the the first version - this time though with another set of use cases.
This means incremental development is be done in an iterative manner, and hence they are not same!
Hope this helps,
Sandeep
SCJP2,OCSD(Oracle JDeveloper),OCED(Oracle Internet Platform)
[This message has been edited by Desai Sandeep (edited August 10, 2001).]
 
What's that smell? Hey, sniff this tiny ad:
the value of filler advertising in 2020
https://coderanch.com/t/730886/filler-advertising
    Bookmark Topic Watch Topic
  • New Topic