Устройство каскадной модели

Каскадная модель, известная также как Waterfall (водопад) — один из наиболее известных подходов к разработке ПО. Автором модели является Уинстон Ройс. В 1970 году он описал суть своей инновации в статье с подробным изложением ее преимуществ и недостатков. Там же он объяснил, как эту модель можно доработать до итеративной модели. Первоначально в каскадной модели стадии разработки идут в следующем порядке:

  • Определение и согласование требований;
  • Утверждение проекта;
  • Кодирование;
  • Создание рабочей версии программного продукта;
  • Тестирование и отладка;
  • Установка ПО;
  • Поддержка.

Согласно каскадной модели, выполнение действий разработчиком происходит последовательно — пункт за пунктом. Для начала завершается работа по определению и согласованию требований к ПО в виде списка, подлежащего выполнению.

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

Если проектирование завершено, разработчики берутся за реализацию. Далее происходит слияние кода — интеграция отдельных частей проекта, работу над которыми вели различные участники команды.

На следующем этапе происходит тестирование и отладка продукта. Тут устраняются ранее обнаруженные ошибки.

Наконец, происходит установка программы с обеспечением ее поддержки. Она предполагает внесение, при необходимости, изменений в функционал и устранение найденных ошибок.

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

Плюсы и минусы

Время от времени каскадную модель подвергают критике из-за ее недостаточной гибкости. Многим она не нравится по причине того, что в ней превалирует цель управления проектом, тогда как соблюдение дедлайнов, стоимость и качество разработки намного важнее.

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

Несмотря на недостатки, в PMBOK 3-й версии формально указана лишь методика “каскадной модели”. Иные варианты, в том числе, итеративное ведение проектов, в ней не предлагаются.

Преимущества каскадной модели:

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

Недостатки каскадной модели:

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

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

При использовании каскадной модели главное — составить детальные требования. Во время тестирования не должно оказаться, что где-то есть баг, оказывающий пагубное влияние на весь проект.