для каких проектов нерационально использовать водопадную каскадную модель управления
Каскадная модель — убийца стартапов
Водопадная модель управления проектами (waterfall model) известна уже очень давно, став классикой в разработке программного обеспечения для многих ИТ компаний. При таком процессе поступившая задача последовательно переходит от одного узла к другому. Например: требование → дизайн → разработка → тестирование → внедрение → поддержка.
Пожалуй, для одной задачи, данную систему действительно можно было бы назвать почти «идеальной». Но что происходит в реальной жизни? Первое, что бросается в глаза руководителю проекта, назовём его — Пётр, это то, что его подчинённые простаивают, дожидаясь своей очереди обработки задачи. Логичный, казалось бы, вывод — назначить одновременно несколько задач. Да, кто-то работает быстрее, кто-то медленнее, но каждый будет при деле, никаких простоев! Платить зарплату, за то, что сотрудник ничего не делает – нонсенс?! Чем больше задач начнём, тем больше задач, пробежавшись по цепочке, завершим. Всё верно? В конце концов, если кто-то не будет справляться, наймем в помощь новых сотрудников или уволим тех, кто больше всего тормозит процесс. Знакомая ситуация?
Чтобы нам разобраться в этой ситуации, нужно ответить лишь на один простой вопрос. Как статистические флуктации влияют на зависимые процессы? О нет, я не буду приводить скучных формул, и вдаваться в подробности теории ограничений (Элияху Голдратт). Я расскажу лишь об одной истории, произошедшей с Петром.
Что общего между стартапом и походом в горы?
Для укрепления командного духа, Пётр решил провести тимбилдинг и на выходных повёл свою команду по узкой горной тропе. Команда вышла в путь утром и к вечеру должна была достигнуть своей цели — красивейшее озеро в жерле потухшего вулкана. Там же было решено сделать привал, а на следующий день вернуться всем вместе назад. Стоит отметить, стартап у Петра был масштабный, он уже успел набрать довольно большую команду. В походе приняло участие все 20 человек. Пётр решил замыкать группу, чтобы быть уверенным, что никто не отстанет.
К обеду Пётр планировал, что команда пройдёт полпути, но оказалось, что прошли всего примерно треть. Что-то идёт не так. Ведь все молодые, держать средний темп 3 км/час, как рассчитывал Пётр, ни для кого не будет проблемой. Но почему-то расстояние от ведущего до замыкающего росло каждую минуту. Группа растянулась на несколько километров, Петр прикладывал большие усилия, чтобы нагнать убежавших вперёд. Ведь на привал планировалось прийти всем вместе, это же тимбилдинг! Очень не хотелось прийти на несколько часов позже и дать всем разбрестись вдоль озера. Поэтому порою приходилось даже бежать. Прогулка превратилась в изнурительное испытание. Во главе отряда шёл системный архитектор Тимур. Пётр, несколько раз звонил ему, просил пойти помедленнее, но каждый раз выяснялось, что Тимур итак идёт слишком медленно или же даже стоит, ждёт отстающих. Несколько раз Петр останавливал всю команду, просил всех держаться друг за другом, не отставать, но история повторялась из раза в раз.
Пётр решил сравнить поход со своим стартапом. Там также не всё было гладко, все были при деле, он тщательно следил, чтобы загрузка команды была максимальной, постоянно спускал всё новые задачи. Совсем недавно даже принял на работу несколько программистов. Но почему-то на вход поступало 20 задач, а на выход 5, максимум 10, остальные же застревали где-то внутри цепочки. Кто-то также убегал вперёд, кто-то отставал, но все ведь шли, а сроки почему-то постоянно срывались.
Пётр стал рассуждать логически. Если бы скорость у всех была одинаковой, вся команда пришла бы к цели в намеченное время. Но нельзя же привязать всех к одной верёвке и тянуть за собой. Да и верёвки у Петра не было. А если в строй вставить ещё 5 программистов? Да уж, это явно не ускорит процесс, группа растянется ещё больше. Похоже, Пётр погорячился с приёмом на работу нового персонала. Кто же тормозит команду и почему? Пётр обратил внимание, что некоторые люди в строю всё время в буквальном смысле наступают на пятки впереди идущему коллеге, а некоторые с каждым шагом отстают всё дальше и дальше. А что если отсортировать команду по скорости и поставить вперёд тех, кто идёт медленно, а назад тех, кто идёт быстро?! Сказано, сделано, слава богу, смартфоны есть у всех, каждый замерил свою среднюю скорость через GPS передатчик. После очередного привала команда перестроилась. Как не парадоксально, но скорость команды увеличилась в несколько раз! Группа перестала растягиваться и все вместе пришли к озеру даже на час раньше, чем планировалось. Стоит ли говорить, что вернувшись в офис, Пётр провёл ряд реформ, и дела в его проекте значительно улучшились. Команда стала точнее попадать в сроки и даже начла двигаться с опережением.
Бутылочное горлышко стартапа
В каждой системе есть свои «слабые места». Если попытаться их устранить, на их месте или же в каком-то соседнем месте обязательно образуются другие слабые места. И это не хорошо и не плохо. Для компании очень важно определить свои слабые места и научиться их эксплуатировать. Задачи можно представить в виде потока реки, а слабое место – в виде горлышка бутылки. Вы легко сможете набрать воду в свою бутылку (конечно если только в реке есть вода), так как поток будет проникать через узкое место, а дальше плавно растекаться, не встречая на пути преград. Другими словами, ваша цепь сильна на столько, насколько сильно самое слабое её звено. Не спешите убирать слабое звено, вставлять новые звенья, возможно это не требуется, научитесь подстраиваться под «поток».
А какие слабые места вы видите в своем стартапе?
Методология разработки Waterfall: что это, как работает и чем отличается от Agile
Сейчас Waterfall не так часто используют, но без неё никто бы не придумал Agile. Рассказываем для менеджеров проектов и тех, кто хочет ими стать.
Бывает, что в теории методология ясна, а потом дело доходит до внедрения и начинаются вопросы. На курсе «Руководитель digital-проектов» преподаватели Skillbox разбирают инструменты управления на реальных кейсах, чтобы студенты легко и безошибочно применяли их в работе.
Что ещё за Waterfall?
Waterfall — модель «Водопад», водопадная или каскадная разработка продуктов. Она подобно потоку воды направляет команды решать задачи последовательно и строго по изначальному плану. Название появилось в 1970 году в статье Винстона Уолкера Ройса, директора Lockheed Software Technology Center, а структура позаимствована у диаграммы Ганта.
Пишет про управление в Skillbox. Работала координатором проектов в Русском музее, писала для блога агентства
CRM-маркетинга Out of Cloud.
Принципы водопадной модели разработки
Как работает Waterfall
Разработка при использовании каскадной модели — это пять строго последовательных этапов.
Команда собирает требования к будущему продукту. Потом пишет подробное техническое задание, планирует график работ и возможные риски. Переходит к следующему этапу, только когда все требования прописаны и есть план. А в плане — инструкции, что и когда делать.
Команда создаёт прототип и готовит дизайн-макеты. Когда это готово, подключаются разработчики.
На этом этапе пишут код продукта согласно плану, макетам и требованиям. Ни шагу в сторону, всё четко по ТЗ.
Код готов, начинается тестирование. Тут могут появиться проблемы. Например, команда обнаружит серьёзные ошибки в коде и потратит много времени, чтобы их исправить. Это главный минус каскадной модели разработки.
Эксплуатация и поддержка
Проект передают заказчику и следят заранее определённое время, чтобы всё работало.
Как отличить Waterfall от гибких методологий
Классическая методология Waterfall — это работа по заранее написанному и согласованному ТЗ. Гибкость здесь не приветствуется. В этом основное отличие водопадной модели от Agile.
Waterfall отличается от Agile и самими принципами работы, о которых мы говорили выше.
12 принципов Agile
Эти принципы появились из agile-манифеста.
Манифест гибкой разработки ПО
Если бы для Waterfall тоже написали манифест, он бы выглядел так:
Манифест водопадной модели разработки ПО
Чем Waterfall отличается от Scrum
Фреймворк Scrum — это часть Agile, поэтому он тоже отличается от водопадной модели разработки. В этой таблице мы собрали их основные отличия.
| Waterfall каскадная модель | Scrum итерационная модель |
|---|---|
| Все требования известны вначале и не меняются | Требования могут меняться по ходу проекта |
| Объемное и подробное ТЗ | Бэклог |
| Тестирование в конце | Тестирование после каждой итерации |
| Негибкая | Гибкая |
| Готовый продукт в конце | Работающая часть продукта после первой итерации |
| Клиент не видит промежуточный результат | Клиент видит и может влиять на промежуточный результат |
Если хотите разобраться подробнее:
Заключение
Waterfall — это методология, где всё изначально продумано и зафиксировано, и в этом есть свои плюсы. Бывают проекты, которым она подходит, — такие, в которых все требования известны заранее и не могут измениться по ходу работы и где нет риска ошибиться.
В Digital такое бывает редко, поэтому команды добавляют к каскадной модели гибкие практики: например, проверяют продукт на соответствие требованиям после каждого этапа работы, а не в самом конце.
Руководитель digital-проектов
Курс поможет вам оценить себя как менеджера: разобраться и понять, почему у вас что-то не получается. Определить, какие навыки и знания нужно подтянуть. И сделать это, выполняя практические задания. Вы будете работать над собственным проектом или над проектом реального заказчика по стандартам scrum-студии — отточите навыки тайм-менеджмента, научитесь конструктивной коммуникации в боевых условиях, овладеете искусством постановки задач и контроля команды.
Как устроена каскадная модель управления проектами
Недостатки и преимущества waterfall. Гибридные методологии
Чтобы строить дома, проектировать самолеты и создавать программное обеспечение, нужен подход, который поможет выполнить эти проекты качественно, вовремя и в пределах бюджета. В этой статье мы расскажем о классическом подходе к управлению проектами – каскадной модели, или waterfall.
Особенности каскадной модели
Последовательность действий. В каскадной модели проекта все этапы идут друг за другом: на следующий этап проекта переходят только после того, как сделаны все работы на предыдущем.
После завершения этапа вернуться к нему нельзя. Например, при строительстве дома не получится переделать фундамент, если в нем нашли проблемы на стадии возведения стен и крыши. Поэтому этот подход сравнивают с каскадом и иногда называют водопадной моделью или waterfall-методологией.
Так как вернуться на предыдущую фазу проекта невозможно, перед переходом на следующий этапа результат должен пройти проверку и приемку. Этот момент в проекте называют гейтом.
Регламентация процесса. Все планы, требования и задачи проекта описывают в документах. Все участники следуют формальным правилам и не могут их менять во время работы. Так как нельзя вернуться к предыдущему этапу, требования к проекту после утверждения не меняются.
Этапы каскадной модели
Классическая водопадная модель состоит из пяти этапов:
Сбор требований. Здесь собирают требования к проекту, оформляют их в техническое задание, в котором расписаны план работ, предполагаемые риски и роли в команде;
Проектирование. Здесь определяют главные принципы продукта, например, логику программного обеспечения, архитектуру здания, дизайн самолета. Под эти принципы подбирают инструменты, например, языки программирования, методы строительства, технологии моделирования самолета;
Разработка. Здесь по плану и техническому заданию делают продукт: пишут код, строят здание, собирают самолет. Разработка занимает большую часть проекта;
Тестирование. Здесь проверяют продукт на соответствие техническому заданию, ищут и исправляют ошибки;
Эксплуатация и поддержка. Здесь выпускают и поддерживают продукт: устраняют ошибки, поддерживают работоспособность, собирают отзывы от пользователей, добавляют новые функции.
Водопадную модель можно расширить и добавить в нее дополнительные этапы: анализ требований, сбор команды, поиск финансирования.
Преимущества каскадной модели
Проект не зависит от конкретных исполнителей. Все процессы зарегламентированы и описаны. Поэтому в течение жизненного цикла проекта члены команды могут приходить и уходить без вреда для сроков и качества работ.
Исполнители работают по четкому плану. Участники знают свои задачи, в какой последовательности их выполнять и когда сдавать работу. Это делает ход проекта предсказуемым.
Сроки и бюджет зафиксированы. Стоимость и длительность проекта заранее рассчитывают и утверждают, а в ходе работы их не меняют.
Требования не меняются во время работы. Так как нельзя вернуться к предыдущему этапу, требования к проекту после утверждения не меняются. Но если до начала работ у заказчика изменилась ситуация, то есть время, чтобы пересмотреть концепцию проекта и изменить требования.
Недостатки каскадной модели
Проект сложно адаптировать под изменения среды. Проект начинается с плана, в котором пытаются учесть все возможные события. Но заранее предугадать все проблемы невозможно из-за высокой неопределенности, поэтому многие решения будут ошибочными, а менять проект нельзя.
Например, заказчик утвердил высотные жилые комплексы, но за время строительства покупатели захотели малоэтажные кварталы. Отменить стройку или переделать проект не получится.
Проект растягивается во времени. Работы идут строго последовательно, поэтому исполнители на следующих этапах не могут начать работу, пока на предыдущем не выполнят все задачи. Чем дольше идет проект, тем быстрее он устаревает.
Поздно находят проблемы. Тестирование – один из последних этапов, на котором ищут все ошибки проекта, не только изготовления. Из-за последовательной работы фундаментальные проблемы проекта находят слишком поздно. На их исправление не хватит времени и бюджета. Остается «сглаживать углы»: заделывать дыры в доме монтажной пеной, исправлять простые баги, заклеивать щели в ракете монтажной лентой.
Заказчик поздно дает обратную связь. Заказчик видит результат в конце проекта и если у него изменились требования или условия, то исполнители поздно об этом узнают. Новые требования приводят к новому проекту.
Гибридные методологии управления проектами
Чтобы не находить ошибки слишком поздно и адаптировать проект под изменения обстоятельств, каскадной модели добавили несколько элементов гибких подходов. Такую методологию называют гибридной.
Каскадная модель с обратными связями. Обратные связи добавили, чтобы решить проблему позднего тестирования. Они срабатывают, когда во время работ или в гейтах находят ошибки, что позволяет их исправлять, не дожидаясь проверки. Но в этом случае сложнее планировать проект, распределять бюджет и укладываться в срок.
Итеративная каскадная модель. В этом методе на следующий этап передают не весь результат, а рабочую часть. Когда проект выдает часть работоспособного продукта, начинается новый (другой) проект, в котором делают другую часть. Такой процесс называют итерационным и его обычно используют для разработки программного обеспечения, приложений и сайтов.
Параллельный и поточный метод выполнения работ в waterfall-методологии
При последовательном выполнении работ нельзя начать новый этап, пока не будет закончен предыдущий, – это увеличивает срок проекта. Чтобы решить эту проблему, меняют последовательность работ.
Параллельный метод выполнения работ. В этом подходе работы разных этапов делают одновременно. Например, если по проекту нужно построить три дома, то их строят сразу, а не один за другим. Это значительно ускоряет выполнение проекта, но и увеличивает бюджет.
Поточный метод выполнения работ. Этот подход соблюдает баланс между последовательным и параллельным методом. В нем команда передает часть работы на следующий этап и сразу начинает делать следующую часть. Например, построив фундамент для первого дома, команда начинает строить фундамент для второго, а первый дом передает команде, которая строит стены. Так проект идет быстрее, а затраты на команду не увеличиваются.
Каким проектам подходит каскадная модель управления
Несмотря на свои недостатки, классическая каскадная модель эффективна в жилом строительстве, корабле-, авиа- и ракетостроении. В этих сферах:
разрабатываемый продукт технически сложный или не имеет аналогов;
у исполнителей есть опыт подобных проектов и их процессы стандартизированы;
требования, технологии и инструменты заранее известны и не меняются;
влияние внешней среды минимально;
нельзя сдать продукт по частям;
главный критерий проекта – качество и соответствие требованиям;
заказчик не участвует в проекте, а только получает готовый продукт.
Гибридные водопадные модели подходят для IT и цифровой индустрии: разработки программного обеспечения и приложений, рекламы и цифровых коммуникаций. В этих сферах проекты относительно небольшие, уникальные и без четких требований, и поэтому там придется возвращаться к предыдущим этапам проекта, но жесткие правила помогут контролировать проект.
Главное о каскадной модели управления проектами
Каскадная модель – методология управления проектом, в котором все этапы идут последовательно друг за другом.
На следующий этап проекта можно перейти только после выполнения всех работ на предыдущем. Перед приемкой результат обязательно проверяют на соответствие требованиям.
После завершения этапа проекта вернуться на него нельзя.
Плюсы каскадной модели: все процессы зарегламентированы и описаны, исполнители следуют четкому плану, а требования, сроки и бюджет зафиксированы и не меняются во время работы.
К недостаткам waterfall относят то, что проект не готов к изменениям, в нем поздно обнаруживают проблемы и он растягивается во времени.
Чтобы быстрее выявлять проблемы в проекте, используют гибридные каскадные модели, а для сокращения времени меняют последовательность работ на параллельный или поточный метод.
Каскадная модель подходит для технически сложных или уникальных проектов с заранее известными требованиями и минимальным влиянием внешней среды.
Не только Agile: как устроена модель Waterfall и в каких проектах ее использовать
Waterfall, или каскадная модель, ― это классика в мире разработки продуктов. Она существует уже больше полувека. За это время она доказала свою эффективность, но обзавелась мощными конкурентами. Главный из них ― гибкий Agile, которым активно пытаются заменить последовательный каскад. Пора ли отказаться от водопада или классика никогда не устареет? Разбираемся в плюсах и минусах Waterfall и говорим о проектах, в которых водопаду до сих пор нет равных.
Что такое Waterfall и кто его придумал
Waterfall (каскад или водопад) — классическая модель разработки продуктов. Американский ученый-информатик Уинстон Уокер Ройс придумал и описал ее еще в 1970 году, а в 1976 году ученые Томас Белл и Томас Тэйер дали ей название. Сначала Waterfall использовали в создании любого программного обеспечения, но потом появилась модель Agile и водопад засох. Теперь каскадную модель применяют в авиастроении, военной или космической отраслях, медицине и финансовом секторе. Там Waterfall самое место, потому что этим сферам нужны четко выстроенные процессы и сроки, а это суть каскада. Отсюда и сравнение с водопадом: каждый этап создания продукта, словно поток воды, продолжает предыдущий и не может начаться, пока прошлый не завершился.
Из каких этапов состоит Waterfall
Уокер Ройс придумал циклы водопада 50 лет назад, и с тех пор они не меняются. Кроме того, этапы создания проекта всегда идут в одинаковой последовательности и пропускать какой-то из них нельзя.
Основной инструмент водопада
Последовательность процессов, соблюдение сроков, выполнение задач в каскадной модели лучше всего отображает диаграмма Ганта (a Gantt Chart) или горизонтальная гистограмма. Она состоит из блоков, расположенных на двух осях. По горизонтали — задачи, по вертикали — время, затраченное на их выполнение. На диаграмме можно проследить, какие задачи входят в проект и кто за них отвечает, а также продолжительность каждого этапа.
Допустим, вы строите быстровозводимый дом ― дачу в Подмосковье, чтобы выбираться туда на лето. Времени мало, максимальный бюджет — три миллиона рублей. Земля в вашей собственности, все документы в порядке. Срок строительства двухэтажного коттеджа, как сообщает застройщик, — от 25 дней. Все этапы известны и определены, а материалы закуплены.
Для начала перечислим каждый этап, затем дату начала и завершения. Первые две задачи офисные специалисты делают только в рабочие дни, далее работа переходит к строительной бригаде, которая трудится каждый день. Срок проекта — 28 дней. Чтобы показать весь проект на нашей диаграмме, представим, что этап поддержки длится неделю. В жизни срок обнаружения ненадлежащего качества работ гораздо больше.
Затем построим диаграмму Ганта. Мы использовали smartsheet, но это можно делать в Excel или просто на бумаге.
По горизонтали перечисляем этапы строительства, по вертикали указываем начало и конец каждого. Теперь диаграмма иллюстрирует принцип Waterfall: этапы идут один за другим, следующий начинается только тогда, когда заканчивается предыдущий. Это логично: невозможно возвести хороший фундамент и покрыть крышу без инженерно-исследовательских работ и четкого плана дома. Мы также видим, из каких этапов состоит проект, какие задачи входят в каждый этап и сколько времени они занимают.
Плюсы и минусы Waterfall
Чек-лист, который подскажет, подойдет ли Waterfall вашему проекту
Подсказка. Вам точно подойдет каскадная модель, если вы делаете строительный проект, работает в авиастроении, медицине, финансовом секторе, военной или космической отрасли. Откажитесь от водопада в пользу Agile, если проект создается для стартапа или IT-компании.
Методологии разработки: Waterfall
Общая концепция подхода была представлена доктором Уинстоном Ройсом ещё в 1970 году. В его основе лежит логическая последовательность шагов, которые должна быть предприняты на протяжении жизненного цикла разработки ПО. Каждый этап согласовывает компетентными сотрудниками, документируется и передаётся дальше.
Хотя популярность модели Водопада за последние годы ослабела, природа последовательного процесса, используемого в методе водопада, интуитивно ближе разработчикам, и потому доминирует в IT.
Как падает вода
Модель, предложенная Ройсом, предельно проста и понятна. Она состоит из 7 блоков, каждый из которых охватывает свою область ответственности.

