IterativeDevelopment is often confused with IncrementalDevelopment. IterativeDevelopment is about planned rework. You create something, review it and then change it (hopefully improving it) based on the feedback. A good analogy is when authors write books. Typically they have 2 or 3 external reviews and rewrites before it goes to the copy editors. The iterations are planned rework. Having reviewed lots of initial drafts, believe me when I say you wouldn't want to pay to read the first draft of many books. It's bad enough reading initial drafts when you are being paid to read it (a sentiment I hope is not shared by my reviewers). -- PeteMcBreen ---- Let me see if I've got this, I'll use the book writing analogy: IterativeDevelopment means: * I write loads of stuff that's a complete mess * I go through it throwing out the irrelevant drivel, expanding on the important bits, and sorting out the structure * I go through it again now I can start to see the shape of it, sorting it some more * I go through it yet again, etc, until it's GoodEnough IncrementalDevelopment means: * I write part one * I write part two * I write part three, etc, until the book is finished Now incremental development may work OK for novelists (e.g. Charles Dickens, or J.K. Rowling), but when you try doing it with computer systems you find that in writing part two, you need to revise and rework some of part one (e.g. to allow reuse), and in writing part three you need to reworks parts one and two, etc..., especially if you subscribe to OnceAndOnlyOnce and MercilessRefactoring. So in practice, at least in XP practice, your development is both incremental '''and''' iterative. - StephenHutchinson True - The danger is when people confuse the two. I saw a 200 person project ''iterating'' on their requirements (allowing arbitrary amount of change) when they should have been ''incrementing'' through their requirements, and incrementing & iterating (as you describe) through their design. They were, of course, not making any progress. Also saw a 100 person project claiming they were iterating through their entire novel, when in fact they were doing neither - they were stuck in the mud. They needed to get at least some part working first so they could tell they were moving - once again, needed incrementing as a base. -- AlistairCockburn