Что такое Scrum и как управлять проектами по этой методологии
Рассказали, для каких проектов подходит Scrum, как внедрить эту методологию и при чём тут Agile.
Иллюстрация: Катя Павловская для Skillbox Media
Помог разобраться в Scrum
Пётр Орлов
15 лет опыта в разработке крупных проектов и запуске цифровых продуктов для развития бизнеса (МТС, Х5, «Эльдорадо», «Авилон», «Русал»). Автор и спикер курсов Skillbox «Профессия Менеджер проектов» и «Управление проектами».
Scrum (скрам) — одна из гибких методологий управления проектами. Согласно ей срок выполнения проекта разбивают на равные промежутки времени, в которые команда работает над продуктом поэтапно.
Изначально Scrum использовали в разработке ПО, но сейчас его применяют и в других отраслях — например, в маркетинге, SMM, издательском бизнесе. Поэтому знать, как управлять проектами по этой методологии, полезно не только проджект-менеджерам из сферы IT, но и другим управленцам и руководителям компаний.
В статье рассказываем:
- что такое Scrum;
- как и зачем была создана эта методология;
- какие роли есть в Scrum-команде;
- как управлять проектом по Scrum;
- на какие принципы ориентируется Scrum-команда;
- чем Scrum отличается от Kanban;
- как внедрить Scrum-методологию;
- как узнать больше о проектном управлении и его методах.
Что такое Scrum
Scrum — методология управления проектами из семейства Agile. Команда, работающая по Agile, быстро адаптируется к изменениям в работе и новым вводным. Например, к новым требованиям заказчика, когда продукт уже разрабатывается, к изменениям рынка или к потребностям аудитории.
Работа по методологии Scrum выглядит так. Проект разбивают на итерации (спринты) — промежутки времени, в которые команда разрабатывает продукт. Обычно один спринт длится две-три недели. В конце каждого спринта команда показывает готовую часть продукта — его «неидеальную» версию, которой уже можно пользоваться, — или дополнительные функции для неё.
Например, в конце первого спринта команда показывает главную страницу сайта компании. Во время второго спринта делает отдельные страницы для каждой услуги, которые компания оказывает. В конце третьего спринта на сайте появляется чат с консультантом и так далее. При этом «сырая» версия сайта работает уже в конце первого спринта.
Результат каждой итерации обсуждают с заказчиком — если его всё устраивает, приступают к следующей. Обычно в начале проекта у команды нет представления о том, как будет выглядеть продукт в самом конце, — требования могут меняться в ходе разработки.
Кроме встречи в конце спринта, команда собирается каждый день примерно на 15 минут. Такой сбор называют Scrum-митингом, дейли или стендапом. За время встречи каждый участник команды отвечает на три вопроса:
- что он сделал с прошлой встречи;
- что планирует делать сегодня;
- что ему в этом мешает.
В результате встречи становится понятно, всё ли идёт по плану, что нужно сделать, чтобы преодолеть препятствия.
Подробнее об этапах управления проектом по Scrum рассказываем ниже. Пока разберёмся, как и зачем были созданы гибкие подходы к управлению.
Как и зачем создали Scrum-методологию
Agile-подход, к которому относится и Scrum, появился в противовес каскадной модели управления (Waterfall, или «Водопад»).
Суть Waterfall заключается в следующем. Команда проекта составляет детальное техническое задание: какой продукт нужно получить и каким путём — и согласовывает его с заказчиком. Затем занимается разработкой строго по утверждённому плану и сдаёт заказчику готовый продукт.
Если в готовый продукт нужно внести изменения, снова начинают с ТЗ, утверждают его с заказчиком и только потом приступают к внесению этих изменений. Срок разработки при этом растёт.
Со временем требования к IT-проектам стали меняться слишком часто — поскольку менялась и сама индустрия, и контекст проектов. Стало очевидно, что для управления IT-проектами нужно что-то другое — подход, который позволил бы быстро подстраиваться под изменения.
На этой идее и основан подход гибкого управления проектами. Его ценности и принципы описаны в Agile-манифесте. С Agile-манифеста началась история активного развития Agile.
«11–13 февраля 2001 года на горнолыжном курорте в штате Юта встретились семнадцать разработчиков — поговорить, покататься на лыжах, расслабиться и обсудить дела. Сейчас трудно было бы найти более крупное собрание организационных анархистов, поэтому то, что вышло из этой встречи, было символичным — манифест гибкой разработки ПО».
Подробнее об Agile-манифесте мы рассказывали в этой статье Skillbox Media.
Зачатки Scrum-подхода появились в Японии в 1986 году — задолго до Agile-манифеста. Учёные Хиротака Такэути и Икудзиро Нонака заметили, что проекты, над которыми работают небольшие команды разнопрофильных специалистов, показывают лучшие результаты. Они назвали это подходом регби и написали об этом статью The New New Product Development Game.
В виде задокументированного фреймворка Scrum представили в 1990-х годах программисты Кен Швабер и Джефф Сазерленд. Они были первыми, кто использовал такой подход в реальном IT-проекте. Следующие несколько лет они продолжали работать вместе, чтобы обработать и описать свой опыт и лучшие практики управления проектами с помощью этого подхода. Так получился фреймворк, который сегодня известен как Scrum.
В свою очередь, Agile-манифест создал общий язык и объединил разные методологии под одним названием. С этого момента Scrum стал рассматриваться как одна из методологий, работающих по принципам Agile.
Какие роли есть в Scrum-команде
В Scrum-команде три ключевые роли: команда разработчиков (developers), скрам-мастер (scrum master) и владелец продукта (product owner). Давайте разберём каждую роль.
- Разработчики — люди, которые создают продукт. К developers относятся, например, разработчики, тестировщики, дизайнеры и другие специалисты, необходимые в проекте. Обычно команду разработчиков формируют отдельно для каждого проекта.
- Скрам-мастер — менеджер, который направляет команду и решает проблемы, замедляющие рабочий процесс. Он следит за тем, чтобы команда понимала методологию и работала по ней. Это не руководитель команды, а скорее наставник и помощник. Его задача — организовать работу так, чтобы каждый участник команды понимал потребности заказчика и мог предлагать свои идеи. Также скрам-мастер организует общение заказчика и команды на совместных мероприятиях.
- Владелец продукта — человек, который отвечает за то, чтобы у команды была чёткая цель и понимание того, какой продукт нужно создать. Product owner сотрудничает с заказчиком и другими заинтересованными сторонами. В некоторых проектах product owner — это сам заказчик. Он формирует и приоритизирует список требований к продукту — бэклог — и следит, чтобы команда работала в нужном направлении.
Все эти специалисты тесно взаимодействуют друг с другом. Владелец продукта задаёт направление проекта и приоритеты, команда разработчиков реализует задачи, а скрам-мастер отвечает за то, чтобы процесс разработки шёл гладко.
Чаще всего Scrum-команда состоит из 5–9 человек. Это оптимальное количество, но иногда встречаются команды и из трёх человек. Если людей больше девяти, то им становится сложнее взаимодействовать между собой — это мешает работе и снижает продуктивность.
Как управлять проектом по Scrum: процесс работы команды
При работе по методологии Scrum проект делится на спринты. Каждый спринт — период, в течение которого команда работает над несколькими задачами: анализирует их, выполняет, тестирует, обсуждает с заказчиком и при необходимости дорабатывает. Рассмотрим, как это проходит, поэтапно.
Планирование. С этого начинается каждый спринт. На этом этапе обсуждают требования заказчика, формируют бэклог продукта. Дальше задачи приоритизируют — самые важные и срочные размещают в верхней части бэклога.
Анализ. Из верхней части бэклога участники команды выбирают задачи для одного спринта. Затем определяют, какие ресурсы понадобятся для выполнения задач, и распределяют эти задачи между собой.
На этом же этапе формируют критерии успешного завершения каждой задачи — параметры, по которым будет понятно, что задача выполнена хорошо. Благодаря такому подходу у всей команды формируются одинаковые ожидания относительно итогов спринта.
Выполнение. Участники команды работают над своими задачами. Каждый день они встречаются, чтобы обсудить текущий прогресс: что они сейчас делают, какие проблемы у них возникают, что они планируют делать дальше. Это важно для того, чтобы работа над проектом выглядела прозрачной и все участники команды знали ситуацию.
Тестирование. На этом этапе проверяют работоспособность продукта: запускается ли приложение, выполняет ли оно свои функции корректно и так далее. Этап тестирования проходит сразу после разработки. Он нужен, чтобы быстро реагировать на обнаруженные проблемы и вносить изменения вовремя.
Релиз. В конце спринта команда показывает заказчику результаты своей работы. Заказчик даёт обратную связь — объясняет, что его устраивает, а что нет. Если есть замечания, команда обсуждает, как будет дорабатывать проект, и возвращается к предыдущим этапам.
Если замечаний нет, команда переходит к следующей итерации. Такой цикл повторяется до завершения всего проекта — до стадии, когда программу отдают заказчику полностью готовой.
Если в процессе спринта что-то идёт не так — например, если кто-то из членов команды понимает, что не укладывается в спринт, он сообщает об этом владельцу продукта, и тот перераспределяет время и задачи. То же самое происходит, если команда понимает, что справляется с задачей досрочно: тогда в этот спринт можно добавить дополнительные задачи из бэклога продукта.
На какие принципы ориентируется Scrum-команда
Главная цель Scrum — передать заказчику желаемый продукт вовремя и с минимальными затратами ресурсов. Чтобы этого достичь, соблюдают такие принципы.
Кросс-функциональность. Члены Scrum-команды — люди с различными специализациями и наборами навыков. Это позволяет им эффективно работать над продуктом, не привлекая внешних специалистов.
Постоянное улучшение. Scrum ориентирован на непрерывное улучшение процессов внутри команды. Команда регулярно анализирует свою работу, выявляет проблемы и находит пути их решения. Этот принцип помогает адаптироваться к изменениям и увеличивать производительность.
Прозрачность. У всех участников команды есть чёткое представление о целях, задачах и текущем состоянии проекта. Для этого проводят стендапы, обзоры спринтов и ретроспективы.
Фокус на ценностях. Команда работает над приоритетными задачами, которые приносят заказчику наибольшую ценность. А также постоянно стремится улучшать качество конечного продукта.
Чем Scrum отличается от Kanban
Kanban — ещё одна методология из семейства Agile. Её разработали в Японии и изначально использовали в производстве автомобилей.
По Kanban работают так. Задачи проекта размещают в виде карточек на доске, разлинованной на колонки. Эти колонки отражают этапы выполнения проекта — например, «Выполнить», «В работе», «На согласовании», «Выполнено». Участник команды берёт задачу, перемещает карточку по доске от одной колонки к другой, и вся команда видит актуальный статус этой задачи.
Идея методологии в том, чтобы работа над проектом шла по принципу конвейера. То есть чтобы участники команды не задумывались над планированием и приоритизацией задач, а просто приходили к доске, брали задачу и шли её выполнять.
Вот основные различия методологий Kanban и Scrum:
- Цель. В Kanban фокусируются на том, чтобы создать непрерывный поток задач: все члены команды всегда должны быть обеспечены одинаковым количеством работы. В Scrum основная цель — выполнить задачи из бэклога за фиксированное время и к концу спринта создать работающую часть продукта.
- Структура команды. В команде Scrum роли чётко фиксированы: каждый участник команды выполняет только свои обязанности. В Kanban чёткого распределения ролей нет — члены команды могут выполнять разные задачи.
- Периоды работы. В Kanban нет фиксированных итераций — задачи поступают непрерывно, их могут добавить или убрать в любой момент. В Scrum работают спринтами — задачи спринта выбирают до его начала и в большинстве случаев не изменяют до его конца.
- Обязательные встречи. В Kanban нет обязательных встреч, но иногда проводят ретроспективы — команда встречается, чтобы оценить процессы и обсудить, как их улучшить. В Scrum регулярно планируются спринты, проходят ежедневные стендапы, демонстрация результатов и ретроспектива.
Выбор между Kanban и Scrum зависит от специфики проекта. Например, Kanban хорошо подходит для проектов, где задачи возникают непредсказуемо и требуют немедленного выполнения. А Scrum лучше всего применять в разработке ПО и в других проектах, конечная цель которых не всегда понятна, — например, в проектах стартапов.
Как внедрить Scrum-методологию в свой проект
Вот семь основных шагов по внедрению Scrum. Нужно выполнять их последовательно.
Шаг 1
Обучаем команду
Важно, чтобы вся команда понимала, что такое Scrum и как он работает. Например, можно провести тренинг или найти материалы для самообучения.
Шаг 2
Распределяем роли
В каждой Scrum-команде должен быть владелец продукта, скрам-мастер и специалисты, которые занимаются разработкой.
Владельцем продукта может быть заказчик или его представитель. Скрам-мастером лучше назначать специалиста с опытом — желательно, чтобы он был знаком с методологией не только в теории.
Шаг 3
Создаём бэклог продукта
На этом этапе нужно собрать все задачи и требования для продукта. Полученный список нужно приоритизировать и согласовать с заказчиком.
Шаг 4
Планируем спринт
Выберите задачи из верхней части бэклога — самые важные. Так команда будет понимать, над чем нужно работать в ближайшем спринте.
Шаг 5
Проводим ежедневные стендапы
Каждый день собирайте команду на 15-минутную встречу, где каждый член команды будет рассказывать, что он сделал вчера, что планирует сделать сегодня и какие перед ним есть препятствия. Это поможет команде держать курс и быстро решать возникающие проблемы.
Шаг 6
Проводим обзор спринта и ретроспективу
В конце каждой итерации важно проводить две встречи. На обзоре спринта команда демонстрирует выполненную работу и получает обратную связь от заказчика. На ретроспективе — обсуждает, что прошло хорошо, что можно улучшить и как это реализовать в следующем спринте.
Шаг 7
Повторяем процесс
После завершения одного спринта сразу начинайте следующий — повторяйте все шаги с первого по шестой. С каждым циклом вы будете лучше понимать, как настроить работу команды и создавать лучший продукт.
Главное о Scrum в 4 пунктах
- Scrum — один из подходов гибкого управления проектами. При нём срок выполнения проекта разбивают на равные промежутки времени, в которые команда работает над продуктом поэтапно.
- В Scrum-команде есть три роли: владелец продукта, скрам-мастер и команда разработчиков. Владелец продукта задаёт направление проекта и приоритеты, команда разработчиков реализует задачи, а скрам-мастер отвечает за то, чтобы процесс разработки шёл гладко.
- В методологии Scrum работа над продуктом делится на спринты (или итерации). Каждый спринт — период, в течение которого команда работает над несколькими задачами: анализирует их, выполняет, тестирует, обсуждает с заказчиком и при необходимости дорабатывает.
- Каждый день команда собирается на короткую встречу — стендап, или дейли. А в конце итерации проводит обзор спринта и ретроспективу.
Как узнать больше о проектном управлении и о его методах
- В Skillbox Media есть материал об управлении проектами: для чего оно нужно, как устроено, какие этапы включает и как выбрать методы управления. Прочитайте статью, чтобы погрузиться в тему.
- Также в Skillbox Media есть отдельные статьи о методологиях управления проектами: об Agile и её разновидности Kanban, а также о противоположности Agile — Waterfall.
- Если вы только начали знакомиться с управлением проектами и разбираетесь в его элементах, прочитайте нашу статью «Что такое проект: изучаем главное понятие проектного управления».
- Управлять проектами, работать с бюджетом, сотрудничать с заказчиками, управлять командой и презентовать проекты можно научиться на курсе Skillbox «Профессия Менеджер проектов».
Другие материалы Skillbox Media об управлении проектами
- Как достигать цели проекта с минимальными затратами времени и денег: главное о структуре проекта
- Как составить план проекта, чтобы прийти к намеченному результату
- Как завершить проект в срок с помощью метода критического пути
- Что такое проектный треугольник и почему уметь работать с ним должен каждый менеджер проектов
- В каких проектах стоит использовать свод знаний по управлению проектами PMBok