Суть понятия Scrum
Простыми словами Scrum — это метод командной работы по установленным инструментам. Это очень гибкий подход к управлению командой: сложные процессы разбиваются на мелкие, управляемые задачи. Это позволяет адаптироваться и повышает эффективность. Так что Scrum — часть философии Agile.
Ещё иногда Scrum характеризуют как фреймворк (что, вообще-то, готовая модель для программной разработки, по которой можно дописать свой код). Но, когда так говорят, надо понимать Scrum как набор готовых инструментов и шаблонов работы. Давай рассмотрим этот набор и то, как его применять.
История Scrum
Термин «Scrum» был впервые упомянут в 1986 году японскими учёными Икуджиро Нонака и Хиротака Такеучи в статье «The New New Product Development Game» для Harvard Business Review.
Лишь один параграф был именно про Scrum — он назывался «Moving the Scrum Downfield». Авторы рассказали, что проекты с небольшими командами из разнопрофильных специалистов систематически приносят лучшие результаты.
А чтобы раскрыть теорию аллегорически, они сослались на регби. Там термином «Scrum» обозначают возобновление игры, когда игроки обеих команд сражаются за мяч в партере — в схватке мяч в центре внимания, группы удерживают его и стараются перехватить друг у друга.
Почему создатели вдохновились регби не очень понятно, но аналогия крутая. Может, тут имеется в виду быстрая, увлечённая борьба за мяч с целью удержать этот самый мяч на своей стороне — а после раунда вновь приняться за борьбу.
Так или иначе, как отдельный метод скрам оформляется позже, в 90-е. В знакомом виде он появился в 1995 году, когда Кен Швабер и Джеф Сазерленд представили его на конференции OOPSLA. Сейчас это детально описанная методика, по которой есть и своё собственное руководство (The Scrum Guide), и куча книг, и даже пара аккредитующих компаний: Scrum Alliance и Scrum.org.
Цели и задачи Scrum
Scrum как новый метод появился, чтобы изменить процессы разработки ПО. Так что и цель его заключалась в том, чтобы начать делать всё по-другому: быстрее, гибче и эффективнее.
Ключевая задача — начинать развитие цифрового продукта с минимального набора функций, постепенно наращивая функциональность и сложность. А если спуститься ниже — уже на уровень самой разработки — то цель и задачи Scrum в том, чтобы поддерживать «игровой» задор команды, фокусировать её на «мяче» и использовать все ресурсы коллектива.
Scrum нужен, чтобы:
- Держать активную связь между всеми участниками команды, быстро решать проблемы и вместе идти к цели.
- Фокусировать команду на одной задаче (или на выбранном ограниченном списке задач) и не хвататься за всё сразу.
- Сделать процесс разработки продукта прозрачным — когда все в курсе, что происходит и какие задачи в работе.
- На ранних этапах определить и минимизировать риски.
- При соблюдении условия постоянного контакта и обмена мнениями стабильно улучшать продукт и оптимизировать процессы.
- Быстро адаптироваться к изменениям.
Поэтому Scrum применяется не только в разработке, но и в других командных проектах. Например, при написании текстов, разработке дизайна или создании рекламной кампании.
Основные принципы Scrum
- Эмпирический подход — учитываются данные, полученные в ходе работы.
- Итеративность и инкрементальность — выпуск улучшений по продукту (инкремент, новая версия продукта с приростом функций) за короткие промежутки времени (итерация, повторение действия). Такой подход «рывок-результат-отдых».
- Самоорганизация – команда сама выбирает, как лучше выполнить работу, а не действует по указке извне.
- Вовлечённость стейкхолдеров – юристы, маркетологи, владелец продукта и другие вовлечённые в процесс люди могут напрямую взаимодействовать со Scrum-командой и нести общую ответственность за результат
Ценности Scrum
Ценности Scrum должна понимать и принимать вся команда — собственно, если собираетесь внедрять методы у себя, со знакомства команды с ценностями и стоит начинать.
Ценностей Scrum всего пять:
- Обязательность — приходить на работу каждый день с позитивным настроем, соблюдать сроки и следовать правилам Scrum. И вовремя говорить, если что-то идёт не по плану.
- Смелость — выход за рамки комфорта во имя успеха. Смелее задавай вопросы, предлагай креативные идеи, открыто говори о проблемах.
- Открытость — прежде всего, к другим участникам команды. Приветствуйте новые идеи и стили работы, будьте честными и прозрачными, чтобы не возникали упущенные места и пропущенные сроки.
- Уважение — одинаковое отношение ко всем членам Scrum-команды, независимо от возраста, образования, социального положения. А также к клиенту, к решениям и мнениям других, к пользователям!
- Сосредоточенность — сосредоточьтесь на задачах, которые находятся в работе, вопреки желанию взяться за что-то другое или взять на себя больше. Так можно подвести команду.
А теперь посмотрим, какие инструменты есть в Scrum и как их применять в деле. Начнём с событий, а потом посмотри на роли в команде.
События в Scrum
Первая часть инструментов — события. Событий в Scrum пять. Они создают регулярный ритм работы и обеспечивают определённые точки планирования, инспекции и адаптации.
Спринт (Sprint)
Короткий период времени, в который идёт работа — спринт. Он идёт по плану, который создаётся в начале спринта в тесной связке с владельцем продукта. Во время спринта в план нельзя вносить изменения, так как они могут поставить под угрозу результаты и снизить качество.
Обычно спринт длится 2–4 недели. Новый спринт начинается сразу после завершения предыдущего. Спринт ещё называют итерацией, когда говорят не только о временном периоде, но и о результате — продукте с новыми функциями.
Кен Швабер и Джеф Сазерленд называют спринт сердцебиением Scrum. Это устойчивый ритм, в котором работает Scrum-команда. Очень красиво.
Планирование спринта или Sprint Planning
При планировании спринта команда разработчиков работает вместе с владельцем продукта над появлением инкремента — новой, улучшенной версией продукта.
План спринта Scrum = будущий инкремент. Во время этого события команда договаривается, над чем будет работать и как. В планировании помимо команды и владельца участвует и Scrum-мастер (о ролях чуть ниже).
Ежедневные встречи или Daily Scrum stand up
Ежедневные короткие встречи по 15 минут — это стендапы. На них команда обсуждает проделанную работу, предстоящие задачи и проблемы.
Это не отчёт команды перед Scrum-мастером или владельцем — это для сотрудников. Ежедневные встречи помогают вовремя менять курс и следить за выполнением задач.
Обзор спринта или Sprint Review
Обзор спринта показывает работу, которую выполнила Scrum-команда — тот самый прирост функциональности продукта, инкремент. Обзор спринта Scrum = что получилось сделать. Благодаря обзорам можно составить план действия для следующего спринта.
Ретроспектива спринта или Sprint Retrospective
Во время ретроспективы спринта разработчики рассказывают, как он прошёл, и обсуждают, как улучшить результаты в следующем спринте. Ретроспектива спринта в Scrumе = что получалось и не получалось реализовать. Это самое важное событие инспекции и адаптации в Scrum. Конечным результатом ретроспективы должны быть конкретные действия, которые команда выполнит в следующем спринте.
Артефакты Scrum
Вторая часть инструментов Scrum — артефакты. В Scrum три артефакта. Они помогают команде управлять рабочей нагрузкой и прогрессом проекта.
Бэклог продукта или Product Backlog
Бэклог продукта — общий план задач. Все идеи и фичи. За этот артефакт отвечает владелец продукта, который оценивает результаты каждого спринта, меняет требования, либо корректирует цели и добавляет функционал. В бэклоге задачи размещаются по приоритету: чем важнее — тем выше (здесь потребуется дорожная карта продукта).
Бэклог продукта может выглядеть как обычный спискок задач, либо подробный перечень с деталями и оценками. Его нужно постоянно актуализировать, а процессы — приоритизировать. Команда вместе с владельцем продукта берёт из бэклога в работу задачи на спринт.
Бэклог продукта можно менять сколько угодно — оттуда даже можно выкидывать задачи.
Бэклог спринта или Sprint Backlog
Бэклог спринта — план задач на спринт. Его составляет команда разработчиков на этапе планирования. Здесь важно договориться с владельцем продукта, чтобы убедиться в правильности приоритетов.
Тут есть работа и для Scrum-мастера. Он должен проверить, что команда взяла ровно столько работы, сколько сможет сделать за спринт. Бэклог спринта выносится на Канбан-доску, по которой они продвигаются по этапам спринта.
Бэклог спринта менять нельзя.
Инкремент или Increment
Инкремент — это цель, которую Scrum-команда ставит на спринт. Это улучшенная версия продукта. Её нельзя изменить, пока спринт не завершится. По сути, инкремент — окончательный результат спринта, конечная работа, которую оценили владелец и стейкхолдеры. Такой продукт уже готов к выпуску.
Основные роли Scrum
Наконец, третий набор инструментов Scrum — роли. Кен Швабер сравнивает Scrum с шахматами. Чтобы не ошибиться, нужно чётко соблюдать правила. И, действительно, Scrum не был бы Scrum без правила «3-5-3»: три роли, пять событий и три артефакта. Давайте подробнее на них остановимся.
Над проектом работает так называемая Scrum-команда. Она состоит из разработчиков, маркетологов, дизайнеров и любых других специалистов, которые нужны в проект — и из людей с особыми ролями: владельца продукта (Product Owner) и Scrum-мастера.
Владелец продукта (Product Owner)
Владелец продукта отвечает за общий список задач — то есть бэклог продукта — и согласованность работы команды, взаимодействует с заказчиком и определяет требования. И хотя команда может высказывать своё мнение по тем или иным вопросам, именно владелец продукта принимает все решения, определяет приоритетность задач, даёт советы и т. д.
Владелец продукта всегда один, чтобы не возникал хаос из-за противоречащих друг другу указаний.
Scrum-мастер (Scrum Master)
Scrum-мастер — эдакий гуру Scrum и сердце метода. Он лучше всех знает методику, обучает тонкостям процессов остальных участников команды и отвечает за соблюдение командой Scrum-правил: чтобы из бэклога бралось определённое количество задач, чтобы не возникали новые задачи в спринте, чтобы происходили ежедневные стендапы и ретроспективы. Как и владелец продукта, Scrum-мастер старается добиться максимальной продуктивности команды.
Команда разработки (Development Team)
Команда отвечает за реализацию задач из бэклога спринта. Крутая Scrum-команда сама определяет, какие задачи и как именно нужно делать в рамках спринта, чтобы его ценность была выше.
Как водится в Agile, участники команды делятся друг с другом своими знаниями, чтобы можно было снизить вероятность ошибок. Совместно с владельцем продукта команда создаёт план работ на каждый спринт.
Плюсы и минусы Scrum
Управление проектом по Scrum со всеми ежедневными стендапами со стороны выглядит как тотальный контроль, а вовсе не гибкость. Но у методики много плюсов:
- Минимум лишней бюрократии и ненужной документации;
- Методику можно переложить на опыт разных компаний, главное — разбиться на небольшие команды
- К сотрудникам прислушиваются, поэтому они довольны и мотивированы;
- Заказчик получит продукт, который понравится аудитории, ведь он разработан с учётом обратной связи.
Правда минусов тоже немало. Кроме проблем с тщательным следованием всем ритуалам, есть ещё:
- В Scrum-команду нужны профессионалы, а собрать из них сплочённую команду, даже небольшую, бывает сложновато;
- Не у всех есть опыт работы по Scrum — на их обучение нужно потратить время и деньги;
- Несмотря на всю щепетильность, с которой, кажется, Scrum-команда подходит к планированию, избежать ошибок в нём очень сложно.
Как организовать работу по Scrum в WEEEK
Scrum часто сравнивают с другими подходами. И неудивительно — у них есть схожие моменты, а объединяя Scrum с другим методом можно получить мощного трансформера. Здесь и сейчас предлагаю положить конец путанице Scrum-метода с не менее известным Kanban, и понять, что же такое Agile.
Для этого понадобятся Канбан-доски. Создай проект и озаглавь его профилем проекта, например, Разработка мобильного приложения. Внутри проекта сделай несколько досок: одно под бэклог продукта, другие — под спринты.
На доске Бэклог продукта можно сделать колонки по кварталам на год или по месяцам на ближайшее время (зависит от того, как вы планируете работу). В колонках создавай задачи: будущие фичи приложения. Этот набор первых функций будущего приложения у вас с командой уже точно есть.
Прямо там, на доске бэклога, можно организовать приоритизацию задач. Это можно сделать с помощью маркеров приоритета, но лучше дополнительно воспользоваться тегированием. Можно выставить приоритеты тегами-цифрами — к примеру, тег 2000 и 1000 означает высокие приоритеты, 500 более низкий. Такая система будет понятна всем сотрудникам.
Затем сделай доску Спринт (1, 2, 3 и т.д.). Когда вы с командой спланируете спринт, просто перетащите задачку из доски Бэклог в доску Спринт.
На доске Спринт можно организовать следующие колонки-процессы: К работе, В процессе/Дизайн, В процессе/Разработка, Тестирование, Готово. Задачи будут двигаться по доске к завершению. Затем назначьте ответственных и выставляйте задачкам-фичам даты, чтобы они отразились в календарях сотрудников.
Scrum и другие Agile-методологии
В чём разница Scrum и Канбан
Безусловно, методы схожи. Оба они вышли из программирования. И Канбан, и Scrum позволяют проектам адаптироваться к изменениям и использовать короткие циклы, прозрачные процессы, а ещё повышают вовлечённость всех участников.
Но есть и различия. Scrum — про структуризацию работы в кросс-функциональной самоорганизующейся команде. А Канбан — про визуализацию управления проектами, чтобы оставаться в курсе задач и вовремя устранять проблемы. Для спринтов в Scrum используется Канбан-доска, которая состоит из столбцов для каждого этапа проекта. Но Канбан-метод может применяться и вне методов Scrum.
Kanban ограничивает количество задач, которые могут выполняться в каждом столбце рабочего процесса. В Scrum изначально такого нет.
Вносить изменения проще в Канбан по мере необходимости. Допустим, двигать сроки одной задачи в рамках спринта. Но в Scrum-спринте ничего не поменяется.
По методам советуем почитать:
Scrumban: Essays on Kanban Systems for Lean Software Development
В чем разница Scrum и Agile
Scrum и Agile как лёд и вода. Agile — это философия управления проектами, Scrum — гибкая методология, которая используется для облегчения организации рабочего процесса над проектом.
Иными словами, Agile содержит в себе общие принципы, а Scrum — конкретное воплощение.
Кому подходит Scrum
Сейчас Scrum распространился за пределы разработки ПО — его используют и в маркетинге, и в бизнесе, и в образовании, и много где ещё.
Проще всего очертить границы применения Scrum на уровне целей. Scrum можно применять для разработки продуктов и регулярных его обновлений, а также поиска новых решений и технологий. Причём не только в работе, но и в личных делах. Даже приготовление борща можно организовать по Scrum.
Что такое Scrum простыми словами? По сути, любой рабочий процесс можно переложить на Канбан-доску. Вопрос в целях. Scrum можно применять:
- Для разработки продуктов и регулярных его обновлений.
- Для выстраивания процесса создания контента.
- Для поиска новых решений и технологий — то есть для брейншторма.
- Для работы с клиентами и партнёрами.
- Для организации мероприятий.
- Для редакции блога и сайта компании и любых других процессов, где есть возможность разбивки на этапы.
Часто задаваемые вопросы
Когда используется Scrum?
Scrum подходит для проектов, развивающихся в условиях неопределённости, с неизвестными решениями и частым взаимодействием с клиентами или конечными пользователями. И идеально подходит для первых этапов разработки продуктов.
Где можно применять Scrum, а где нельзя?
Основные преимущества Scrum раскрываются при создании инновационных продуктов на быстро меняющемся рынке. Метод используют и в строительстве, и в образовании, и в маркетинге, и в финансовой сфере, и в проектировании, и в энергетике.
Сколько человек в Scrum?
В Scrum-команду обычно входит 3–10 человек. Этого достаточно, чтобы выполнить нужный объём работы за спринт. И больше не надо.
Можно ли совмещать Канбан и Scrum?
Да, эти методы отлично уживаются друг с другом. Scrum сделает взаимодействие прозрачным и определит роли команды, а Kanban облегчит внешнее представление рабочего процесса. Гибрид методов получил название Scrumban.
Что такое Scrum доска?
Это инструмент визуализации элементов бэклога спринта на протяжении спринта. Её также называют «Доской Спринта» или «Доской задач».
Какие проблемы решает Scrum?
Scrum ускоряет реализацию продукта, снижает зависимости от незаменимых сотрудников, минимизирует просрочку дедлайнов и повышает открытость работы.
Какие есть митинги в Scrum?
Существует пять основных митингов в Scrum: ежедневный стендап, планирование спринта, ретроспектива спринта, актуализация бэклога продукта, обзор спринта.
Что почитать по Scrum
Что такое Scrum, думаю, поняли. А для глубокого понимания метода и техник его использования советую почитать несколько книг.
- Джеф Сазерленд «Scrum. Революционный метод управления проектами
- Кен Швабер, Джеф Сазерленд «Софт за 30 дней»
- Кен Швабер «Scrum. Гибкое управление продуктом и бизнесом»
- Илан Голдштейн «Scrum без ошибок. Инструменты, техники и советы для тех, кто работает по Agile»
- Роман Пихлер «Управление продуктом в Scrum»
Вывод вместо всего текста
Scrum — методика командой работы над разработкой продукта. Чтобы она заработала, нужно:
- Соблюдать правила методологии, не забывая, что сама она гибкая. Гибкость проявляется при планировании и обмене идеями.
- Правильно использовать в команде. Никто не тянет одеяло на себя, владельцы продукта и Scrum-мастера не строят из себя начальников и общаются с командой на равных.
- Не перегружать команду работой, иначе спринт превратится в марафон. А это больнее, чем спринт.
- Работать на Scrum отделом или командой в 3–10 человек.
- Не бояться объединять Канбан и Scrum. Успех гарантирован.