24 февраля 2022

✔️ Ключевые различия между Agile, Scrum и Kanban

Веб-разработчик, фрилансер... Пишу об ИТ и смежных технологиях.
В небольшом обзоре попробуем сравнить популярные подходы к управлению проектами и понять какой из них лучше.
✔️ Ключевые различия между Agile, Scrum и Kanban

Что такое Agile?

Agile — это подход к управлению проектами, делающий упор на поэтапное или пошаговое выполнение задач. Его часто используют для вопросов, где мы не можем спрогнозировать все до конца и существует риск непредсказуемых изменений. Методология Agile облегчает проектным группам адаптацию к быстро меняющимся событиям, помогает оперативнее реагировать на возникающие проблемы и сократить затраты по времени и эффективности.

В феврале 2001 года на лыжном курорте The Lodge at Snowbird(США,Юта) собрались семнадцать менеджеров крупных компаний, работающих над проектами по разработке программного обеспечения. На повестке дня стоял злободневный вопрос – разработка универсального набора принципов, ведущего к улучшению организационных мероприятий по созданию бизнес-проектов для любого направления деятельности и размера команды. Результатом их совещания стал грамотно составленный управленческий кодекс под названием Agile Manifesto. В основе этого документа, использующегося теперь во многих отраслях жизнедеятельности человека, лежат четыре основные ценности или концепции управления проектами.

1. Люди и взаимодействие между ними важнее процессов и инструментов

Чтобы получить четкое представление о требованиях сторон, условиях работы и остальных стратегически важных нюансах, требуется правильная коммуникация между бизнесом и разработчиками. Хотите построить по-настоящему адаптивно-гибкий процесс взаимодействия по схеме заказчик-исполнитель – научитесь общаться между собой!

2. Работающий продукт или программное обеспечение важнее исчерпывающей документации

Методология Agile не заставляет полностью отказываться от документации, а ограничивает ее составление несколькими самыми необходимыми документами. Оформление требований, спецификаций, проспектов, проектной сметы, планов испытаний и утверждения отнимает у разработчиков довольно много времени. Вместо этого в Agile мы создаем «User Stories» – некий пошаговый список дел, составленный клиентом в соответствии с его приоритетами. Его достаточно, чтобы специалисты начали работу над проектом, не обращая внимания на бюрократические издержки.

3. Сотрудничество с клиентами в ходе переговоров важнее длительного согласования условий контракта

Как правило, при обычной постановке дел, заказчик взаимодействует с командой разработчиков на этапе обсуждения требований и сроков, а также по завершении работы – для получения обратной связи и предложений.

В Agile же клиент вовлечен и сотрудничает со специалистами на протяжении всего процесса. Такой подход облегчает понимание, и в разы увеличивает шанс полностью удовлетворить потребности клиента без задержек по времени и срыва дедлайнов.

4. Оперативное реагирование на изменение вместо следования плану

Чтобы уменьшить риски и не откладывать все нововведения и редактуру проекта на последние стадии разработки (когда будет уже поздно сдвигать срок или усиливать команду), Agile предлагает не только итеративность работы, но и готовность к изменениям на всех стадиях.Теперь приоритеты периодически можно смещать от итерации к итерации. Новые фичи и изменения, уже сделанных частей проекта, можно включать в следующую возможную итерацию.

Agile хорошо подходит для проектов, в которых некоторые детали неясны с самого начала. Это делает его подходящим для отраслей, имеющих дело с постоянными или непредсказуемыми изменениями, или для команд, создающих новый продукт. Более традиционные стили управления лучше подойдут для бизнес-идей, имеющих строгие ограничения по времени или фиксированный бюджет.

Что такое Scrum?

Scrum — это методология Agile, предназначенная для разработки продуктов в среде, подверженной изменениям. С описанием Scrum вы можете ознакомиться на официальном сайте www.scrumguides.org.

В Scrum циклы называются «спринтами» и, как правило, длятся от одной до четырех недель. Работа поэтапная и каждый этап целиком зависит от предыдущего. Scrum-команды обычно небольшие, от трех до девяти человек со scrum-мастером, отвечающим за правильное применение методологии и владельцем продукта, отвечающим за успех всего предприятия. Коммуникация с членами команды – последовательна, с постоянной обратной связью. Это наиболее часто используемая методология Agile. Согласно отчету State of Agile, опубликованному в 2021 году статистическим сайтом digital.ai, около 66 процентов пользователей Agile используют при работе Scrum.