Не везде и не на каждом предприятии данная модель актуальна. Задолго до того, как ПО начало разрабатываться в каждом офисном здании, разработкой программного обеспечения занимались крупные предприятия, где в первую очередь были важны сроки и точность соблюдения ТЗ, а уже во вторую – правильность и полнота принятых решений на каждом из этапов.
Именно поэтому часто ошибочно за каскадную модель принимается процесс разработки, в котором взаимодействие между этапами в обратном порядке исключено без директивных причин. Да и сами этапы часто дробятся в угоду многочисленным контролирующим органам, или объединяются из-за смежных профессий разработчиков.
Мы также сократим указанную модель до 6 блоков, объединив операции «Инсталляция» и «Поддержка» в одну – «Развертывание». Теперь взглянем на исполняемые функции:
Требования. Проще говоря, на этом этапе создаётся вся входная документация, согласно которой будет вестись разработка. В первую очередь, анализируются требования и пожелания заказчика, затем это проецируется на возможности компании и состояние рынка. В результате получается некий документ, где описывается, что должно делать ПО, но не как и с помощью каких инструментов.
Проектирование. На этом этапе согласовывается логика работы ПО. Здесь всё ещё не принимаются конкретные решения по реализации, но уже описывается функционирование всех разделов приложения. На выходе разработчики уже представляют, сколько по времени и кадровому составу может занять проект.
Конструирование. Здесь уже речь идёт о конкретных инструментах для реализации идей: согласовываются требования к дизайну, языки программирования, уровни данных, сервисы и т. д. Описанный в предыдущем разделе скелет логики обрастает «мясом», впервые формируется внешний облик готового продукта.
Воплощение. Исполнительский этап, на который, как правило, приходится большая часть разработки. Если классическая модель допускает свободное взаимодействие с предыдущими этапами, то на практике допускается лишь внесение незначительных правок в «Конструирование».
Тестирование. На этом этапе QA, бета- и все другие тестеры обнаруживают и сообщают о проблемах в приложении. Данный этап чаще всего вызывает необходимый повтор предыдущей фазы кодирования, чтобы устранить критические неполадки. Если результатом тестирования становятся частые доработки кода, это вызывает возврат к этапу конструирования.
Развертывание. Когда приложение создано, его можно предъявлять заказчику и выпускать на волю. Так как данный этап включает ещё и поддержку, поэтому взаимодействие с предыдущими фазами неизбежно.
Преимущества каскадной модели
В последние годы модель водопада уступает свои лидирующие позиции более гибким методологиям. Это связано с общей динамикой в IT, когда за разработку ПО отвечают команды из 5-9 человек, а дедлайн может быть легко сдвинут из-за наращивания функциональности.
Тем не менее, каскадная модель всё ещё актуальна для крупных проектов и организаций. И вот почему:
Недостатки каскадной модели
В 1970-х годах идеи Ройса были актуальны. Но спустя почти 50 лет метод каскадной разработки всё меньше подходит для IT. Вот почему:
Получается, что каскадная методология – прекрасное решение точки зрения сроков и отчётности, но очень слабое в плане качества. Поэтому сегодня её рекомендуется использовать только в трёх случаях:
Несмотря на то, что эти 3 пункта всё реже встречаются в реальной практике, каскадная модель ещё долго будет популярна и востребована из-за чёткой организации. А значит любой профессиональный разработчик должен понимать её основные принципы и быть готовым существовать в рамках этой схемы.
Мы продолжаем знакомиться с различными методологиями разработки ПО. Сегодня речь пойдёт о самой популярной из них – Waterfall, или каскадной методологии.
Общая концепция подхода была представлена доктором Уинстоном Ройсом ещё в 1970 году. В его основе лежит логическая последовательность шагов, которые должна быть предприняты на протяжении жизненного цикла разработки ПО. Каждый этап согласовывает компетентными сотрудниками, документируется и передаётся дальше.
Хотя популярность модели Водопада за последние годы ослабела, природа последовательного процесса, используемого в методе водопада, интуитивно ближе разработчикам, и потому доминирует в IT.
Как падает вода
Модель, предложенная Ройсом, предельно проста и понятна. Она состоит из 7 блоков, каждый из которых охватывает свою область ответственности.

