Scrum (скрам)

Одобренно экспертом
Олег Васюкевич
Эксперт статьи
Олег Васюкевич
Директор по продукту Calltracking.ru
Автор статьи
Натали Азаренко

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

Чаще всего scrum применяют в IT-разработке

Краткосрочность итераций обеспечивает предсказуемость разработки и одновременно гибкость процесса.

Scrum как часть agile

Scrum (скрам) относят к agile-подходам. Такие подходы часто называют фреймворками. Их суть состоит в использовании набора инструментов для ускоренной разработки.

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

 

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

Scrum на примере строительства дома

Agile (аджайл) — это группа «гибких» методологий для разработки программного обеспечения. Суть agile описана в Agile-манифесте, в котором на первое место выходят взаимодействие, работающий продукт, сотрудничество с заказчиком и готовность к изменениям.

Agile-манифест

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

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

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

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

Scrum — это фреймворк. Он определяет порядок организации процессов, однако предполагает уникальное содержание для всякого отдельного проекта. То есть изначально команда не знает, что будет делать, но знает, как это сделать. 

Как работает scrum

Как методология управления проектами, scrum предполагает, что самоорганизованная команда представляет законченный продукт в фиксированный временной отрезок (спринт).

Для успешного применения scrum, необходимо разобраться в его структуре. Она включает правила, роли, события и артефакты. 

Главное правило: scrum строится по принципу «3-5-3»: 3 роли, 5 событий, 3 артефакта. Если хоть один из этих элементов отсутствует, то технологию нельзя называть scrum. 

Роли scrum

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

Владелец продукта. Отвечает за общий список задач (бэклог продукта) и определяет их приоритетность.

Остальные члены команды могут высказывать своё мнение. Но именно владелец продукта устанавливает ценность конкретной задачи и принимает решение, которое способны реализовать разработчики. 

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

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

Владелец в scrum бывает лишь один, поскольку разносторонние указания вносят хаос в работу. 

Команда разработчиков. Команда scrum отвечает за исполнение работ из бэклога спринта. Без согласия скрам-команды никто не вправе вносить поправки в бэклог. 

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

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

Scrum-мастер. Отвечает за соблюдение командой правил и структуры работы. Он обучает остальных участников нюансам scrum-процесса и ищет  возможности оптимизировать работу. Всё общение разработчиков с людьми извне происходит через scrum -мастера.

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

 

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

Я бы все же не стал говорить о том, что 50% — это хорошо, а 30% — удовлетворительно. Ведь мы можем получить NPS в 30% при совершенно разных условиях. Он будет одинаковым, если у нас будет 65% промоутеров и 35% критиков или 40% промоутеров и 10% критиков. Это совершенно разные ситуации для бизнеса.

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

Олег Васюкевич

Олег Васюкевич

директор по продукту Calltracking.ru

События scrum

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

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

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

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

Совместно с командой и scrum-мастером раз в спринт проходит груминг бэклога. Это встреча, на которой бэклог актуализируют, дополняют новыми вопросами и задачами.

Планирование спринта. Команда разработчиков совместно со scrum-мастером планирует на общем собрании объём работ для предстоящего спринта и устанавливает цели. 

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

Ежедневное совещание (стендап). Краткосрочное совещание, максимум до 15 минут, проводят ежедневно. Обычно в начале рабочего дня команда подводит итоги выполненных работ, обменивается мнениями, уточняет неясные моменты. Каждый участник получает свой рабочий план на период до очередного стендапа. 

Обычно участники стендапа рассказывают: 

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

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

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

На основе обзора владелец дорабатывает бэклог продукта и это может стать началом планирования последующего спринта. Без проведения обзоров работа над продуктом будет вестись «вслепую» — без учёта мнения заказчиков. 

Ретроспектива спринта. Это scrum-мероприятие предназначено для обзора завершённых этапов. Команда записывает результаты, обсуждает нюансы спринта и сопутствующих процессов. 

Задача ретроспективы в scrum — привлечь внимание команды к тому, что получилось и что можно попытаться улучшить в следующий раз. При этом событие не имеет цели акцентировать ошибки. 

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

 

Посмотрим, как будут выглядеть мероприятия у нашей бригады строителей, которая работает по scrum:

