Что такое Scrum?
Scrum - это набор правил, благодаря которым команда налаживает гибкий рабочий процесс, разработка ведется итерациями, четко обозначаются цели каждой итерации и задачи каждого члена команды. Благодаря фреймворку компании могут применять принципы и ценности методологии управления проектами по Agile.
Scrum (как, собственно, и Agile) зародился для упрощения рабочих процессов в компаниях, которые занимаются разработкой программного обеспечения и управлением продуктов. В наше время методика Scrum используется в сферах маркетинга, брендинга, дизайна и многих других. Это отличный фреймворк для работы над динамично развивающимися проектами. Scrum направлен на самостоятельную работу над проектом, а не на решение данных "сверху" задач.
Принципы и ценности Scrum
Можно сказать, что Scrum - это методология управления проектами с конкретными этапами, в которой четко определены роли и события.
Система управления проектами Scrum основана на пяти ценностях:
В контексте Scrum все, что делают работники должно быть направлено на усиление этих ценностей, и ни в коем случае не подрывать их.
Он предоставляет четкую структуру для реализации Agile-подхода на практике. И это рабочая методика, так как 58% Agile-команд используют фреймворк Скрам. Благодаря ему члены Scrum-команды могут учитывать нужды клиентов на протяжении всей работы над проектом.
Также при работе со Scrum нужно знать и ключевые принципы:
Итеративность и инкрементальность: Работа разбивается на короткие, фиксированные по времени циклы - спринты (обычно 1-4 недели). По итогам каждого спринта команда создает готовый к использованию инкремент продукта.
Прозрачность: все аспекты процесса, артефакты, прогресс, препятствия, должны быть видимыми и понятными для всех участников. Это основа для доверия и эффективного контроля.
Эмпирический процесс управления: управление основано на опыте, наблюдении и адаптации. Прогресс оценивается не по планам, а по реально созданному работающему продукту (Инкременту) и метрикам процесса. Решения принимаются на основе фактов.
Самоорганизация команды: команда самостоятельно определяет, как лучше выполнить работу в рамках спринта, распределяет задачи и несет коллективную ответственность за результат.
Кросс-функциональность команды: Команда разработчиков обладает всеми необходимыми навыками (анализ, дизайн, разработка, тестирование и т.д.) для превращения отобранных для Спринта элементов бэклога в готовый инкремент без внешней зависимости.
При этом в Scrum нет стандартов идеального долгосрочного планирования, на которую опираются в традиционных рабочих подходах. Фреймворк сосредотачивается на выполнении задач на короткой дистанции.
Кто входит в состав Scrum-команды?
Прежде чем говорить о структуре фреймворка, рассмотрим, кто обычно входит в состав Scrum-команды.
Владелец продукта - тот, кто налаживает связь между командой и заинтересованными лицами. Он понимает, что нужно клиентам, контролирует общее видение проекта и его цели.
Scrum-мастер - один из членов команды, в задачи которого входит внедрение и укрепление ценностей Scrum на командных митингах и поддержка участников во время выполнения задач.
Члены команды - остальные участники Scrum-команды. Все они равноправны и каждый выполняют свою задачу.
Заинтересованные лица, упомянутые выше - не члены команды. Это все те, кто инвестирует в результат проекта. Например, особые клиенты, внутренние пользователи продукта, руководители высшего звена и прочие. Ключевые заинтересованные лица присутствуют на важных встречах и рассматривают ключевые решения по модернизации продукта, а также предоставляют обратную связь после каждой итерации.
Scrum-команда обязательно кросс-функциональна. Например, в команде по созданию мобильных приложений должны быть UX-дизайнеры, разработчики, специалисты по API и прочие. Каждый участник обязан располагать соответствующими инструментами для завершения итерации. Поэтому у них не должно возникать необходимости передавать часть работы на аутсорс. Это один из основных принципов управления проектами по Scrum.
Этапы Scrum
В фреймворке Scrum можно выделить пять основных этапов:
Как внедрить Scrum
Разберем по шагам как использовать Scrum в работе над проектом. Удобнее всего использовать для этого таск-трекер со специальными функциями для Scrum-команд.
# Выберите подходящего владельца продукта
Им не обязательно должен быть лучший участник команды. Лучшим выбором будет тот, кто понимает клиентов и их потребности. Им может быть внутренний пользователь вашего продукта, кто-то из отдела продаж, маркетинга, службы поддержки, управления учетными записями и даже бизнес-аналитик. Он - связующее звено между Scrum-командой и заинтересованными лицами, так что необходимо выбирать тщательно.
# Создайте бэклог продукта
Прежде чем приступать к планированию какого-либо спринта, необходимо наметить все, что будет входить в итоговый продукт. Владелец продукта должен тесно сотрудничать со всеми самыми важными заинтересованными лицами и наметить список необходимых задач для совместной работы команды.
Определите все желаемые функции и элементы, расставьте приоритеты в соответствии со всеми целями - краткосрочными и долгосрочными. К примеру, чтобы заинтересованные вашим проектом лица могли выделить обязательные составляющие следующей итерации. Для того, чтобы помочь команде и выделить наиболее приоритетные задачи, используйте цветовую кодировку.
# Спланируйте этапы спринта
Оцените весь список задач и решите, на каких из них сосредоточиться в спринте. Выделите приоритетную цель и обозначьте, какие должны произойти изменения в пользовательском опыте. При создании бэклога спринта учитывайте возможности команды.
# Оцените время для выполнения каждой задачи
После этого вы сможете или установить дедлайны, или использовать стори пойнтс - примерную оценку сложности выполнения задач.
# Определите ответственных за задачи
После обсуждения команда за каждым участником закрепляет конкретную задачу или реализацию пользовательской истории в рамках спринта.
Самоорганизация в этом пункте - ключевой момент. Участники должны знать что они делают в этом рабочем цикле без напоминаний Scrum-мастера.
# Запустите спринт
С этого момента начинается работа над задачами в недельном бэклоге.
# Установите время для ежедневных Scrum-встреч
Ежедневный Scrum или стендап используют 85% Agile-команд, так как совещания по прогрессу хода работы над проектом помогают расставлять приоритеты и совместными усилиями работать для достижения поставленных целей.
# Следите за эффективностью работы команды во время спринта
Для этого можно использовать автоматические "Burndown Charts". Диаграмма сгорания в реальном времени показывает, насколько вы отклоняетесь от намеченного курса или соответствуете ему.
# Анализируйте шаги спринта с заинтересованными лицами
Протестируйте новый инкремент с клиентами или заинтересованными лицами. Это встреча называется обзором спринта или обзором инкремента. Если новый функционал в полной мере соответствует ожиданиям пользователей, спринт удался. Если это не так, необходимо скорректировать отставание на основе того, что не устраивает пользователей.
# Проведите ретроспективу спринта
На этой встрече владелец продукта, Скрам-мастер и члены команды оценят следующее:
Только так получится постоянно обучаться и совершенствовать Scrum-процессы.
# Начните следующий спринт
Приступайте к планированию нового спринта, повторив все предыдущие шаги.
Kanban vs. Scrum: выбираем подход под задачи команды
Kanban и Scrum - два самых популярных Agile-метода, но их философия и инструменты принципиально отличаются. Kanban фокусируется на непрерывном потоке работ и визуальном контроле, Scrum - на итеративной поставке результатов в фиксированные сроки.
Ключевые различия подходов:
Выбор между Kanban и Scrum зависит от типа работ, зрелости команды и требований к гибкости. Kanban - для скорости и адаптивности в хаотичных условиях, Scrum - для структуры и предсказуемости в проектах с четкими целями.
Вывод
Система управления проектами Scrum помогает командам разработчиков, маркетологов, инженеров и прочим командам быстро и качественно работать над большим количеством проектов. Постоянное улучшение своего продукта (каждые несколько недель) помогает легко адаптироваться к любым изменениям на рынке или в вашей клиентской базе.
Source: Kaiten