Ітерація - це акт повторення процесу з метою створення послідовності результатів (можливо необмежених) з метою наближення до бажаної мети або результату. У контексті математики або інформатики ітерація (разом із пов'язаною з нею технікою рекурсії) є стандартним будівельним блоком алгоритмів.
У комп'ютерному програмуванні ітерація, яку також називають англійським терміном loop, є структурою управління в межах алгоритму, що вирішує дану проблему, яка наказує комп'ютеру багаторазово виконувати послідовність інструкцій, як правило, до виникнення конкретні логічні умови.
Важливо підкреслити, що послідовність та виділення складають одну з трьох фундаментальних структур для алгоритмічного вирішення конкретної задачі згідно з теоремою Бема-Якопіні. Існує кілька форм ітерації; найвідоміші - MENTRE, REPEAT і PER. Можна сказати, що ітерація - це сильна ланка програмування, яка дозволяє автоматизувати продуктивність процесу, чого недостатньо для простого виконання послідовності інструкцій.
Так званий "нескінченний цикл" - це ітерація через помилку програмування, яка зупиняє виконання програми, тоді як у деяких техніках програмування, особливо з мікроконтролерами, вона навмисно використовується для нескінченної ітерації в межах програми.
При розробці програмного забезпечення ітерація використовується для опису евристичного процесу планування та розробки, де додаток розробляється невеликими розділами, які називаються ітераціями. Кожна ітерація переглядається та критикується командою програмного забезпечення та потенційними кінцевими користувачами; Дані, отримані в результаті критики ітерації, використовуються для визначення наступного кроку у розвитку. Моделі даних або схеми послідовностей, які часто використовуються для побудови ітерацій, відстежують те, що було випробувано, схвалено чи відкинуто, і врешті-решт служать своєрідним планом для кінцевого продукту.
Проблема з ітеративним розвитком полягає в тому, щоб переконатися, що всі ітерації сумісні. У міру схвалення кожної нової ітерації розробники можуть використовувати техніку, відому як зворотна інженерія, яка є систематичною процедурою перегляду та перевірки, щоб переконатися, що кожна нова ітерація сумісна з попередніми. Перевага використання ітеративної розробки полягає в тому, що кінцевий користувач бере участь у процесі розробки. Замість того, щоб чекати, поки додаток стане кінцевим продуктом, коли зміни не є простими, проблеми виявляються та вирішуються на кожному етапі розробки. Ітераційний розвиток іноді називають круговим або еволюційним розвитком.