Организация бэклога — подрядчик составляет перечень работ, которые нужно сделать и определяет их приоритетность. Например, в такой очерёдности — строительство фундамента, кладка стен, устройство крыши и прочее.
Планирование спринта — строители вместе с прорабом определяют, за какой срок можно закончить конкретную работу, что должно получится в итоге и как будут вестись работы.
Стендап — ежедневно по утрам строители обсуждают, что уже сделано и что нужно сделать. Прораб выдаёт разнарядку на день каждому рабочему.
Обзор итогов спринта — бригада демонстрирует результат завершённого этапа. К примеру, показывает подрядчику готовый фундамент. Одновременно можно обсудить вопрос о нюансах строительства стен (планирование очередного спринта).
Ретроспектива спринта — строители обсуждают оконченный этап работы: что получилось хорошо, а что плохо, какие ошибки возникали и как их можно было избежать.

Далее бригада переходит к следующему этапу работ (следующий спринт) и порядок мероприятий повторяется. И так до полного завершения строительства и передачи готового дома заказчику.

Артефакты scrum

Это работы, которые надлежит сделать для завершения спринта. Они обеспечивают прозрачность проекта для всех участников. 

Бэклог продукта. Это основной перечень всех запланированных работ. Его ведёт владелец. Список постоянно видоизменяют — меняют требования, добавляют улучшения. Руководствуясь списком, можно определить конкретные задачи. 

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

Бэклог спринта. В состав этого скрам-артефакта включены рабочие задачи, реализуемые в рамках спринта. 

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

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

 

Ну и снова наша scrum-бригада строителей. Разберём, как будут выглядеть артефакты в данном случае:

Бэклог продукта — перечень всех работ, которые нужно выполнить для строительства дома.
Бэклог спринта — отдельный этап работ, разбитый на стадии. К примеру, чтобы завершить этап подготовки фундамента нужно выкопать траншею, выложить подушку, установить арматуру, залить бетон. Бригада примерно знает, сколько это займёт времени. Но в случае непредвиденных обстоятельств сроки можно изменить. Главное — достичь цели — сделать фундамент.
Инкремент — цель определённого этапа. Например, на этапе кладки стен инкрементом будут готовые стены. При этом критериями готовности могут служить такие параметры, как соответствие заданным размерам, отсутствие кривизны, наличие необходимых проёмов.

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

Олег Васюкевич

Олег Васюкевич

директор по продукту Calltracking.ru

Как применять scrum удалённым командам

Если продукт разрабатывает удалённая команда, то ведение проекта по scrum можно организовать в специальных сервисах. Например, Scrum-доска в Jira от Atlassian позволяет объединить все данные по проекту.

Jira

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

Бэклог проекта в Jira

Например, так может выглядеть скрам-доска в Jira — список задач с указанием исполнителя и срока выполнения и несколько столбцов со статусом задач:

Скрам-доска в Atlassian

Для решения каких задач можно использовать scrum

Изначально scrum был создан для разработки программного обеспечения. Но постепенно фреймворк распространился и на другие сферы. Например, скрам используют в исследованиях, бизнесе, образовании, маркетинге.

С начала 90-х гг. scrum активно применяют для таких целей, как: 

  • Разработка продуктов и их улучшение.
  • Исследования рынков. 
  • Поддержка и регулярное обновление продуктов. 
  • Поиск новых технологий. 

 

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

  • Создание и запуск рассылки.
  • Доработка писем с учётом реакции аудитории.
  • Улучшение конверсии рассылки.

В конце каждого спринта будет готов полноценный продукт — макет рассылки. Но при этом письма дорабатывают: улучшают оформление текста, совершенствуют верстку email-письма, меняют содержание, добавляют или убирают различные элементы. И так до достижения конечной цели scrum-проекта — создания эффективной рассылки с высокими показателями конверсии.

Scrum применим в сферах, которые связаны со сложными продуктами, неопределённостью, стабильной изменчивостью. 
Преимущественно scrum-фреймворки практикуют в разработке программного обеспечения. Однако принципы использования технологии удобно применять к командной работе любого направления. Это и объясняет популярность scrum.

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

Наиболее эффективно Scrum можно использовать в стартапах, когда нужно постоянно улучшать продукты компании на основании обратной связи клиентов, а улучшения должны быть регулярными и заметными. Но применение методологии не очень подходит для проектов с жесткими сроками завершения проекта, так как фреймворк подразумевает непрерывное совершенствование, а не выполнение поставленной задачи в рамках ТЗ.

Олег Васюкевич

Олег Васюкевич

директор по продукту Calltracking.ru

Главные мысли

scrum это

Вы нашли ответ?

60
6