Iterative or Incremental?
Both of these adjectives are being used to describe Software Development these days. The way they are used, it is hard to tell if they are synonyms, or if they are two different things.
Various dictionary definitions lead me to conclude they are different things.
Iterative would seem to be executing a process or procedure to produce an end result to a desired level of accuracy. If the desire is to increase the level of the result, you repeat the overall process to get to that next level of accuracy. Each time through the process is an Iteration. (There is a definition specific to computing, to describe multiple executions of a loop in a program, but that actually doesn’t apply in this discussion.)
On the other hand, Incremental would seem to be the process of building something piece by separate piece until the whole is complete. One execution produces part of the desired result, an Increment. Compare this to an Iteration, where each execution produces all of the end result to some degree, not just a part of it.
If I am explaining the obvious to you, please excuse me. If not, I will tell you to think about the above difference each time someone talks about Iterative or Incremental Development, and see if the method bearing the name matches to its underlying meaning, or not. If not, get them to define it. They may indeed be using one word as meaning the other, and I suppose that’s OK if everyone understands their definition.
So, I am going to follow my own advice, and if I get some results worth reporting, I will post them here.
(To start, I went back to RUP, to confirm it uses Iterations, defined as above.)