Ответ
Waterfall (водопадная модель) — это линейно-последовательная методология разработки программного обеспечения, где процесс разделен на строгие, заранее определенные этапы. Каждый этап должен быть полностью завершен и задокументирован до перехода к следующему, возврат на предыдущие стадии крайне затруднен.
Ключевые этапы:
- Сбор и анализ требований — создание фиксированного технического задания (ТЗ).
- Проектирование системы — разработка архитектуры и дизайна.
- Реализация (кодирование) — написание кода согласно проекту.
- Тестирование (верификация) — проверка готового продукта на соответствие ТЗ.
- Внедрение и поддержка — развертывание и последующее обслуживание.
Преимущества:
- Четкость и предсказуемость: Легко планировать сроки, бюджет и ресурсы.
- Хорошая документация: Каждый этап имеет формализованный результат.
- Простота управления: Подходит для команд с низким уровнем экспертизы.
Недостатки:
- Негибкость: Изменение требований в процессе разработки крайне затратно или невозможно.
- Позднее тестирование: Критические ошибки обнаруживаются только на финальных стадиях.
- Риск устаревания: Долгий цикл разработки может привести к неактуальности продукта на момент выпуска.
Когда использовать? Waterfall подходит для проектов с четкими, неизменными и полностью понятными требованиями, например, для государственных заказов, систем безопасности или встроенного ПО, где стандарты строго регламентированы.