Не везде и не на каждом предприятии данная модель актуальна. Задолго до того, как ПО начало разрабатываться в каждом офисном здании, разработкой программного обеспечения занимались крупные предприятия, где в первую очередь были важны сроки и точность соблюдения ТЗ, а уже во вторую – правильность и полнота принятых решений на каждом из этапов.
Именно поэтому часто ошибочно за каскадную модель принимается процесс разработки, в котором взаимодействие между этапами в обратном порядке исключено без директивных причин. Да и сами этапы часто дробятся в угоду многочисленным контролирующим органам, или объединяются из-за смежных профессий разработчиков.
Мы также сократим указанную модель до 6 блоков, объединив операции «Инсталляция» и «Поддержка» в одну – «Развертывание». Теперь взглянем на исполняемые функции:
Требования. Проще говоря, на этом этапе создаётся вся входная документация, согласно которой будет вестись разработка. В первую очередь, анализируются требования и пожелания заказчика, затем это проецируется на возможности компании и состояние рынка. В результате получается некий документ, где описывается, что должно делать ПО, но не как и с помощью каких инструментов.
Проектирование. На этом этапе согласовывается логика работы ПО. Здесь всё ещё не принимаются конкретные решения по реализации, но уже описывается функционирование всех разделов приложения. На выходе разработчики уже представляют, сколько по времени и кадровому составу может занять проект.
Конструирование. Здесь уже речь идёт о конкретных инструментах для реализации идей: согласовываются требования к дизайну, языки программирования, уровни данных, сервисы и т. д. Описанный в предыдущем разделе скелет логики обрастает «мясом», впервые формируется внешний облик готового продукта.
Воплощение. Исполнительский этап, на который, как правило, приходится большая часть разработки. Если классическая модель допускает свободное взаимодействие с предыдущими этапами, то на практике допускается лишь внесение незначительных правок в «Конструирование».
Тестирование. На этом этапе QA, бета- и все другие тестеры обнаруживают и сообщают о проблемах в приложении. Данный этап чаще всего вызывает необходимый повтор предыдущей фазы кодирования, чтобы устранить критические неполадки. Если результатом тестирования становятся частые доработки кода, это вызывает возврат к этапу конструирования.
Развертывание. Когда приложение создано, его можно предъявлять заказчику и выпускать на волю. Так как данный этап включает ещё и поддержку, поэтому взаимодействие с предыдущими фазами неизбежно.
Преимущества каскадной модели
В последние годы модель водопада уступает свои лидирующие позиции более гибким методологиям. Это связано с общей динамикой в IT, когда за разработку ПО отвечают команды из 5-9 человек, а дедлайн может быть легко сдвинут из-за наращивания функциональности.
Тем не менее, каскадная модель всё ещё актуальна для крупных проектов и организаций. И вот почему:
Недостатки каскадной модели
В 1970-х годах идеи Ройса были актуальны. Но спустя почти 50 лет метод каскадной разработки всё меньше подходит для IT. Вот почему:
Получается, что каскадная методология – прекрасное решение точки зрения сроков и отчётности, но очень слабое в плане качества. Поэтому сегодня её рекомендуется использовать только в трёх случаях:
Несмотря на то, что эти 3 пункта всё реже встречаются в реальной практике, каскадная модель ещё долго будет популярна и востребована из-за чёткой организации. А значит любой профессиональный разработчик должен понимать её основные принципы и быть готовым существовать в рамках этой схемы.








