Waterfall
Waterfall
Waterfall є традиційною та найстарішою методологією розробки ПЗ, яка визначає послідовний підхід до розробки проєкту. Тут стадії розробки послідовно слідують одна за одною, подібно до каскаду, і кожна стадія має свої завдання та результати, які повинні бути завершені перед переходом до наступної.
Стадії
Основні стадії Waterfall включають:
- Визначення та аналіз вимог (Requirements Analysis). На цій стадії збираються всі вимоги від клієнта до програмного продукту: аналіз бізнес-потреб, функціональні та нефункціональні вимоги. Також тут створюються проєктні документи.
- Дизайн системи (System Design). Тут розроблюються архітектура системи, структура бази даних і деталі інтерфейсу користувача.
- Реалізація (Implementation). Це стадія, під час якої виконується розробка програмного продукту на основі проєктних документів.
- Тестування (Testing). Тут відбувається тестування програми з метою виявлення помилок і дефектів, наприклад, юніт-тестування, інтеграційне та системне тестування.
- Впровадження (Deployment). Після успішного тестування програма впроваджується в робоче середовище користувачів.
- Підтримка та обслуговування (Maintenance). На цій стадії забезпечується підтримка та виправлення помилок після впровадження.

Плюси та мінуси
Плюси моделі Waterfall:
- Простота та структурованість. Модель є легкою в розумінні та використанні, оскільки стадії розробки послідовно слідують одна за одною, що спрощує планування та виконання проєкту.
- Стабільність вимог. Вимоги фіксуються на початку проєкту, і зміни в них обмежені, що сприяє уникненню частого перегляду та змін у процесі розробки.
- Легка оцінка прогресу. Через послідовний характер моделі легко визначити прогрес проєкту та його відповідність графіку та бюджету.
- Документація. Кожна стадія супроводжується створенням документів, що дозволяє легко передавати проєкт іншим командам або розробникам у разі необхідності.
Мінуси моделі Waterfall:
- Обмежена гнучкість. Модель не передбачає можливості легко вносити зміни в розробку на пізніших стадіях, що може викликати проблеми, якщо вимоги змінюються.
- Ризик непорозумінь замовника. Якщо вимоги не були правильно визначені на початку проєкту, можуть виникнути непорозуміння між розробниками та замовником.
- Довгий цикл розробки. Модель Waterfall часто є часомісткою, особливо для великих і складних проєктів, оскільки кожна стадія має бути завершена перед переходом до наступної.
- Низька адаптивність до змін. Якщо виникають неочікувані проблеми або зміни, модель Waterfall може бути неефективною у вирішенні таких ситуацій.
- Відсутність реального продукту до завершення. Користувачі не мають можливості перевірити та використати реальний продукт до завершення всіх стадій.
Коли краще використовувати Waterfall?
Ця модель найкраще підходить для проєктів, де вимоги стабільні, а зміни малоймовірні. Наприклад, управліннями базами даних або іншими добре визначеними системами, де потрібна велика стійкість та надійність.