В основе методологии лежат три принципа работы:

  1. Прозрачность. Все вовлеченные в процесс игроки имеют полный доступ ко всей информации.
  2. Адаптация. Работа по проекту в любой момент может поменять вектор без потери производительности и времени.
  3. Обновление. Команда стремится постоянно улучшать продукт и сам процесс разработки.

Scrum отлично подходит для работы со сложными задачами в изменяющихся условиях, а также для новаторских новых проектов – стартапов.

Однако Scrum и Agile невзаимозаменяемые термины.

Agile и Scrum

Основное отличие Scrum и Agile в том, что: Agile — это общая философия, стиль управления проектами, а Scrum — один из нескольких методов, используемых для реализации этого стиля, agile-фреймворк.

Ключевые сходства этих двух определений, отчетливо делающие Scrum Agile-процессом:

  1. Краткосрочные циклы разработки.
  2. Сосредоточенность на взаимодействии между людьми, сотрудничестве и общении.
  3. Способность адаптироваться к изменениям и обратной связи.

Вот что отличает Scrum от других методологий Agile:

  1. Работа разбита на спринты продолжительностью от одной до четырех недель.
  2. Бэклог продукта содержит записи о том, какую работу необходимо выполнить.
  3. Наличие Scrum-мастера и владельца продукта (product manager).
  4. Члены команды проводят короткое «ежедневное собрание по обновлению Scrum».

Что такое Kanban?

Канбан ( от японского «вывеска») был создан в начале 1940-х годов инженером-технологом Тайичи Оно, для улучшения процесса производства автомобилей компании Toyota. В основе метода лежит принцип визуализации задач, с помощью записи их на доске (виртуальной или физической), разделенной на столбцы, представляющие разные этапы проекта. По ходу процесса разработки, стикер или карточка, представляющая проект, перемещаются от одной фазы к другой, пока все задачи не будут выполнены. Это отличный способ вести рабочий процесс и выявлять узкие места. В отличие от Scrum, Kanban уделяет меньше внимания фиксированным срокам, и работа происходит в непрерывном потоке. Методология проповедует принципы бережливого управления, при котором исключается возможность перепроизводства, то есть изготовление продукта в запас. Это экономит ресурсы и время.

Scrum и Kanban

При наличии нескольких вариантов важно не ошибиться и изучить всё детально, ведь выбрать метод управления разработкой порой не так-то просто.

Основное различие между рассматриваемыми agile-фреймворками — в длине итераций. В Scrum, как мы уже говорили, между этапами разработки проходит 2-3 недели, в Kanban же задачи работникам можно «подкидывать» хоть каждый день.

Kanban обладает большей гибкостью или как это принято сейчас называть business agility. Он работает лучше, когда увеличена частота смены приоритетов. Например, когда вы, выкинув на прод фичу, узнали, что та не работает так, как было задумано, поднимаете очереди новую задачу и разработчик берет ее «сверху», выполняя ее в первую очередь.

В Scrum задачи оцениваются в Story points либо по времени (в часах). Оценка необходима для формирования спринта и для анализа возможности реализации поставленных задач за 2 недели. По завершении спринта менеджер проекта подсчитывает количество часов или Story points, чтобы понять, где команда будет в начале следующего этапа.

В Kanban нет оценок и понятия «скорость работы команды». здесь ведется подсчет только среднего времени, затраченного на задачу, подсчитанного с помощью специального отчета — Cycle Time, разности между временем выполнения задачи и временем начала работы.

Подытожим, в Scrum наша цель — закончить спринт, в Kanban — задачу.

Scrum — это автобус, останавливающийся лишь на определенных отрезках своего пути, на которых пассажиры выходят небольшими группами. Kanban — это маршрутка, где при желании можно выйти в любом месте, попросив остановиться водителя.

А еще в некоторых компаниях, менеджеры проектов объединяют концепции Scrum и Kanban в гибридную методологию, называемую Scrumban.

***

Какую бы из предложенных методологий вы ни выбрали, всегда помните четыре принципа ведения проектов:

  1. Основной ресурс – люди!
  2. В топку бюрократическую волокиту.
  3. Клиентоориентированность навсегда.
  4. Оперативность реагирования на все поступающие задачи, но без фанатизма.

Удачи в управлении проектами!

Материалы по теме

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