Статьи
Не только Agile: как устроена модель Waterfall и в каких проектах ее использовать
bg

Не только Agile: как устроена модель Waterfall и в каких проектах ее использовать

Waterfall, или каскадная модель, ― это классика в мире разработки продуктов. Она существует уже больше полувека. За это время она доказала свою эффективность, но обзавелась мощными конкурентами. Главный из них ― гибкий Agile, которым активно пытаются заменить последовательный каскад. Пора ли отказаться от водопада или классика никогда не устареет? Разбираемся в плюсах и минусах Waterfall и говорим о проектах, в которых водопаду до сих пор нет равных.


Что такое Waterfall и кто его придумал

Waterfall (каскад или водопад) — классическая модель разработки продуктов. Американский ученый-информатик Уинстон Уокер Ройс придумал и описал ее еще в 1970 году, а в 1976 году ученые Томас Белл и Томас Тэйер дали ей название. Сначала Waterfall использовали в создании любого программного обеспечения, но потом появилась модель Agile и водопад засох. Теперь каскадную модель применяют в авиастроении, военной или космической отраслях, медицине и финансовом секторе. Там Waterfall самое место, потому что этим сферам нужны четко выстроенные процессы и сроки, а это суть каскада. Отсюда и сравнение с водопадом: каждый этап создания продукта, словно поток воды, продолжает предыдущий и не может начаться, пока прошлый не завершился.

Из каких этапов состоит Waterfall

Уокер Ройс придумал циклы водопада 50 лет назад, и с тех пор они не меняются. Кроме того, этапы создания проекта всегда идут в одинаковой последовательности и пропускать какой-то из них нельзя.

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

Основной инструмент водопада

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

CL_схема-02.png

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

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

CL_схема-03.png

Затем построим диаграмму Ганта. Мы использовали smartsheet, но это можно делать в Excel или просто на бумаге.

CL_схема-04.png

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

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

Плюсы:

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

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

    • Вы четко знаете, какой продукт нужно получить в итоге.
    • У вас много времени и ресурсов на проект.
    • Вам нужна детальная документация по всем процессам разработки.
    • Создание вашего продукта строится на строгой последовательности этапов.
    • Большая часть работы над проектом ― на аутсорсе.

    Подсказка. Вам точно подойдет каскадная модель, если вы делаете строительный проект, работает в авиастроении, медицине, финансовом секторе, военной или космической отрасли. Откажитесь от водопада в пользу Agile, если проект создается для стартапа или IT-компании.

    Где искать дополнительную информацию по теме

    Почитать

    Посмотреть

    Пройти обучение


    Теги

    Получите карьерную поддержку

    Если вы не знаете, с чего начать карьеру, зашли в тупик или считаете, что совершили какие-то ошибки, спросите совета у специалистов. Заполните заявку и консультанты Changellenge >> окажут вам помощь. Это отличный шанс вместе экспертом проработать проблемные вопросы и составить карьерный план.

    Подписаться на карьерную рассылку

    Подписывайтесь на рассылку и получайте карьерные советы — от выбора индустрии и компании до лайфхаков по самоорганизации и развитию коммуникативных навыков.