In agile software development, an iteration is a single development cycle, usually measured as one week or two weeks. An iteration may also be defined as the elapsed time between iteration planning sessions.

While the adjective iterative can be used to describe any repetitive process, it is often applied to any heuristic planning and development process where a desired outcome, like a software application, is created in small sections. These sections are iterations. Each iteration is reviewed and critiqued by the software team and potential end-users; insights gained from the critique of an iteration are used to determine the next step in development. Data models or sequence diagrams, which are often used to map out iterations, keep track of what has been tried, approved, or discarded -- and eventually serve as a kind of blueprint for the final product.

In general, an iteration is the act of repeating.

In mathematics, an iteration refers to the repetition of a function

This was last updated in January 2009

Dig Deeper on Agile, DevOps and software development methodologies