Agile и Waterfall — две популярные модели разработки проектов. Обе описывают порядок постановки задач, распределения времени и ресурсов при проектной работе. Однако методики предполагают кардинально разный подход к управлению процессами. Разбираемся, в чем между ними разница и для какого бизнеса они подходят.
Описание методологии Agile
Что это такое
Это гибкий подход, в основе которого — адаптация под меняющиеся условия, фокус на качестве продукта и пожеланиях клиента. Модель предлагает сместить внимание с дословного соблюдения условий договора, долгосрочного планирования и составления подробной документации на продукт и людей.
Изменения в процессе разработки приветствуются. Можно использовать любые инструменты и методы, менять планы, сдвигать графики работы специалистов, предоставлять команде свободу самоуправления. Главное — результат: ПО работает, клиент доволен.
Методология исходит из того, что предусмотреть все факторы на этапе планирования заранее невозможно. Поэтому готовность к экспериментам важнее умения прогнозировать.
Проект развивается не в единой длительной фазе, а итерациями — циклами. На каждой итерации нужно оценивать промежуточные результаты:
- проверять работоспособность текущей версии;
- анализировать прогресс;
- изучать обстановку на рынке, конкурентов, изменения в бизнесе заказчика.
На основании этих данных можно корректировать действия до следующей итерации: например, пробовать новые методы и технологии, добавлять новые функции, вносить в продукт улучшения, не предусмотренные изначальным техническим заданием.
Преимущества
Один из плюсов метода — возможность работать в условиях неопределенности. Менеджмент строится на минимальном наборе входных данных и не фиксируется на необходимости строго следовать плану. Это облегчает принятие решений. Постоянные изменения принимаются как факт, поэтому перестройка процесса работы, внедрение новых инструментов, дополнения в ТЗ воспринимаются с меньшим стрессом для руководителя и команды.
Разработка делится на циклы, а прогресс отслеживается «срезами» — в ИT-сфере ими служат промежуточные версии продукта. Тестирование, проверка эффективности, фидбек от заказчика на каждом «срезе» помогают вовремя заметить отклонения от цели и скорректировать работу с минимальными потерями.
Как правило, внедрение Agile ведет к большей вовлеченности сотрудников, высокой скорости реагирования на проблемы и оптимизации рутинных задач. Команда избавлена от лишней отчетности, планерок, микроменеджмента и поэтому может сосредоточиться на продукте.
Недостатки
Отсутствие планирования и четкой структуры подходит не всегда. Гибкая методология неприменима к масштабным задачам, над которыми работают большие распределенные команды, а срок разработки составляет несколько лет.
Так как функции сотрудников и бизнес-процессы не регламентированы, сложности могут возникнуть при смене разработчиков или руководителей.
Также нужно ориентироваться на заказчика: некоторые клиенты, особенно из государственного сектора, не готовы детально погружаться в процесс работы и предоставлять исполнителям свободу управления.
Когда и где применять
Agile подходит небольшим командам, стартапам, проектам с мотивированной командой. Методика работает, если все участники процесса заинтересованы в качественном результате и готовы подстраиваться под мнение заказчика.
Крупные компании тоже могут использовать гибкие методы управления. Например, Agile практикуют в Microsoft, Google, Netflix. Система популярна и в России, ее внедряют Сбер, МТС и многие другие компании: разработчики ИT-продуктов, финансовые корпорации, маркетинговые агентства и провайдеры телекоммуникационных услуг.
В рамках методологии существуют разные инструменты управления. Самый популярный — Scrum, его применяют 82% российских компаний. На втором месте — Kanban, его используют 61% компаний.
Описание методологии Waterfall
Что это такое
Это каскадная модель работы. В ее основе — последовательное выполнение запланированных шагов от постановки задачи до получения готового продукта.
Этапы Waterfall:
- сбор требований заказчика, изучение среды;
- анализ требований;
- проектирование;
- разработка;
- тестирование продукта;
- внедрение продукта;
- сопровождение.
Каждый этап разработки подробно документируется. Презентация заказчику проводится после завершения работы над продуктом. Клиент участвует только на стадии сбора информации и при введении продукта в эксплуатацию. Внесение промежуточных изменений в техзадание и продукт не предусмотрено.
Преимущества
Основные плюсы методики — предсказуемость и прозрачность процессов. Все участники действуют по согласованному плану.
Клиент знает, когда и какой результат он получит: всё описано в ТЗ, договоре и проектной документации. Бюджет, как правило, фиксирован, что облегчает финансовое планирование как заказчику, так и исполнителю.
Разработчики знают, какие параметры и функции будут у продукта. Не придется переписывать уже готовые фрагменты кода из-за новых вводных от клиента или руководства. Инструментарий, принципы работы, распределение задач внутри команды зафиксированы и регламентированы.
Недостатки
В динамичных сферах бизнеса отсутствие гибкости может привести к тому, что продукт устареет еще до релиза. Если вносить изменения всё же придется, могут пострадать сроки и бюджет проекта. А ответственность за отклонения от плана несет исполнитель — часто даже в том случае, когда проблемы возникли не по его вине.
Минимальное участие клиента также может оказаться минусом, если на этапе сбора требований были совершены ошибки. Например, исполнитель неверно понял задачу, а заказчик не вник в ТЗ. Результат — продукт не соответствует ожиданиям клиента и потребностям его бизнеса, что выясняется только на финальной презентации.
Когда и где применять
Модель «Водопад» подходит для стандартных проектов с понятными инструментами, уже готовыми регламентами и отлаженными бизнес-процессами.
Условия, при которых можно выбрать модель Waterfall:
- команда уже не раз выполняла подобные задачи;
- большая часть работы уходит на аутсорс;
- у компании есть опыт и технологии для создания продукта;
- менеджер понимает, как строить взаимодействие с клиентом, собирать информацию, утверждать ТЗ, чтобы минимизировать риски на этапе приемки и внедрения.
Методология эффективна в ситуации, когда требования стабильны и хорошо определены. Клиент должен осознавать невозможность менять ТЗ после начала работ. Из-за этого Waterfall применяют в сферах с четкими правовыми или регуляторными требованиями, когда любые изменения требуют долгого согласования на стороне заказчика.
Отличия методов Agile и Waterfall
Agile все больше на слуху, но «Водопад» — классика, по которой работали задолго до появления гибкой методики. Водопадный метод используется с 50-х годов, тогда как принципы гибкого управления впервые были опубликованы в 2001 году. В наше время обе модели жизнеспособны и широко распространены.
Одно из их отличий заключается в степени вовлеченности сторон в процесс работы.
В гибкой методологии продукт можно назвать результатом коллективной работы. На каждой итерации разработчики и заказчик совместно принимают решение о новых изменениях. Финальная версия может почти не иметь ничего общего с продуктом, описанным в исходном ТЗ.
В Вотерфлоу продукт должен точно соответствовать техническому заданию. Зона ответственности клиента — четко описать требования и ожидания на первом этапе работы, а затем утвердить ТЗ и план работ. Зона ответственности исполнителя — выпустить продукт с заданными требованиями и с соблюдением условий договора.
При управлении по методу Waterflow любые сбои на стадии производства могут привести к срыву сроков и увеличению бюджета. Поэтому важно заранее предусмотреть возможные риски и принять упреждающие меры. Например, чтобы избежать простоя из-за блокировки зарубежного ПО, можно еще до начала работ перейти на российские инструменты разработки.
Чтобы процесс не встал на паузу из-за увольнения или выгорания разработчиков, нужно внедрить эффективную систему мотивации. Кстати, при использовании каскадной модели проект меньше зависит от конкретных исполнителей, чем в Scrum или Kanban. Каждый этап работы регламентирован, поэтому при изменении состава команды новый участник точно знает, в чем состоят его функции и с какого момента нужно продолжить работу.