Управление
#статьи

Методология разработки Waterfall: что это, как работает и чем отличается от Agile

Сейчас Waterfall не так часто используют, но без неё никто бы не придумал Agile. Рассказываем для менеджеров проектов и тех, кто хочет ими стать.

 vlada_maestro / shutterstock

Бывает, что в теории методология ясна, а потом дело доходит до внедрения и начинаются вопросы. На курсе «Руководитель digital-проектов» преподаватели Skillbox разбирают инструменты управления на реальных кейсах, чтобы студенты легко и безошибочно применяли их в работе.

Что ещё за Waterfall?

Waterfall — модель «Водопад», водопадная или каскадная разработка продуктов. Она подобно потоку воды направляет команды решать задачи последовательно и строго по изначальному плану. Название появилось в 1970 году в статье Винстона Уолкера Ройса, директора Lockheed Software Technology Center, а структура позаимствована у диаграммы Ганта.

.

Принципы водопадной модели разработки

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

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

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

Аналитика

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

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

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

Разработка

На этом этапе пишут код продукта согласно плану, макетам и требованиям. Ни шагу в сторону, всё четко по ТЗ.

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

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

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

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

Как отличить Waterfall от гибких методологий

Классическая методология Waterfall — это работа по заранее написанному и согласованному ТЗ. Гибкость здесь не приветствуется. В этом основное отличие водопадной модели от Agile.

Жизненный цикл продукта в Agile и Waterfall

Waterfall отличается от Agile и самими принципами работы, о которых мы говорили выше.

.

12 принципов Agile

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

Эти принципы появились из agile-манифеста.

.

Манифест гибкой разработки ПО

  • Люди важнее инструментов.
  • Качество продукта важнее документации.
  • Взаимодействие с заказчиком важнее контракта.
  • Готовность к изменениям важнее установленного плана.

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

.

Манифест водопадной модели разработки ПО

  • Следуйте правилам.
  • Нет ТЗ — нет продукта.
  • Чем подробнее ТЗ, тем лучше продукт.
  • Следите, чтобы не было изменений.

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

Фреймворк Scrum — это часть Agile, поэтому он тоже отличается от водопадной модели разработки. В этой таблице мы собрали их основные отличия.

Waterfall
каскадная модель
Scrum
итерационная модель
Все требования известны вначале и не меняютсяТребования могут меняться по ходу проекта
Объемное и подробное ТЗБэклог
Тестирование в концеТестирование после каждой итерации
НегибкаяГибкая
Готовый продукт в концеРаботающая часть продукта после первой итерации
Клиент не видит промежуточный результатКлиент видит и может влиять на промежуточный результат

.

Если хотите разобраться подробнее:

Заключение

Waterfall — это методология, где всё изначально продумано и зафиксировано, и в этом есть свои плюсы. Бывают проекты, которым она подходит, — такие, в которых все требования известны заранее и не могут измениться по ходу работы и где нет риска ошибиться.

В Digital такое бывает редко, поэтому команды добавляют к каскадной модели гибкие практики: например, проверяют продукт на соответствие требованиям после каждого этапа работы, а не в самом конце.

Курс

Excel + Google Таблицы с нуля до PRO

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

Узнать про курс

Учись бесплатно:
вебинары по программированию, маркетингу и дизайну.

Участвовать
Обучение: Excel + Google Таблицы с нуля до PRO Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована