Waterfall - каскадная модель
Это самый простой, популярный и устаревший подход в разработке. Он хорошо подходит для простых проектов и совсем не подходит для сложных. У него есть всего одно достоинство: вы сразу знаете, сколько будет стоить проект. Недостаток этого подхода заключается в том, что проект, скорее всего, потребует значительных доработок в будущем.
Чаще всего компании, используя такой метод, сталкиваются именно с этим недостатком - заказанный проект не работает так, как им нужно. Связано это с тем, что очень тяжело описать необходимые потребности и невозможно учесть все тонкости, даже если вы до тошноты будете расписывать каждый вдох.
В Waterfall существует следующий порядок действий:
- Определение требований
- Проектирование
- Конструирование (также «реализация», либо «кодирование»)
- Воплощение
- Тестирование и отладка (также «верификация»)
- Инсталляция
- Поддержка
Как разработчик с классическим подходом, я вижу в этом тексте не анализ, а продвижение модной идеологии. Waterfall здесь выставляют устаревшим, хотя именно он десятилетиями применялся для действительно сложных и ответственных систем, где важны архитектура, требования и предсказуемость, а не бесконечные итерации. Проблемы с результатом обычно возникают не из-за метода, а из-за плохой аналитики и слабой постановки задач, которые Scrum не решает, а лишь маскирует постоянными изменениями. Agile не убирает риски, он просто растягивает их во времени, добавляя митинги, давление спринтов и хаос в архитектуре. Waterfall это не пережиток прошлого, а инструмент, который отлично работает там, где есть ответственность, планирование и понимание конечной цели.