Реализация проекта методом Waterfall
Pm c 0 до Junior за 9 месяцев
Waterfall, или каскадная модель, ― это классика в мире разработки продуктов. Она существует уже больше полувека. За это время она доказала свою эффективность, но обзавелась мощными конкурентами. Главный из них ― гибкий Agile, которым активно пытаются заменить последовательный каскад. Пора ли отказаться от водопада или классика никогда не устареет? Разбираемся в плюсах и минусах Waterfall и говорим о проектах, в которых водопаду до сих пор нет равных.
Что такое Waterfall и кто его придумал
Waterfall (каскад или водопад) — классическая модель разработки продуктов. Американский ученый-информатик Уинстон Уокер Ройс придумал и описал ее еще в 1970 году, а в 1976 году ученые Томас Белл и Томас Тэйер дали ей название. Сначала Waterfall использовали в создании любого программного обеспечения, но потом появилась модель Agile и водопад засох. Теперь каскадную модель применяют в авиастроении, военной или космической отраслях, медицине и финансовом секторе. Там Waterfall самое место, потому что этим сферам нужны четко выстроенные процессы и сроки, а это суть каскада. Отсюда и сравнение с водопадом: каждый этап создания продукта, словно поток воды, продолжает предыдущий и не может начаться, пока прошлый не завершился.
Из каких этапов состоит Waterfall
Уокер Ройс придумал циклы водопада 50 лет назад, и с тех пор они не меняются. Кроме того, этапы создания проекта всегда идут в одинаковой последовательности и пропускать какой-то из них нельзя.
- Аналитика. Самый длительный этап. Исполнитель обсуждает продукт с заказчиком, получает требования, прописывает и утверждает планы, цели и бюджет, графики работ, процессы, риски. После этого нужно составить техническое задание и инструкции. Отступать от них на следующих этапах нельзя.
- Проектирование. На этом этапе создается прототип ПО. Также нужно выбрать платформу для программирования и утвердить роли в команде.
- Разработка. Здесь необходимо написать код продукта четко по техническому заданию.
- Тестирование. На этом этапе проверяют соответствие кода техническому заданию.
- Эксплуатация. Исполнитель выпускает продукт и согласовывает его с заказчиком. После этого нужно проанализировать результат, собрать фидбэк и указать критичные баги. Если их много, весь процесс придется начать сначала.
- Поддержка. На завершающем этапе исполнителю остается поддерживать работоспособность, устранять сбои и собирать обратную связь от пользователей, чтобы расширить или заменить функционал.

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

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

Плюсы и минусы Waterfall
Плюсы:
Наличие инструкций и правил по всему процессу. Работа начинается с подробного анализа требований заказчика и того, как будет реализован проект. Планы, этапы и процессы утверждаются заранее, фиксируются в документах и вопросов не вызывают. Исполнителю нужно просто им следовать.
Определенность в сроках и бюджете. Стоимость продукта и сроки сдачи проекта рассчитаны и утверждены в самом начале и не меняются в процессе.
Отсутствие дополнительных трат на коммуникацию в команде. Даже если придет новый разработчик или тестировщик, понять задачу и приступить к работе получится быстро: для всех процессов есть описанные правила.
Минусы:
Отсутствие гибкости. Невозможно предусмотреть все проблемы в проекте заранее. Из-за жесткой последовательности этапов недочеты станут известны только в конце проекта, придется делать дополнительные итерации и начинать работу заново, а это новые затраты и лишние рабочие часы.
Заказчик не допускается до разработки и тестирования. Он не может комментировать макеты или прототипы и видит результат только в конце проекта. Если изменились требования или условия, заранее учесть это невозможно.
Проблемы всплывают только при тестировании. Сделать часть работы и сразу протестировать или совместить разработку и тестирование, чтобы найти уязвимости, нельзя. Тестирование начинается после окончания разработки, поэтому часто недостатки обнаруживаются слишком поздно.
Чек-лист, который подскажет, подойдет ли Waterfall вашему проекту
- Вы четко знаете, какой продукт нужно получить в итоге.
- У вас много времени и ресурсов на проект.
- Вам нужна детальная документация по всем процессам разработки.
- Создание вашего продукта строится на строгой последовательности этапов.
- Большая часть работы над проектом ― на аутсорсе.
Подсказка. Вам точно подойдет каскадная модель, если вы делаете строительный проект, работает в авиастроении, медицине, финансовом секторе, военной или космической отрасли. Откажитесь от водопада в пользу Agile, если проект создается для стартапа или IT-компании.
Как отличить Waterfall от гибких методологий
Классическая методология Waterfall — это работа по заранее написанному и согласованному ТЗ. Гибкость здесь не приветствуется. В этом основное отличие водопадной модели от Agile.

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

Домашнее задание:
Придумайте любой проект который может подходить под каскадную модель проектного менеджента.
Опубликуйте свой ответ в комментариях под постом.
Не боимся делать ошибки, т.к мы только учимся.
😱 Дедлайн ДЗ: Пятница (24.06) до 12:00