Что такое методология разработки Waterfall и как работает водопадная модель
Нашу статью сегодня мы решили посвятить Waterfall. Понятие в переводе с английского языка обозначает «водопад», в цифровой области – это определенный способ управления проектами, взявший в основу принцип водяного каскада. Разработка цифрового продукта предусматривает последовательное проведение работ, поочередный переход с этапа на этап без возможности пропустить какой-то из них или вернуться на предыдущую ступень. Так поступает поток воды, падающий на выступы скал, находящиеся на различной высоте.
Рассмотрим, что выигрывает проект, созданный Waterfall method, в чем плюсы, минусы, отличие от методики Agile.
Что такое методология Waterfall
Метод Waterfall, иными словами «каскадная модель», используется при разработке ПО для проектов, где к работе привлекаются несколько команд, десяток программистов. Сама работа над продуктом подразумевает поэтапную работу, без различных отступлений, откатов на предыдущие позиции. В данном случае очень важно, чтобы требования к создаваемому project были понятны, прозрачны, определены еще в начале пути.
Методология Waterfall зародилась в 50-х годах прошлого века. Сейчас актуальность ее несколько упала, так как на смену пришла Agile, которая должна благодарить за рождение свою предшественницу.
Особенности водопадной модели разработки
Методология разработки Waterfall строится на ряде правил, в них заключаются ее особенности:
- Все фазы работы должны быть отражены в документах;
- Работа проводится последовательно, выполнение следующего этапа начинается после завершения предыдущего;
- Исключается пропуск какого-либо этапа;
- При изменении требований к ПО их следует отразить в ТЗ;
- Работа проводится в рамках общего процесса, без повторений;
- Изменению подлежат только текущая, последующие фазы, но не те, которые были закончены;
- Поиск, исправление ошибок проводятся после завершения всей работы, в процессе тестирования;
- Заказчик может принять участие в создании ТЗ, но не в создании самого ПО.
Image by macrovector on Freepik.
Принципы работы Waterfall
Процедура разработки при Waterfall похожа на струю воды, поэтапно достигающей следующего уровня:
- Формирование списка требований к создаваемой программе. Это необходимо для составления детального технического задания, плана работы. Одновременно оцениваются всевозможные риски.
- Подготовка проектных документов. В них для программистов дается описание способа, схемы реализации требований по ТЗ. Создается прототип, макет дизайна, далее в дело вступают разработчики.
- Исполнение. Программисты начинают и завершают проект. Разработчики создают программный код, исходя из ТЗ, макетов, выставленных требований.
- Проведение тестирования. Этап сводится к определению работоспособности созданного ПО, его отладке. Специалисты получают возможность исправить недочеты, появившиеся на различных этапах разработки.
- Передача продукта заказчику, осуществление поддержки.
Плюсы и минусы водопадной модели
На сегодняшний день каскадная модель отходит на второй план благодаря новой методологии, но остается востребованной для больших проектов, компаний. На это есть несколько причин:
- Нечувствительность к замене специалистов. Разработка может передаваться из рук в руки, но детальное документирование всех фаз помогают новому человеку быстро войти в курс дела, продолжить работу.
- Наличие инструкций для всего жизненного цикла продукта. План, стадии разработки, методы были утверждены на начальной стадии, закреплены документально – это помогает избежать дополнительных вопросов, недопонимания.
- Строгость в исполнении. Метод разработки проектов Waterfall подразумевает дисциплинированное отношение разработчиков к обязанностям, соблюдение последовательности процедур, утвержденных регламентов.
- Возможность легко внести некоторые изменения на первых стадиях каскадного проекта, не закрепленных кодом. Это помогает, при необходимости, внести значительные изменения, сэкономив время.
- Понимание конечных сроков и окончательного размера бюджета. Дедлайны, стоимость будущей программы обычно рассчитываются, утверждаются изначально. Далее эти цифры не меняются, что способствует прозрачности производимых работ, руководитель, заказчик понимают, что происходит, когда будет начата новая фаза.
Как говорилось выше, водопадная модель была создана, описана в практически в середине XX века. Несмотря на это некоторые минусы так и не претерпели исправления:
- Сейчас, когда есть современный аналог, Waterfall используется далеко не всегда из-за громоздкости, недостаточной адаптации под изменения.
- Каскадная модель не дает возможности заранее прогнозировать все проблемы. Процедуры имеют строгую очередность, нет шансов протестировать часть разработки, поэтому ошибки станут очевидными на конечной стадии. Это ведет к затрате дополнительного бюджета, времени.
- К определенного вида недостаткам относится внушительный объем документов, требующих постоянной актуализации. Разработка не начнется, пока не будут согласованы все нюансы с командой, заказчиком. По итогу оформляется пакет документации.
- Многие заказчики считают минусом невозможность знакомиться с проектом в ходе разработки. Ему будет показан продукт только после тестирования, поэтому существует риск получить не совсем то, что хотелось.
- Сложность работы с методом разработки Waterfall заключается в том, что заказчик сам не совсем точно представляет, что ему хочется. В этом случае, каскадную модель рекомендуется заменить на более гибкого «коллегу» Agile.
Чем отличаются методологии Waterfall и Agile
Традиционный подход в методологии Waterfall – разработка продукта по заранее согласованному, документально утвержденному техническому заданию. Здесь нет места гибкости. Это основополагающее отличие каскадного варианта от более современной методологии Agile, которая предусматривает:
- Возможность вносить изменения в любое время;
- Показывать клиентам части выполненной работы;
- Систематически организовывать встречи специалистов и клиентов для информирования, обмена мнениями;
- Простоту в подходе к разработкам, что позволяет экономить время.
Такой подход имеет свои минусы:
- Риск делать бесконечные изменения;
- Сложность определения сроков и финансовых затрат.
В каких случаях стоит применять модель Waterfall
С учетом всех плюсов/минусов каскадной модели она применима, если клиент:
- Точно представляет, какой именно продукт хочет получить, имеет продуманную концепцию, уверен в своем выборе, не собирается делать изменения;
- Согласен на единоличную реализацию проекта компанией-подрядчиком, не планирует контролировать процесс, хочет видеть готовое ПО;
- Имеет план действий со сроками, объемами работ и не проявляет недоверия к исполнителям.
К водопадной модели можно обратиться при реализации сложного проекта, работа над которым требует дисциплинированности при очередности выполнения этапов, немаленького бюджета.
Примеры использования каскадной (водопадной) модели разработки
К методологии разработки Waterfall чаще обращаются в следующих областях:
- Создание ПО приложений для ПК, мобильных гаджетов, CRM;
- Здравоохранение. Работа по разработке профильных систем, ПО, использующееся в сфере охраны здоровья;
- Промышленность. Формирование производственных планов, мониторинг контроля качества;
- Образовательная деятельность, создание программ для обучающих курсов и т.д.
- Финансовое направление, учет, оценка рисков.
Заключение
В методе Waterfall для некоторых проектов считаются неоспоримыми плюсами изначальная детальная подготовка, документальная фиксация каждой фазы разработки, сроков. Это подходящий вариант для людей, которые, не вдаваясь в подробности процесса, хотят знать сразу срок окончания, объемы затрат, единожды обсудив необходимые требования. В иных случаях на помощь водопадным моделям придут гибкие практики.
Оцените статью