Загальна послідовність створення та загальні вказівки по числу ітерацій, необхідних для кожної стадії, обговорюються нижче. Ітерація зазвичай означає повну синхронізацію протягом виконання проекту з добре організованою глобальної оцінкою проекту в цілому.
Мал. 10.4. Баланс між різними видами планування протягом життєвого циклу.
Решта мікроітераціі, такі як щомісячні, щотижневі або щоденні роботи, виконуються в міру руху до точок синхронізації на рівні проекту.
■ Ітерації на початковій стадії. Ранні роботи по створенню прототипів інтегрують основні компоненти передбачуваної архітектури і забезпечують реалізовану основу для деталізації критичних варіантів використання системи. Така основа включає в себе вже існуючі компоненти, комерційні компоненти і прототипи, зроблені на замовлення, достатні для того, щоб продемонструвати передбачувану архітектуру і розуміння вимог, що забезпечує створення достовірного бізнес-плану, загальної концепції та плану розробки ПО. Великомасштабні ,.
виконувані на замовлення розробки можуть зажадати двох ітерацій для створення прийнятного прототипу, однак для більшості проектів виявляється цілком достатньо однієї ітерації.
■ Ітерації на стадії уточнення. Ці ітерації приводять до створення архітектури, включаючи повну основу та інфраструктуру для функціонування системи. По завершенні «архітектурної» ітерації необхідно продемонструвати деякі критичні варіанти використання. Серед них: (1) ініціалізація архітектури, (2) включення сценарію для того, щоб пропустити через систему потік даних для обробки при найгірших умовах (наприклад, виконання транзакцій або сценарію при піковому навантаженні) і (3) введення сценарію для контролю за проходженням через систему потоку управління при найгірших умовах (наприклад, варіантів використання для відновлення після збоїв). У більшості проектів для отримання прийнятною базової архітектури необхідно запланувати дві ітерації. Для архітектури, яка не має прецедентів, може знадобитися кілька додаткових ітерацій, в той час як проекти, засновані на усталеної схемою архітектури, зможуть, ймовірно, обійтися однією итерацией.
■ Ітерації на стадії конструювання. Для більшості проектів на стадії конструювання потрібні принаймні дві основні ітерації: альфа-версія і бета-версія. В альфа-версію повинні бути включені функціональні можливості для всіх критичних варіантів використання. Зазвичай вони представляють лише близько 70% від загального обсягу продукту і виконуються з більш низьким рівнем якості (продуктивність і надійність), ніж той, що очікується в кінцевому продукті. Бета-версія, як правило, забезпечує 95% всіх можливостей продукту, і в ній досягаються деякі з найбільш важливих характеристик якості. Однак зазвичай потрібно завершити реалізацію ще кількох можливостей, а також поліпшити стабільність і продуктивність для приймання остаточної версії продукту. Хоча для більшості проектів досить двох ітерацій на стадії конструювання, існує багато причин, за якими слід додати одну або дві додаткові ітерації для контролю за ризиками або оптимізації використання ресурсів.
■ Ітерації на стадії введення в дію. Більшість проектів вимагає наявності єдиної ітерації по перетворенню бета-версії в кінцевий продукт. Знову-таки може знадобитися велика кількість неформальних маленьких ітерацій для виправлення всіх дефектів, для використання в бета-версії результатів, отриманих по зворотного зв'язку з користувачами, і для підвищення продуктивності. Однак через накладних витрат, пов'язаних з повномасштабною передачею товару призначеному для користувача спільноті, багато проектів примудряються обходитися однією итерацией між бета-версією і остаточним випуском продукту.
Загальна рекомендація така, що для більшості проектів буде потрібно від чотирьох до дев'яти ітерацій. Типовий проект буде складатися з шести ітерацій і мати такий вигляд :.
■ Одна ітерація на початковій стадії: архітектурний прототип.
■ Дві ітерації на стадії уточнення: архітектурний прототип і базова архітектура.
■ Дві ітерації на стадії конструювання: альфа- і бета-версії.
■ Одна ітерація на стадії введення в дію: випуск продукту.
Проекти, що мають багато прецедентів, з заздалегідь оцределенной архітектурою, або дуже невеликі проекти можуть обходитися однією итерацией на початковій стадії, об'єднаної зі стадією уточнення; в результаті для випуску продукту використовується всього лише чотири ітерації. Дуже великий проект або проект, який не має прецедентів, за участю багатьох зацікавлених сторін може зажадати однієї додаткової ітерації на початковій стадії і двох додаткових ітерацій на стадії конструювання, що в сумі складе дев'ять ітерацій. Пов'язані з цим накладні витрати можуть виявитися цілком розумною платою за впевненість у належному управлінні ризиками і в узгодженні дій всіх зацікавлених сторін.