fbpx

Agile, Scrum, Kanban

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

Чтобы не запутаться.

Scrum и Kanban - это гибкие методологии создания продукта. По ним можно работать в любой отрасли, но особенно хорошо они подходят для ИТ. В основе обеих методологий лежат принципы Agile. Сам Agile (agile software development, от agile - проворный) - это семейство "гибких" подходов к разработке программного обеспечения. Такие подходы также иногда называют фреймворками или Agile-методологиями.

Смысл Agile сформулирован в Agile-манифесте разработки ПО: "Люди и взаимодействие важнее процессов и инструментов. Работающий продукт важнее исчерпывающей документации. Сотрудничество с заказчиком важнее согласования условий контракта. Готовность к изменениям важнее следования первоначальному плану".

1Н73ЛЛ3К7 370 6ПО6ОБНОС7Ь 4Д4П71PОВ47Ь6Я K 13M3H3H1ЯМ. 67ИВЗН ХОК1НГ.

К отдельным Agile-подходам относятся Scrum и Kanban. Scrum и Kanban - это гибкие методологии, работающие в Agile фреймворке.

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

Scrum-подход делит рабочий процесс на равные спринты - обычно это периоды от недели до месяца, в зависимости от проекта и команды. Перед спринтом формулируются задачи на данный спринт, в конце - обсуждаются результаты, а команда начинает новый спринт. Спринты очень удобно сравнивать между собой, что позволяет управлять эффективностью работы.

People think focus means saying "yes" to the thing you've got to focus on. But that's not what it means at all. It means saying "no" to the hundred other good ideas that there are. You have to pick carefully. I'm actually as proud of the things we haven't done as the things we have done.

Innovation is saying "no" to 1,000 things. Steve Jobs.

Kanban - это "подход баланса". Его задача - сбалансировать разных специалистов внутри команды и избежать ситуации, когда дизайнеры работают сутками, а разработчики жалуются на отсутствие новых задач.

Вся команда едина. В Kanban нет ролей владельца продукта и Scrum-мастера. Бизнес-процесс делится не на универсальные спринты, а на стадии выполнения конкретных задач: "Планирование", "Разработка", "Тестирование", "Завершение"...

Главный показатель эффективности в Kanban - это среднее время прохождения задачи по доске. Задача прошла быстро - команда работала продуктивно и слаженно. Задача затянулась - надо думать, на каком этапе и почему возникли задержки и чью работу надо оптимизировать.

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

Разница между Scrum и Kanban.

Основу Scrum составляют короткие спринты, как правило, 2 - 3-х недельные. Перед началом спринта команда сама формирует список задач на итерацию, далее запускается спринт.

После окончания спринта выполненные задачи финализируются (в чем бы это не выражалось), а невыполненные - переносятся в другой спринт. Как правило, задачи, которые делаются во время спринта, не меняются: что было на старте спринта - должно быть сделано любой ценой к окончанию спринта.

Если под гибкостью понимать частоту смены приоритетов, то Kanban дает больше гибкости. Если вчера исполнитель отчитался о выполнении задачи, а сегодня получили данные с "передовой" и узнали, что вот эта штука не работает так, как было задумано, то меняются требования. Дополненные новые задачи поднимаются вверх и исполнитель берет эту задачу "сверху", выполняет ее и, к вечеру все работает как надо. Все счастливы и эффективны как никогда.

В Scrum задачи принято оценивать в Story points или в часах. Без оценки не получится сформировать спринт: ведь нам нужно знать, успеем ли мы сделать задачи за 2 недели. Через 2 недели мы получаем ценную статистику - сколько часов или Story points команда смогла сделать за спринт. Velocity - это производительность команды за один спринт. Этот параметр позволяет Scrum менеджеру предсказать, где команда будет через 2 недели.

В Kanban не принято делать оценку. Это опционально, команда решает сама. Здесь нет понятия "скорость работы команды", считается только среднее время на задачу. Время это считается с помощью специального отчета - Cycle Time. Cycle Time для задачи равно время выполнения задачи минус время начала работы над задачей.

В Scrum цель - закончить спринт, в Kanban цель - решить задачу.

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

Scrum и Kanban на практике.

В чистом виде отдельные методы встречаются редко. Чаще всего компании сочетают те части гибких систем, которые им больше всего подходят. К примеру, для продуктовой разработки больше подойдет Scrum. Для начальных этапов, таких как исследование или тестирование гипотез - безусловно Kanban.

Scrum является очень удобным инструментом планирования. Он дает некую гибкость в непосредственном улучшении продукта. К примеру, во многих ИТ-компаниях, его используют раз в две недели для планирования самой разработки. Это помогает не тратить два-три месяца на решение проблемы, а запускать MVP (Minimal Viable Product, минимальный жизнеспособный продукт) и оперативно его дорабатывать после получения обратной связи от пользователей. Kanban в свою очередь отлично подходит для мониторинга хода выполнения работ. Ведь его ключевая задача - обеспечить процесс и ход разработки.

Каждая методология решает свою проблему, поэтому все зависит от целей и ожиданий от проекта. К примеру, вы ищите мужа. Используя методологию Kanban, вы прописываете детальный план, чтобы создать идеальный продукт, - и через год разработки получаете желаемое. Kanban - реализация принципа "точно в срок", строгая последовательность задач, равномерная загруженность, четкость на каждом этапе.

А если у вас нет конкретного плана? Тогда, на помощь приходит методология Scrum, с которой мелкими "шажками" (спринтами) можно постоянно разрабатывать и улучшать продукт благодаря быстрой обратной связи. В итоге конечный продукт может быть совершенно другим, чем тот, который планировался в начале, но он будет максимально соответствовать ожиданиям пользователей.