Что такое Scrum?

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

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


Принципы и ценности Scrum

Можно сказать, что Scrum - это методология управления проектами с конкретными этапами, в которой четко определены роли и события.

Система управления проектами Scrum основана на пяти ценностях:

  • Преданность (Commitment);
  • Сфокусированность (Focus);
  • Открытость (Openness);
  • Уважение (Respect);
  • Смелость (Courage).

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

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

Также при работе со Scrum нужно знать и ключевые принципы:

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

Прозрачность: все аспекты процесса, артефакты, прогресс, препятствия, должны быть видимыми и понятными для всех участников. Это основа для доверия и эффективного контроля.

Эмпирический процесс управления: управление основано на опыте, наблюдении и адаптации. Прогресс оценивается не по планам, а по реально созданному работающему продукту (Инкременту) и метрикам процесса. Решения принимаются на основе фактов.

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

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

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


Кто входит в состав Scrum-команды?

Прежде чем говорить о структуре фреймворка, рассмотрим, кто обычно входит в состав Scrum-команды.

Владелец продукта - тот, кто налаживает связь между командой и заинтересованными лицами. Он понимает, что нужно клиентам, контролирует общее видение проекта и его цели.

Scrum-мастер - один из членов команды, в задачи которого входит внедрение и укрепление ценностей Scrum на командных митингах и поддержка участников во время выполнения задач.

Члены команды - остальные участники Scrum-команды. Все они равноправны и каждый выполняют свою задачу.

Заинтересованные лица, упомянутые выше - не члены команды. Это все те, кто инвестирует в результат проекта. Например, особые клиенты, внутренние пользователи продукта, руководители высшего звена и прочие. Ключевые заинтересованные лица присутствуют на важных встречах и рассматривают ключевые решения по модернизации продукта, а также предоставляют обратную связь после каждой итерации.

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


Этапы Scrum

В фреймворке Scrum можно выделить пять основных этапов:

  1. Предварительное планирование.
    Постановка целей, определение видения продукта. Лидер проекта обозначает задачи, намечает дорожную карту проекта. Создание и доработка бэклога продукта - списка функций, требований и исправлений ошибок, где для команды прописываются все этапы работы над продуктом. Обычно к этапу предварительного планирования объема работы присоединяются заинтересованные лица.
  2. Планирование.
    На этом этапе участники команды вместе занимаются планированием спринта и выбором функций для включения в его бэклог. Поскольку их обычно определяет точка зрения пользователя, они называются пользовательскими историями. Необходимо разбить большие требования (которые обычно называют "эпиками") на простые задачи с приблизительной оценкой времени выполнения. Стоит убедиться, что бэклог спринта достаточно небольшой, его получится выполнить в рамках планируемого времени, распределить задачи и назначить ответственных за пользовательские истории.
  3. Спринт, этап реализации.
    Работа идет над итерацией или инкрементом продукта (ощутимый результат работы одного спринта), который реализуется в конце спринта. Необходимо проводить ежедневные митинги или Scrum-собрания, на которых будет обсуждаться прогресс, задачи, потенциальные трудности.
  4. Тестирование и проверка.
    По окончанию спринта клиенты и пользователи продукта (заинтересованные лица) тестируют новые функции или улучшения продукта. Если все работает как надо, итерация считается завершенной.
  5. Ретроспектива.
    Анализ итогов спринта вместе со Scrum-командой, во время которого разбираются ошибки и выдвигаются предложения по улучшению работы. Общий бэклог продукта актуализируется в зависимости от результатов работы над обновлениями и смены приоритетов у заинтересованных лиц.

Как внедрить Scrum

Разберем по шагам как использовать Scrum в работе над проектом. Удобнее всего использовать для этого таск-трекер со специальными функциями для Scrum-команд.

# Выберите подходящего владельца продукта

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

# Создайте бэклог продукта

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

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

# Спланируйте этапы спринта

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

# Оцените время для выполнения каждой задачи

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

# Определите ответственных за задачи

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

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

# Запустите спринт

С этого момента начинается работа над задачами в недельном бэклоге.

# Установите время для ежедневных Scrum-встреч

Ежедневный Scrum или стендап используют 85% Agile-команд, так как совещания по прогрессу хода работы над проектом помогают расставлять приоритеты и совместными усилиями работать для достижения поставленных целей.

# Следите за эффективностью работы команды во время спринта

Для этого можно использовать автоматические "Burndown Charts". Диаграмма сгорания в реальном времени показывает, насколько вы отклоняетесь от намеченного курса или соответствуете ему.

# Анализируйте шаги спринта с заинтересованными лицами

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

# Проведите ретроспективу спринта

На этой встрече владелец продукта, Скрам-мастер и члены команды оценят следующее:

  • что удалось;
  • что можно улучшить;
  • возможные изменения в бэклоге продукта.

Только так получится постоянно обучаться и совершенствовать Scrum-процессы.

# Начните следующий спринт

Приступайте к планированию нового спринта, повторив все предыдущие шаги.


Kanban vs. Scrum: выбираем подход под задачи команды

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

Ключевые различия подходов:

  • Kanban - это метод управления потоком. Он не предписывает ролей, спринтов или жестких правил. Команда стартует с текущего процесса и эволюционно улучшает его, используя доску, WIP-лимиты и метрики потока (Lead Time, Throughput).
  • Scrum - фреймворк с четкой структурой. Работа строится вокруг спринтов, ролей и артефактов. Цель - поставка готового инкремента каждые 1-4 недели.

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


Вывод

Система управления проектами Scrum помогает командам разработчиков, маркетологов, инженеров и прочим командам быстро и качественно работать над большим количеством проектов. Постоянное улучшение своего продукта (каждые несколько недель) помогает легко адаптироваться к любым изменениям на рынке или в вашей клиентской базе.


Source: Kaiten