Iteration

An iteration is a fundamental building block of all [|agile] processes. It is also a fundamental part of the [|Unified Process] and pretty much all forms of object-oriented software development processes advocate iterative development.

An iteration is **short**, lasting between 2 - 4 weeks typically (1 week is a bit short but possible, more than 4 weeks and you increase the risk of wasting effort).

For a given project, the iteration length should be **consistent**. If you start with 2 week iterations, stick with 2 week iterations.

At the end of an iteration, work should be **done** or complete.

It is better to use more people doing fewer things in an iteration to return to completeness more frequently. Why? If you have a lot of work unfinished at the end of an iteration, then it is harder to make significant direction changes.

It is better to finish less work than not meet the end of iteration deadline.