Метод управления проектами Scrum: что это такое и как его применять

2023-04-04

Все, что нужно знать о работе в скрам-команде

Scrum – это способ организации командной работы, особенно хорошо подходящий для создания чего-то принципиально нового. Scrum возник как методология разработки программного обеспечения, а сейчас применяется в любой деятельности, где требуется коллективная работа: в производстве, в образовании, в госуправлении. Scrum принадлежит к Agile – семейству «гибких» подходов к управлению проектами. На каких принципах основана методология Scrum, как распределены роли и как организована работа команды, мы коротко расскажем в этой статье.

Традиционно работа над проектами строится «методом каскада». Разрабатывается подробный поэтапный план работы от начала до конца: определяются сроки выполнения каждого этапа, исполнители и бюджет, план согласовывается с заказчиком и начинается работа в соответствии с утвержденным планом. Чаще всего, а точнее, всегда, планы не выполняются: сроки не соблюдаются, бюджет проекта растет, заказчик получает продукт с ошибками и недоделками, или совсем не такой, на который он рассчитывал. Каждый, кто хоть раз делал ремонт, прекрасно понимает, о чем идет речь.

Главная идея Scrum – ориентация на клиента. Заказчик должен получить то, что хочет, вовремя и с минимальными затратами. Этого можно достичь, соблюдая принципы Scrum и организовав работу специальным образом.

На каких принципах основана методология Scrum?

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

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

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

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

Как устроена команда и как распределены роли?

В скрам-команде обычно работает от 5 до 9 человек – это оптимальное количество для эффективного взаимодействия. Команда ведет весь проект от начала до конца. Одна команда — один готовый продукт. Роли в команде распределены следующим образом.

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

Scrum-мастер. Чаще всего — специально нанятый сотрудник, который ведет команду к результату. Он не управляет командой, но наблюдает за исполнением принципов Scrum. Его задача — не давить, не делать всю работу самому и не распределять обязанности, а помогать, направлять и решать вопросы, которые тормозят процесс разработки. Scrum-мастер помогает команде регулярно искать ответ на вопрос «Как нам делать еще лучше то, что мы уже делаем хорошо?» Он поддерживает атмосферу доверия и открытости.

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

Как организована работа команды?

Создание бэклога. Владелец продукта составляет максимально полный список требований к функциональности продукта. Команда оценивает сложность каждой задачи по относительной шкале (например, присваивая задаче количество баллов из последовательности Фибоначчи: 1, 2, 3, 5, 8, 13, …). Важно отметить, что сложность задач нельзя оценивать количеством часов, которые планируется потратить на ее выполнение. Во-первых, люди плохо умеют это делать, а во-вторых, скрам-команды очень быстро наращивают свою производительность, и на третьем-четвертом спринте работают уже в несколько раз эффективнее, чем в начале работы.

Затем владелец продукта упорядочивает список, определяя, какие из задач

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

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

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

Скрам-доска и диаграмма выгорания задач. Слаженной командной работе способствует прозрачность всех действий и процессов. Для этого команда заводит скрам-доску с колонками: «Нужно сделать», «В работе», «Сделано». Все задачи, которые команда выбрала для реализации в этом спринте, записываются на стикеры и приклеиваются в колонку «Нужно сделать». По мере выполнения задач команда перемещает стикеры из одной колонки в другую. Еще один способ сделать работу видимой – создать диаграмму выгорания задач. Каждый день скрам-мастер подсчитывает количество баллов за выполненные задачи и отражает оставшееся количество на графике. В идеале к концу спринта кривая должна прийти в ноль.

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

  1. Что ты делал вчера, чтобы помочь команде завершить спринт?
  2. Что ты будешь делать сегодня, чтобы помочь команде завершить спринт?
  3. Какие препятствия встали на пути команды?

Суть таких встреч, которые действительно чаще всего проводятся стоя, в том, чтобы вся команда точно знала, на каком этапе находится каждое задание в текущем спринте. Все ли задачи будут выполнены в срок? Есть ли возможность помочь другим членам команды преодолеть препятствия? Никто не распределяет заданий сверху и не пишет отчетов руководству – команда самостоятельна и все решает сама. Скрам-мастер отвечает за устранение помех, мешающих команде продвигаться вперед.

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

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

Далее цикл повторяется: команда приступает к планированию спринта.

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

По материалам книги Д. Сазерленд. Scrum. Революционный метод управления проектами. «Манн, Иванов и Фербер», 2016.

Документ КонсультантПлюс по теме: "Гражданский кодекс Российской Федерации (часть четвертая)" от 18.12.2006 N 230-ФЗ (ред. от 07.10.2022)