Методология разработки продукта Waterfall

Методология Waterfall, известная также как каскадная модель разработки, хоть и утратила свою популярность, сыграла важную роль в формировании Agile. Эта модель предполагает последовательное и строгое выполнение задач согласно заранее определённому плану. Название появилось в 1970 году в статье Винстона Уолкера Ройса, директора Lockheed Software Technology Center, а структура была заимствована у диаграммы Ганта.

Что такое Waterfall?

Waterfall — это метод разработки продуктов, который напоминает поток воды, направляя команды к выполнению задач строго по плану.

Основные принципы Waterfall

  • Документация и инструкции — всё должно быть тщательно задокументировано.
  • Каждый следующий этап начинается только после завершения предыдущего.
  • Пропуск этапов не допускается.
  • Если требования к продукту меняются после утверждения, техническое задание (ТЗ) переписывается.
  • Возврат к предыдущим этапам для внесения изменений невозможен.
  • Процесс создания продукта линейный и не предполагает итераций.
  • Ошибки выявляются и исправляются только на этапе тестирования.
  • Клиент не участвует в разработке после утверждения ТЗ.

Как работает Waterfall?

Разработка по каскадной модели состоит из пяти последовательных этапов:

1. Анализ

На этом этапе собираются требования к продукту, составляется подробное техническое задание, разрабатывается график работ и оцениваются возможные риски. Переход к следующему этапу возможен только после завершения всех этих шагов.

2. Проектирование

Создаётся прототип и дизайн-макеты. После их готовности подключаются разработчики.

3. Разработка

На этом этапе создаются конструкторская документация или код продукта в соответствии с планом, макетами и требованиями. Всё должно строго соответствовать ТЗ.

4. Тестирование

По разработанной документации создается прототип продукта и начинается его тестирование. На этом этапе могут обнаружиться серьёзные ошибки в конструкции или коде, что потребует значительного времени на их исправление. Это один из главных недостатков каскадной модели.

5. Эксплуатация и поддержка

Продукт передаётся заказчику, и за его работой наблюдают по заранее согласованному сценарию в течение определённого времени.

Чем Waterfall отличается от Agile?

Основное отличие Waterfall от гибких методологий заключается в том, что в классической каскадной модели все задачи выполняются строго по заранее написанному и согласованному ТЗ. Гибкость здесь не приветствуется. В отличие от этого, Agile предполагает гибкость и адаптацию к изменениям.

Если бы у Waterfall был манифест, он мог бы выглядеть так:

  • Следуйте правилам.
  • Без утверждённого ТЗ нет продукта.
  • Чем подробнее ТЗ, тем лучше продукт.
  • Избегайте изменений.

Заключение

Waterfall — это методология с заранее продуманным и зафиксированным планом, что имеет свои преимущества. Она подходит для проектов, в которых все требования чётко определены и не могут измениться (например, строительство дома). Однако в современных условиях это случается редко. Поэтому команды часто добавляют к каскадной модели гибкие элементы, например, проверяют продукт на соответствие требованиям после каждого этапа разработки, а не только в конце.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вы не можете скопировать содержимое этой страницы