Неправильно выбранная методология управления проектами загубит даже самую перспективную идею. В этом материале вы узнаете про отличия Agile от Waterfall: где их используют, какие принципы лежат в основе жесткой и гибкой методологий, что лучше выбрать. Материал будет полезен начинающим проджектам, продактам и руководителям стартапов, которые пытаются выстроить все процессы самостоятельно.
Что такое Waterfall и Agile простыми словами
Наверняка вы уже что-то слышали про Agile и Waterfall: разбирали эти подходы и, возможно, даже пытались внедрять их в собственную работу. Пробежимся тезисно по определениям, чтобы освежить память.
Waterfall (водопадная или каскадная методология)
Waterfall — это методология управления, которая подразумевает четкое деление на этапы. Все этапы протекают последовательно, напоминая каскад или водопад (отсюда и возникло неофициальное название). До тех пор пока не будет выполнен этап A, нельзя приступить к выполнению этапов B и C.
Изначально каскадная модель, описанная Уинстоном Ройсом еще в 1970 году, состояла из шести этапов:
- Определение требований. Подготовка проектной документации — требования к будущему ПО, описания его функций, технических характеристик и т. д.
- Проектирование. Работа над оболочкой будущей программы, создание прототипа или дизайн-макета ПО.
- Реализация. Непосредственно разработка продукта, написание кода.
- Тестирование. Проверка работоспособности продукта, выявление и устранение возможных багов.
- Развертывание. Загрузка онлайн-приложения на сервер — передача продукта конечным пользователям.
- Техническое обслуживание. Поддержка пользователей, устранение ошибок, которые не удалось выявить на этапе тестирования, доработка продукта с учетом пожеланий пользователей.
Основным инструментом Waterfall является диаграмма Ганта. Ее используют для контроля сроков каждого этапа проекта и грамотного распределения ресурсов. При беглом взгляде на диаграмму становится понятно, где и какие задачи подвисают, кто отвечает за их исполнение и как это может повлиять на сроки реализации:
Жесткая методология (waterfall) стала своеобразным антипримером того, как не надо разрабатывать IT-продукты. Ее используют в работе над проектом, у которого есть четкие требования, бюджет и сроки. Когда понятно, что нужно делать и сколько ресурсов на это уйдет. IT-команды, которые пытаются использовать Waterfall при разработке продукта, зачастую сталкиваются с превышением бюджета или срывом сроков.
Читайте также: Продукт и проект в IT: в чем отличия
Agile
Agile — это гибкий подход к управлению разработкой IT-продуктов, при котором рабочие версии ПО поставляются частями (инкрементами) до тех пор, пока не закончится его жизненный цикл. Называть Аgile методологией было бы не совсем корректно — это, скорее, набор принципов, которым следуют такие фреймворки, как Scrum, Crystal Clear, RAD и XP. Неважно, какой именно фреймворк использует Agile-команда, потому что цель одна — создать продукт, максимально соответствующий требованиям внешней среды.
Принято считать, что принципы Agile окончательно сформировались в 2001 году, когда был опубликован Agile-манифест. Он включает в себя 4 ценности и 12 принципов. Ценности Agile-подхода сводятся к следующему:
- Люди и взаимодействие важнее процессов и инструментов.
- Работающий продукт важнее исчерпывающей документации.
- Сотрудничество с заказчиком важнее согласования условий контракта.
- Готовность к изменениям важнее следования первоначальному плану.
В качестве фреймворка для внедрения Agile чаще всего используют Scrum. Он соответствует принципам и ценностям Agile и позволяет четко организовать работы по правилам руководства, которые его описывают.
Команды, использующие Agile в разработке и фреймворк Scrum в частности, представляют собой кросс-функциональные «боевые единицы». Обычно в их состав входит от 3 до 7 специалистов: разработчики, дизайнеры, продуктовые аналитики, тестировщики
Менеджер продукта в процессе фиксирует все данные, а в конце спринта сравнивает план-факт — что было запланировано, что делали на самом деле и почему отошли от плана. На основе этих данных формируется бэклог для следующего спринта.
Гибкие подходы Agile позволяют в короткие сроки разрабатывать и запускать востребованные продукты, потому что команда и заказчик получают обратную связь от конечных пользователей в конце каждого спринта. Такой принцип обеспечивает высокую результативность и конкурентоспособность на современном рынке.
Читайте также: Как составить техническое задание на разработку сайта
Где используют Waterfall
Waterfall-методологию обычно используют для управления проектами с низкой степенью неопределенности — когда заранее известен бюджет, сроки и желаемый результат. К ней часто обращаются компании госсектора, у которых всё строго регламентировано. Работа над проектом выглядит так: составили план, согласовали и задокументировали все процессы, определили конечный результат, приступили к разработке.
С 2009 года многие проджект-менеджеры стали отходить от эталонного каскадного подхода, делая выбор в пользу гибридных методологий. Отчасти этот тренд задал Институт управления проектами (PMI), когда в качестве стандарта предложил гибридную модель, сочетающую в себе плюсы методики «Водопада» и достижения итеративных методологов. Ближе к Waterfall находятся V-Model, PMBOK, PMI и PRINCE2. Их тоже критикуют за недостаточную гибкость и формализм, однако эти модели отлично подходят для управления проектами, которые легко довести до конца в запланированных бюджетных и временных рамках.
Именно гибридные методологии сейчас используют в разработке IT-продуктов. Если работу над ПО можно поделить на этапы, ограничив каждый временными и ресурсными рамками, то почему бы не использовать такой подход? Например, веб-студия, которая делает на потоке интернет-магазины со схожим функционалом, может работать по Waterfall-методологии. А если на каком-то этапе что-то пойдет не так, можно обратиться к принципам Agile.
Где используют Agile
Agile-фреймворки используют в работе над продуктами, для которых характерна высокая степень неопределенности. Именно поэтому такой подход быстро распространился в IT-сфере, где существуют большие риски невозврата инвестиций.
Agile подход позволяет:
- Быстро реагировать на внешние изменения.
Благодаря краткосрочному планированию, продуктовая команда может легко изменить свои планы, если вдруг понадобится. Например, разработчики соцсети могут резко отложить свои планы и начать разрабатывать в своей соцсети функцию съемки вертикальных видео, потому что такое сделали их прямые конкуренты — функция стала востребованной у пользователей конкурирующего продукта.
- Развивать продукт постепенно.
Делать большой продукт дорого — месяц работы кроссфунциональной продуктовой команды будет стоить около пары миллионов рублей. При этом 9 из 10 продуктов терпят крах на рынке — это устоявшаяся статистика. Поэтому, даже если у владельца наполеоновские планы по захвату рынка и четкое видение продукта в его развитой стадии, начать лучше с малого — с MVP.
Если компания приступает к разработке без Cust Dev’a или игнорирует мнение конечных пользователей после запуска MVP, скорее всего, получится продукт, который попросту не нужен рынку. Это значит, что собственник просто сольет огромные деньги на разработку и потеряет время.
При создании MVP команда анализирует потребности пользователей и минимально жизнеспособную версию продукта, которая содержит только пару-тройку киллер-фич из множества возможных. Она должна стать востребованной, чтобы работы над ней продолжились.
Если делать продукт по каскадному методу со всеми его хотелками, можно остановиться на каком-нибудь промежуточном этапе, работая над всем одновременно, но так и не доделать финальную версию. Причины остановки могут быть разными: в продукт перестали инвестировать, конкуренты лучше приспособились к рынку за счет гибкости и так далее.
При этом само по себе MVP можно считать проектом, если точно рассчитать его сроки и время на выполнение. Больше об этом читайте в нашей статье: «Как не слить бюджет на провальную идею — гайд по MVP».
Waterfall или Agile: что выбрать
Идеальных подходов, методологий и фреймворков для управления процессами разработки не существует. Выбирать их нужно, ориентируясь на конкретные задачи, имеющиеся ресурсы и видение желаемого результата:
- Waterfall больше подходит для управления предсказуемыми проектами с фиксированными сроками, ресурсами и пониманием конечного результата. Эта методология позволяет снизить многие риски, сделать работу над проектом более прозрачной.
- Agile используют в проектах, подразумевающих постоянную работу над продуктом с высокой степенью неопределенности. С помощью гибкого подхода можно быстро создавать MVP и совершенствовать продукт на основе регулярной обратной связи от конечных пользователей.
- С 2009 года многие компании отдают предпочтение гибридным методологиям, которые сочетают в себе жесткое планирование каскадной модели и гибкость Agile. Такой принцип управления проектами и продуктами обеспечивает стабильность процессов и высокую адаптивность к любым изменениям на рынке.
И да: подписывайтесь на телеграм-канал Awake Journal, чтобы не пропускать новые экспертные материалы про маркетинг, управление проектами и продуктами, разработку, а также дизайн 💪
на журнал