Аджайл скрам и канбан что это
Scrum, Kanban или оба?
Сегодня большинство компаний используют методологию Agile при разработке программного обеспечения. У Agile есть разные системы с похожими принципами и конечными результатами, но они различаются по структуре и подходу к управлению. Какой из них лучше всего подходит для вашего проекта? Это Скрам или Канбан? Или оба?
Олег Мельник
Technical Lead в компании Proxify, а также преподаватель в OTUS
Agile
Scrum
В Scrum есть три роли : Product owner, Scrum Master и команда разработчиков, которые разбивают работу по разработке продукта на небольшие этапы, называемые спринтами. Это временные рамки, состоящие из мероприятий по планированию спринтов, ежедневных схваток, обзоров спринтов и ретроспективных мероприятий спринта, которые проходят каждый спринт. В каждом спринте высокопроизводительная команда Scrum находит инновационные решения сложных проблем, чтобы разработать, выпустить и поддерживать продукт.
Команда Scrum поставляет программное обеспечение постепенно, с пометкой «Готово», чтобы максимизировать обратную связь и повысить эффективность.
Kanban
В Канбане нет конкретных размеров команд или должностей. На доске указаны главные приоритеты каждой команды. В канбан-менеджменте нет временных ограничений. Это дает членам команды свободу работать так интенсивно, как они хотят, чтобы выполнить свою работу. Фактически, свобода дает больше обязанностей. Команды должны организоваться и полагаться на свой опыт, не ожидая присмотра.
Нет необходимости в ограничении задач или мерах контроля. Однако менеджер может измерить среднее время выполнения задач и обсудить это с командами в качестве попытки улучшения. Также он организует доску, на которой записываются все цели, будущие задачи, тесты и выполненные задачи.
Отличия
Рабочие роли и обязанности
В Kanban менеджер является организатором проекта, где команды разработчиков сотрудничают и помогают друг другу независимо от того, над какой стороной проекта они работают. Например, если разработчик программного обеспечения закончил со своими задачами на доске, он начинает работу по тестированию, когда команда QA отстает.
Планирование и сроки поставки
Планирование времени лучше или нет?
В идеале руководство должно отвечать ожиданиям клиента относительно того, когда будет выпущен продукт. Скрам определенно лучший вариант для доставки вашего продукта в отведенное время. Из-за спринтов Scrum желателен для проектов, в которых клиент и руководство фиксируют прогресс. Отсутствие согласованного расписания в канбане предназначено для более сложных проектов в долгосрочной перспективе, когда работа выполняется точно, а не в спешке.
Производительность и измерение
Канбан ориентирован на достижение индивидуальных целей, записанных на доске Канбан. Прогресс не имеет конкретных мер. Обычно визуализация задач показывает прогресс каждой небольшой команды.
Является ли одна гибкая методология более продуктивной, чем другая? Конечно же нет. Не существует правильного рецепта гибкого управления. Это зависит от потребностей проекта. Просто дайте понять: каковы цели проекта? Какой рабочий процесс лучше всего подходит членам команды? Каков спрос со стороны конечного пользователя?
И Scrum, и Kanban усиливают управление проектом, но по-другому. Так зачем выбирать только один из них? Что, если есть третий метод, сочетающий в себе их лучшие качества?
Scrumban?
Визуализация рабочих элементов из системы Канбан представлена в Scrum. Рабочие элементы Scrum, находящиеся в процессе выполнения, подробно описаны на доске Kanban. Диаграммы применяются для выявления слабых мест и выявления возможностей для улучшения. Следовательно, Scrumban будет иметь растущую прозрачность, где каждый может видеть, что происходит с проектом.
Команда Scrum иногда может прийти к незавершению нескольких задач из-за ограничений по времени. При применении метода планирования Канбан задачи полностью завершаются до перехода в столбец «Готово». Вместо того, чтобы выпускать рабочие элементы раз в 2–3 недели в Sprints, существует постоянная поставка рабочего программного обеспечения. Качество превыше времени. Таким образом, в Scrumban есть улучшения по запросу, чтобы максимизировать поток работы.
Поэтому, не любите Scrum. Самыми важными стали метрики Канбан, а не скорость. Улучшение проекта выявляется внутри каждой команды самостоятельно. Это позволяет более достоверно оценивать прогресс.
Однако в Scrumban структура Sprint по-прежнему присутствует для обратной связи с командами.
Обзоры спринтов используются для анализа результатов каждого рабочего цикла. Далее, как и в Scrum, ежедневные встречи отслеживают непрерывную работу над требованиями.
На этом все. А тех, кто желает подробнее узнать о курсе, познакомиться с преподавателями и почерпнуть еще больше полезной информации, приглашаем на бесплатный демоурок по теме: «Как уточнять статусы задач и подружиться с соседями».
Agile/Scrume/Kanban как выравнивать процессы, максимизировать процессы
Материал подготовлен в рамках обучения Product University, январь, 2021
Для начала определим кто такой менеджер?
Менеджер — это человек производящий и управляющий потоками, для оптимизации производственной деятельности и достижения поставленных целей и результатов.
Менеджер должен уметь правильно ставить задачи команде, следить за результатами поставками, он также должен знать основы Agile, Scrume, Kanban. Чтобы иметь представления как работать с командой.
Agile (agile software development, от англ. agile – проворный, шустрый, сообразительный) – это семейство «гибких» подходов к разработке ПО.
А теперь простыми словами, некоторые считают что Agile это методология, но любой опытный Product Manager скажет Вам что Agile это способ мышления он не включает практики, а определяет принципы и ценности это некая философия, которыми руководствуется команда.
Подход к проектам по разработке ПО
• Гибкая методология разработки,
• Постоянное формирование требований на основе целевого видения продукта
• Короткие горизонты планирования (1-2 мес.)
• Реализация внутри самоорганизующихся рабочих групп, состоящих из специалистов различного профиля
• Каждый участник процесса «конвейерной сборки» вовлекается в процесс переосмысления своих задач и общего дела; каждый может вносить изменения и даже остановить разработку
1. Люди и взаимодействие важнее процессов и инструментов;
2. Работающий продукт важнее исчерпывающей документации;
3. Сотрудничество с заказчиком важнее согласования условий контракта;
4. Готовность к изменениям важнее следования первоначальному плану.
Таким образом, не отрицая важности того, что справа, всё-таки больше ценится то, что слева.
Особенность реализации проектов
• Фиксированы срок и стоимость проекта.
• Лучший контроль качества – контроль результата каждой итерации
Scrum (в переводе с англ: схватка, потасовка, толпа) — методология управления проектами, применяется при необходимости гибкой разработки; методология делает акцент на качественном контроле процесса разработки
Scrum – самая популярная из гибких методологий разработки
Позволяет решать задачи
• с минимальными затратами.
РЕЗУЛЬТАТ КАЖДЫЕ 2 НЕДЕЛИ!
В Scrum задачи принято оценивать в Story points или в часах. Без оценки не получится сформировать спринт: ведь нам нужно знать, успеем ли мы сделать задачи за 2 недели. Через 2 недели мы получаем ценную статистику — сколько часов или Story points команда смогла сделать за спринт.
Velocity — это производительность команды за один спринт. Этот параметр позволяет Scrum менеджеру предсказать, где команда будет через 2 недели.
Перед началом спринта команда сама формирует список задач на итерацию, далее запускается спринт.
ОЧЕНЬ ВАЖНА РОЛЬ ВЛАДЕЛЬЦА ПРОДУКТА, который постоянно участвует в проекте, понимает, что должно быть достигнуто, оценивает все риски и выгоды.
По методологии Scrum, оптимальной является группа из 5-9 ЧЕЛОВЕК.
Как максимизировать и выравнивать процессы?
На самом деле здесь уже все продумано, и придумать велосипед не нужно!
Используется всего четыре артефакта:
Sprint Backlog – это обязательство команды: что они должны выполнить за ближайшие 2 недели. Каждое требование разделено на задачи, которые представлены на доске.
Это краткое описание того, ради чего выполняется данный спринт, цель на спринт помогает команде принимать обоснованные решения.
Этот артефакт необходим для того, чтобы команда проекта могла самостоятельно принимать решение в случае появления альтернативных путей решения задачи. Чтобы решения команды были осознанными, Product Owner определяет цель спринта.
Sprint Burndown Chart
Есть несколько процессов, которые принято называть ритуалами. Каждый ритуал выполняется неукоснительно и в строгом соответствии с подходом. На практике такие процессы стараются немного адаптировать, но ключевые принципы не изменяют.
Ритуалы в скрам это:
Sprint Planning Meeting (встреча по планированию спринта)
Daily Meeting (ежедневная встреча команды).
Scrum Master следит за ходом встречи, побуждает участников высказываться полностью и слушать говорящего.
Sprint Review – сдача спринта Product Owner
По завершению каждого спринта команда обязана провести демонстрацию полученного результат.
Ценность Scrum для обычного заказчика во многом состоит в том, что результат работ (плохой или отличный, не важно) будет продемонстрирован в любом случае. Это знает и команда и Product Owner и другие заинтересованные лица. Если команда не проводит демонстрацию (иное название Sprint Review), то это дискредитирует все преимущества гибких процессов.
Ритуал, который направлен на обмен опытом внутри команды. Встреча проводится после Sprint Review. На встрече присутствует вся команда и Scrum Master. На встрече может присутствовать Produt Owner, если считает нужным.
Методика проведения встречи варьируется в зависимости от проекта, его команды и просто традиций в коллективе. Тем не менее, должны быть озвучены ответы на следующие вопросы:
Kanban, это система управления бережливыми производством (перевод с японского: «сигнал»/«карточка»), которая использует информационные карточки для передачи заказа на всех этапах изготовления. Простыми словами, мы отслеживаем весь путь продукта, от идеи до выхода “на полку магазина”.
Kanban — это метод для разработки продуктов, который помогает наладить текущие процессы и не перегрузить команду. Незавершенные задачи не простаивают и потоком движутся по цепочке создания продукта или его поддержки.
Kanban используют для реализации проектов.
Kanban дает больше гибкости, если под гибкостью понимать частоту смены приоритетов. Если вчера разработчик залил выполненную задачу, а сегодня получили данные с «передовой» и узнали, что вот эта штука не работает так, как было задумано, то дают новые требования. Дополненные новые задачи поднимаются вверх и программист берет эту задачу «сверху», выполняет ее и, к вечеру все работает как надо. Все счастливы и эффективны как никогда.
В Канбан «скорость работы команды» отсутствует и считается только среднее время на полную реализацию задачи
Бэклог — задачи, которые надо выполнить
Задачи, которые в данный момент разрабатываются
Задачи, которые выполнены, но еще не переданные тестировщикам
Задачи, готовы к передаче отделу тестирования
Задачи, которые проходят проверку проект-менеджером (ПМ)
Основной инструмент отображения статуса по задачам. Главный принцип: мы видим на каком этапе производственного процесса находится та или иная задача. Плюс, отслеживается время на всех участках, то есть всегда можно обнаружить “узкие места” в системе и поработать с ними.
Количество столбцов вы определяете сами исходя из особенностей своего проекта. Важно, чтобы это были основные этапы, которые проходит ваш продукт. Пример выше, это плюс-минус основные этапы, которые проходит интернет продукт.
Сравнение Scrum и Kanban. Какая методика Agile подойдет вам?
Прочитайте о главных аспектах, на которые стоит обращать внимание при выборе между Scrum и Kanban, и узнайте, что делать, если не можете решиться с выбором.
Просмотр тем
Описание. Сравнив Kanban и Scrum, мы рассмотрим две различные стратегии для внедрения системы разработки или управления проектами по методике Agile. Методики Kanban предполагают непрерывность и большую подвижность, а Scrum основывается на коротких структурированных спринтах работы.
Agile — это набор идеалов и принципов, которые служат нам ориентиром. DevOps — это способ автоматизации и интеграции процессов команд разработчиков и операционных команд. Внедряя Agile и DevOps, следуйте методике Kanban или Scrum. Каждая из них предлагает свой вариант управления многосоставной работой.
Указать на различия между методологиями scrum и kanban несложно, но это даст лишь поверхностное представление. Хотя методологии различаются, их принципы в целом одинаковы. Обе помогают улучшить качество продуктов (и сервисов) и избавляют от множества проблем.
Итак, на чем мы остановились?
Agile — это структурированный итеративный подход к управлению проектами и разработке продуктов. В нем учитывается непостоянный характер разработки продуктов. Самоорганизующиеся команды, выбравшие этот подход, получают возможность реагировать на изменения, не отклоняясь от намеченного пути. В наши дни agile не дает особого преимущества перед конкурентами. Сегодня просто невозможно разрабатывать продукт в течение нескольких месяцев или даже лет в условиях полной секретности. А значит, сейчас как никогда важно работать правильно.
Суть Kanban в визуализации работы, ограничении объема незавершенной работы и достижении максимальной эффективности (или скорости). Kanban-команды стремятся максимально сократить время, которое уходит на выполнение проекта (или пользовательской истории) от начала до конца. Для этого они используют доску Kanban и непрерывно совершенствуют свой рабочий процесс.
Задача команд Scrum — поставить работающее ПО за ряд промежутков времени, которые называются спринтами. Они стремятся создавать циклы обучения для быстрого сбора и учета отзывов клиентов. Scrum-команды используют особые роли, создают специальные артефакты и проводят регулярные собрания, чтобы работа шла в нужном русле. Лучше всего методика Scrum описана в руководстве по Scrum.
Scrum
Kanban
Регулярные спринты с фиксированной продолжительностью (например, 2 недели)
В конце каждого спринта
Владелец продукта, scrum-мастер, команда разработчиков
Обязательных ролей нет
Время выполнения, время цикла, объем незавершенной работы (WIP)
Отношение к изменениям
В ходе спринта команды не должны вносить изменения.
Изменение может произойти в любой момент
Scrum — структурированный agile-подход
В рамках Scrum команда берет на себя обязательство поставлять инкремент, обладающий достаточной ценностью, к концу каждого спринта. Scrum по своей сути является эмпирической методологией, которая предполагает, что на основе небольших инкрементов работы вы сможете изучить желания своих клиентов и будете лучше понимать, над чем работать дальше. Scrum состоит из следующих элементов.
График Scrum
В Scrum высокий темп работы достигается путем ее деления на спринты продолжительностью от двух до максимум четырех недель с точными датами начала и окончания. Из-за узких временных рамок сложные задания приходится делить на более мелкие истории, и команда быстрее учится. Сможет ли команда за это время поставить пригодный для использования код? Вот в этом — главный вопрос.
Ключевыми точками в спринте являются собрания по планированию спринта и по обзору итогов спринта, а также ретроспективы. Кроме того, в ходе спринта проходят ежедневные scrum-совещания (стендапы). Эти scrum-собрания не отнимают много сил и проводятся на регулярной основе.
Подходы к релизу
Сейчас при использовании scrum продукт нередко выпускается по ситуации, но долгое время рекомендовалось выпускать продукт в конце каждого спринта. Команды ставят цель для каждого спринта (цель спринта) и на собрании по обзору итогов спринта принимают решение, выпускать результат работы или нет.
Роли в Scrum
В scrum четко обозначены три роли.
Кто руководит командой scrum? По факту никто. Команды scrum проповедуют принцип самоорганизации; в них все участники равны, хоть и исполняют разные обязанности. Команду объединяет общая цель: поставить ценный продукт клиентам.
Ключевые показатели
Скорость — сумма очков оценки сложности, отражающая объем работы, которую выполнили за спринт. Это базовый показатель для команд scrum. От него зависит, какой объем работы команда возьмет на себя в будущих спринтах. Если команда в среднем за спринт может заработать 35 очков оценки сложности (скорость = 35), она не примется за бэклог спринта, содержащий задач на 45 очков.
Отношение к изменениям
Команды очень стремятся не менять объем работ во время спринта. Однако иногда scrum-команды получают отзывы и понимают, что то, над чем они работают, не так ценно для клиента, как казалось раньше. В таких случаях объем спринта следует изменить, ведь нет ничего важнее, чем поставить ценный для клиента продукт. В рамках ретроспективы спринта команды scrum должны обсуждать, как свести число изменений к минимуму в будущем, так как они ставят под угрозу возможность создания готового к поставке инкремента.
Подробнее о методологиях scrum см. в статье Что такое scrum?.
Kanban — непрерывное совершенствование, гибкие процессы
Суть Kanban — в визуализации работы, ограничении объема незавершенной работы (WIP) и быстром перемещении задач от стадии «Выполняется» на стадию «Завершено».
Kanban отлично подходит командам, которым поступает множество запросов, различающихся по важности и объему работы. В отличие от методологии Scrum, в которой требуется строгий контроль за задачами в запланированном объеме, Kanban позволяет адаптироваться к изменениям. Мы рассмотрим пять факторов, чтобы вам легче было принять решение.
Модель Kanban
В основе kanban лежит непрерывная структура рабочего процесса, дающая командам свободу действий и возможность меняться вместе с изменениями приоритетов. Рабочие задачи представлены карточками на доске kanban и перемещаются из одной стадии рабочего процесса (столбца) в другую. Обычно рабочий процесс подразделяется на стадии «Предстоит сделать», «В процессе», «На проверке», «Заблокировано» и «Завершено». Но это не самый интересный способ разбить процесс.
Возможность создавать собственные столбцы в зависимости от того, как работает ваша команда, — лучшая особенность Kanban. Моя команда поставляет контент, поэтому задачи проходят столбцы (упрощенно) «Бэклог», «Приоритеты расставлены», «Схема набросана», «Написание», «Оформление», «Техническая экспертиза» и «Поставлено». С помощью нашей доски мы узнали, что поставляем примерно одну порцию контента в неделю, и поняли, где у нас проблемные места. (Да, это именно «Техническая экспертиза»!)
Подходы к релизу
В kanban обновления выпускаются по мере готовности; регулярный график или заранее определенные сроки отсутствуют как таковые.
Теоретически в рамках kanban не требуется устанавливать точный срок для завершения задания. Если задание выполняется раньше (или позже), результат выпускается по мере необходимости: для выпуска не нужно ждать контрольной точки, например собрания по обзору итогов спринта.
Роли в Kanban
Доска Kanban принадлежит всей команде. Некоторые команды привлекают к участию тренера по agile, но Kanban, в отличие от Scrum, не предусматривает роль «kanban-мастера», который отвечал бы за устранение шероховатостей в процессе работы. Команда несет коллективную ответственность за совместное выполнение заданий на доске и поставку результатов.
Ключевые показатели
Время выполнения и время цикла — важные показатели для команд kanban. Они отражают, сколько в среднем уходит времени на выполнение работы от начала до конца. Сокращение времени цикла говорит об успехе kanban-команды.
Еще одним аналитическим инструментом является сводная диаграмма процесса. Глядя на нее, команды понимают, сколько рабочих задач находится на каждой стадии. С ее помощью можно выявить проблемные места, которые нужно устранить для повышения производительности.
Другое средство борьбы с проблемными местами — лимиты незавершенной работы (WIP). Они позволяют ограничить максимальное количество карточек, которые могут находиться в любом столбце одновременно. Когда лимит WIP достигнут, специальный инструмент, например Jira Software, помечает этот столбец, и команда направляет свое внимание на эти задачи, чтобы передать их на следующие стадии.
Отношение к изменениям
В kanban рабочий процесс можно менять в любой момент. В зависимости от приоритетов новые рабочие задачи можно добавлять в бэклог, а существующие карточки — блокировать или вовсе удалять. В случае изменения производительности команды можно соответствующим образом скорректировать лимит WIP и изменить рабочие задачи. Суть kanban — в гибкости.
Подробнее о методике kanban см. в статье Что такое kanban?.
Сравнение инструментов Scrum и Kanban
Сторонники agile не склонны рассуждать об инструментах. Нередки случаи, когда выбор инструмента определяет выбор методологии, а выбор методологии определяет принципы, которых придерживается команда. Мы же считаем, что процесс принятия решения должен идти в обратном направлении.
Только после того, как вы освоили принципы scrum и пришли к выводу, что scrum полностью отвечает вашим потребностям, следует выбирать оптимальный инструмент scrum. То же можно сказать и про kanban. Конечно, наше мнение предвзято, но мы считаем, что Jira Software, лучший инструмент для разработки ПО, используемый agile-командами, обеспечивает любые потребности.
Jira позволяет создавать проекты специально под scrum и kanban, чтобы вы могли реализовывать принципы каждой методологии. Кроме того, вы всегда можете обратиться за помощью к нашим руководствам по применению scrum с помощью Jira Software и применению kanban с помощью Jira Software.
Kanban или Scrum — не можете выбрать?
Применять Scrum и Kanban — значит следовать всем правилам Agile. Эти методики прошли проверку временем и, откровенно говоря, им сложно что-либо противопоставить. Переиначив известный девиз IBM, можно сказать, что еще никого не уволили за выбор Scrum.
Но решение необязательно должно быть категоричным. Сотни команд используют гибридные модели, разработанные под влиянием и Scrum, и Kanban. В Jira Software мы предусмотрели все необходимое и создали проекты команды.
Проекты команды, как видно из названия, позволяют командам самим выбирать возможности Agile, которые им нужны. Это могут быть элементы Scrum, Kanban или их сочетание. Необязательно брать за основу одну методологию в первый же день работы. В проектах команды можно поэтапно добавлять все более и более мощные возможности по мере понимания того, что подходит команде (а что нет).
Выбирая проект команды Scrum или Kanban, вы не рискуете, ведь шаблоны обоих типов можно дорабатывать с учетом потребностей команды.
Что бы вы ни выбрали, не спешите менять методологию. Пусть какие-нибудь рабочие задачи из бэклога пройдут весь путь до стадии «Завершено», и только потом спросите команду, что удалось, а что нет. Знакомьтесь со Scrum и Kanban, задавайте эти вопросы, и в конечном счете вы познаете радость следования Agile.