Waterfall, Agile, Kanban и Scrum: в чем разница?
Когда речь заходит о том, по какой методологии выстраивать рабочие процессы в компании, то чаще упоминают Waterfall, Agile, Kanban и Scrum. Кроме того, многие путают эти термины и до конца не понимают, что подразумевает каждый из них. Мы решили подробно разобраться, обозначить преимущества и недостатки каждой методологии, чтобы вы выбрали ту, которая подойдет именно вам.
Стоит сказать сразу, что большинство из этих методологий зародились в сфере IT. Каждая из них подразумевает разработку какого-либо решения, а значит, совместную работу над проектом специалистов совершенно разных профилей. Сегодня применение таких методологий не ограничивается только IT.
Waterfall: основа методологии и как выстраивается рабочий процесс
Waterfall – в переводе с английского «водопад» – методология, основанная на тщательном проектировании этапов, которые должны привести к конечному результату. Главная особенность в том, что последовательность этапов менять нельзя, как и перейти к следующему, не закончив предыдущий. Так называемая каскадная модель разработки.
Конечно, для каждого проекта этапы выглядят по-своему. Однако чаще всего последовательность такая:
- Аналитика и формирование требований.
- Проектирование системы или подготовка прототипов.
- Создание или разработка.
- Тестирование.
- Развертывание или внедрение.
- Техническое обслуживание или наблюдение за готовым продуктом.
Особенность методологии в том, что она требует тщательной подготовки и планирования. Команды, выполняющие этапы, должны четко понимать требования и ограничения, перед тем как приступать к работе. Сама методология не предусматривает дополнительных временных затрат на вариации, адаптации или ошибки.
Если составлен довольно подробный и четкий план, то эта методология прекрасно подходит для отслеживания прогресса и управления временными рамками. При этом на гибкость всех процессов, как в Agile, рассчитывать не стоит.
Agile: основа методологии и как выстраивается рабочий процесс
Agile – в переводе с английского «гибкий» – методология, основанная на итерациях, которые приводят к конечному результату. Причем в конце каждой итерации уже есть работающий продукт, пусть еще и с неполной функциональностью. Проще говоря, готовый результат значит больше каких-либо условностей. Благодаря непрерывной разработке при помощи кросс-функциональных команд такой подход наиболее эффективен, если вдруг потребуется внести неожиданные изменения в проект. Любую мелочь можно учесть в процессе разработки продукта или решения.
Гибкий подход был разработан в начале 21 века группой разработчиков в противовес классическому Waterfall. Причиной стало то, что при каскадном подходе проекты часто теряли актуальность после своего создания. Так родился метод итераций, в конце каждой из которых был уже готовый продукт, но сперва с ограниченной функциональностью. В то же время все ценности и принципы нового подхода были зафиксированы в Agile-манифесте – документе, на который необходимо ориентироваться всем, кто работает по гибкой методологии.
Идея в том, что любые изменения можно вносить с легкостью, отсекая неработающие и неважные для продукта и клиента решения еще на этапе разработки. Да, изготовление финальной версии может затянуться, но, в отличие от каскадного подхода, где клиент получает готовый проект лишь в конце разработки, решение начинает работать уже после первой итерации.
Каждая итерация длится от двух до четырех недель, в конце предлагает уже работающий продукт и обязательно проходит следующие этапы:
- Планирование. Происходит при участии всех членов команды, работающей над проектом, выбираются наиболее приоритетные задачи для выполнения. Бэклог – список всех задач, над которыми можно работать во время итерации.
- Плотная коммуникация всех членов команды во время процесса. Для корректной работы гибкого подхода необходимо, чтобы все участники процесса общались между собой и как можно быстрее определяли блокирующие элементы.
- Ретроспектива этапа. Все члены команды собираются в конце итерации, чтобы обсудить успехи и неудачи.
Kanban: основа методологии и как выстраивается рабочий процесс
Канбан является подразделом гибкой методологии. По сути, это фреймворк для реализации гибкого подхода в рамках компании. Философия Agile заключается в адаптивном планировании, своевременном выполнении задач и постоянном совершенствовании – все это прекрасно реализовывается в рамках Kanban.
Фреймворк был разработан Тайити Оно (Taiichi Ohno) в 1940-х годах. В течение нескольких десятилетий он оцифровывался, адаптировался и совершенствовался. Современный фреймворк Kanban – это визуальный онлайн-метод управления работой.
Канбан-доска обычно включает в себя колонки, на которых прописаны этапы процесса, и карточки-задачи. Чаще всего процесс состоит из трех этапов: «Нужно сделать», «В работе», «Готово». Причем количество карточек-задач, находящихся на каждом этапе, ограничено. Названия и количество этапов могут меняться в соответствии с требованиями именно вашего проекта, ведь это фреймворк гибкого подхода.
Если вы грамотно подберете инструмент визуализации, поддерживающий методологию Kanban, то вашей команде будет доступно сразу множество информации в формате одной доски:
- Все текущие задачи и исполнители.
- Актуальные дедлайны.
- Теги, обозначающие приоритет и тип задачи.
- Детали каждой задачи.
- История изменений и необходимые файлы.
Это еще не полный список того, что может отражать грамотно выстроенная канбан-доска. Однако нужно тщательно подбирать инструмент визуализации: чем больше функциональности он предлагает, тем лучше. К примеру, Asana покажет уже текущий процесс в виде канбан-доски и позволит наполнить карточки-задачи всей необходимой информацией.
Scrum: основа методологии и как выстраивается рабочий процесс
Scrum – еще один фреймворк, основанный на ценностях и принципах Agile-подхода. Менее связанный с визуализацией, данный подход не такой гибкий, как Kanban, но при этом более эффективный за счет своего структурного подхода.
Scrum-команды имеют четко установленные правила и обязанности. Помимо стандартных встреч в начале и в конце итераций (в Scrum – спринтов), предусмотрено ежедневное обсуждение результатов запланированных задач. Это помогает максимально улучшать текущие процессы.
Каждый спринт ограничен по времени и включает определенное количество задач. Чаще всего он длится 2 недели. Главная особенность фреймворка в том, что в командах обычно назначают Scrum-мастера, который отвечает за управление рабочим процессом и следит, чтобы все участники были в курсе изменений.
Scrum-мастер – человек в команде, который больше всего заинтересован в успешной реализации проекта и управлении процессом. Он отвечает за реализацию трех традиционных этапов Scrum:
- Планирование спринта. Scrum-мастер и команда берут список невыполненных задач и определяют наиболее важные, чтобы реализовать во время спринта.
- Ежедневные встречи. Каждый день 15-минутные обсуждения рабочего процесса для контроля прогресса и посильности выполнения объема задач.
- Ретроспектива спринта. Когда спринт заканчивается, Scrum-мастер проводит совещание, чтобы оценить, какая работа была выполнена.
Цель Scrum не в том, чтобы создать что-то за короткий срок, отправить заказчику и забыть как страшный сон. Наоборот, в основе лежит концепции «непрерывного совершенствования», когда команды делают маленькие шаги, чтобы достичь большой цели. Такой подход помогает командам более эффективно выполнять работу, не отменяя при этом ключевые ценности Agile.
Какую методологию выбрать вам?
Мы рассмотрели все тонкости отдельных методологий и фреймворков. Теперь давайте сравним их друг с другом, чтобы выяснить, какая подойдет именно вашей компании.
Так как Scrum и Kanban – фреймворки для гибкого подхода, то выбор в пользу конкретной методологии будет происходить между Waterfall и Agile. Для этого рассмотрим преимущества и недостатки каждого из этих подходов.
Преимущества и недостатки каскадного подхода
Преимущества Waterfall:
- Результат проекта известен заранее, еще на этапе плана.
- Прогресс различных этапов проекта легко отследить.
- Легко реализовывать сразу несколько проектов, т. к. можно еще на старте предположить, когда каждый проект перейдет на этап реализации к конкретной группе узких специалистов.
Минусы методологии:
- Повышены риски из-за отсутствия гибкости.
- Информация может быть потеряна, если на каком-либо из этапов не будет четкой документации.
- Неожиданные ошибки и срыв сроков исполнения из-за непредвиденных моментов, возникших в момент контроля качества.
- Недовольство клиента из-за его недостаточного участия.
Преимущества и недостатки гибкой методологии
Плюсы гибкой методологии:
- Быстрая адаптация к неожиданным изменениям.
- Удовлетворенность всех пожеланий клиента.
- Высокая мотивация всех членов гибких команд.
Минусы гибкой методологии:
- Непредвиденное увеличение масштаба и бюджета проекта.
- Трудности в необходимой плотной коммуникации с клиентами из-за их занятости.
- Полная вовлеченность команды в один процесс не дает реализовывать сторонние проекты.
- Если для виртуальной команды выбрать неподходящий сервис, то эффективная работа может быть затруднена.
Waterfall или Agile: что выбрать?
Каскадный подход стоит выбрать, если:
- Работа выполняется над последовательным проектом, где ни одна фаза не может начаться, пока не будет завершена предыдущая.
- Необходимо четкое и эффективное планирование на старте.
- Нет возможности плотно коммуницировать с клиентом и вносить изменения в уже утвержденный план.
Гибкий подход подойдет тем, кто:
- Заинтересован в качественном результате больше, чем в четкой документации.
- Хочет быстрее запустить продукт в работу.
- Готов создавать кросс-функциональные команды, обладающие большим уровнем ответственности.
- Может активно коммуницировать с клиентом.
Kanban и Scrum: какой фреймворк выбрать?
Если вы выбрали методологию Agile, вашим следующим шагом будет выбор фреймворка для реализации гибкого подхода.
Agile, конечно, может работать и сам по себе, но без четкого фреймворка набор ценностей и принципов превратится в хаос. В то же время Scrum и Kanban без следования гибкой концепции станут непосильной нагрузкой даже для самых стойких сотрудников.
Для начала стоит отметить несколько существенных различий между Scrum и Kanban:
- Scrum более строго определен правилами, чем Kanban.
- Спринты Scrum ограничены по времени, а канбан-доски не должны иметь дату начала или окончания.
- Этапы Scrum четко определены, а столбцы на канбан-доске могут быть организованы по-разному.
Kanban станет идеальным решением, если:
- Нужна визуализация управления проектами.
- Необходим быстрый способ узнать всю существующую информацию о проекте.
- Требуется мгновенный контроль всех происходящих процессов.
- Большая часть работы не создается за короткие промежутки времени.
Универсальность Kanban в том, что вы можете использовать то, что вам необходимо, а остальное отбросить.
Scrum подойдет тому, кто:
- Работает в команде инженеров или разработчиков.
- Думает, что команда была бы эффективнее в более жесткой структуре ведения процессов.
- Накопил большое количество задач, которые нужно выполнить.
- Имеет команду, способную создавать в краткие сроки и мотивированную результатами.
Помните: вы всегда можете объединить эти два метода, запустив Scrum на канбан-доске.
Как объединить Scrum и Канбан
Чтобы проводить эффективные ежедневные встречи, идеально планировать спринт и иметь полезные ретроспективы, вам нужен надежный способ визуализации этапов и отслеживания всей выполняемой работы. В этом случае канбан-доски станут хорошей помощью для реализации Scrum.
Команды, которые реализуют Scrum на канбан-досках, часто создают новую доску для каждого Scrum-спринта. На то есть две причины:
- Это облегчает Scrum-мастеру и Scrum-команде визуализацию работы.
- Прошлые доски необходимы Scrum-мастеру для отслеживания прогресса.
Т: Фреймворки можно комбинировать в рабочем процессе, лишь бы инструмент реализации позволял / Image by iconicbestiary on Freepik
Можно заметить, что выбор фреймворков для гибкого подхода не ограничивается остановкой на конкретной методологии. Все сводится к поиску наиболее удачной комбинации именно для вашей команды и проекта.
Вместо заключения
Независимо от того, внедряете ли вы каскадный или гибкий подход, решаете ли управлять своими командами при помощи спринтов Scrum или используете доски Kanban, убедитесь, что отслеживаете весь рабочий процесс в единой системе. Кроме того, все члены команд должны понимать, по какой методологии они работают и какие задачи решают в тот или иной момент. Без удобного сервиса невозможно будет ни контролировать процесс, ни доносить корректно информацию до его участников. Например, Asana с легкостью справляется с внедрением, отслеживанием и визуализацией любой из методологий, представленных в статье.