Метод управления проектами Scrum: что это такое и как его применять
Все, что нужно знать о работе в скрам-команде
Scrum – это способ организации командной работы, особенно хорошо подходящий для создания чего-то принципиально нового. Scrum возник как методология разработки программного обеспечения, а сейчас применяется в любой деятельности, где требуется коллективная работа: в производстве, в образовании, в госуправлении. Scrum принадлежит к Agile – семейству «гибких» подходов к управлению проектами. На каких принципах основана методология Scrum, как распределены роли и как организована работа команды, мы коротко расскажем в этой статье.
Традиционно работа над проектами строится «методом каскада». Разрабатывается подробный поэтапный план работы от начала до конца: определяются сроки выполнения каждого этапа, исполнители и бюджет, план согласовывается с заказчиком и начинается работа в соответствии с утвержденным планом. Чаще всего, а точнее, всегда, планы не выполняются: сроки не соблюдаются, бюджет проекта растет, заказчик получает продукт с ошибками и недоделками, или совсем не такой, на который он рассчитывал. Каждый, кто хоть раз делал ремонт, прекрасно понимает, о чем идет речь.
Главная идея Scrum – ориентация на клиента. Заказчик должен получить то, что хочет, вовремя и с минимальными затратами. Этого можно достичь, соблюдая принципы Scrum и организовав работу специальным образом.
На каких принципах основана методология Scrum?
Работа происходит короткими циклами – спринтами. Спринт – это период времени, в течение которого команда работает интенсивно и максимально быстро над полностью законченной частью продукта. Это может быть период от недели до четырех, но всегда один и тот же, чтобы команда уловила ритм работы и поняла, сколько она может сделать за определенное время. Команда планирует свою работу именно на спринт, а не на весь проект сразу.
Команда гибко подходит к процессу создания продукта. Продукт тестируется после каждого спринта. Если что-то идёт не так, команда всегда готова сменить стратегию. Команда анализирует, есть ли способы выполнять задачи еще быстрее и качественнее, и сразу внедряет найденные решения в свою работу.
Заказчик и пользователи участвуют в создании продукта. По окончании спринта заказчик получает полностью работающую функцию, которая может быть передана пользователям. Полученная от пользователей обратная связь позволяет своевременно обнаруживать просчеты и ошибки и корректировать план разработки.
Команда работает как единое целое, стремясь к общей цели. Сам термин scrum – схватка – заимствован из регби, где он обозначает метод командной игры, позволяющий завладеть мячом и вести его дальше по полю, для чего требуются слаженность, единство намерений и четкое понимание цели. Схватка представляет собой идеальную модель взаимодействия игроков.
Как устроена команда и как распределены роли?
В скрам-команде обычно работает от 5 до 9 человек – это оптимальное количество для эффективного взаимодействия. Команда ведет весь проект от начала до конца. Одна команда — один готовый продукт. Роли в команде распределены следующим образом.
Владелец продукта. Человек, который является посредником между заказчиком, пользователями и командой разработчиков. На встречах с заказчиками владелец продукта рассказывает, как продвигается разработка, узнает, отвечают ли их ожиданиям последние внесенные изменения и новые возможности. На встречах с командой он объясняет членам группы, что клиент оценил в продукте, что воспринял как недоделку и каковы его ожидания. Владелец продукта определяет концепцию проекта, собирает и формулирует пользовательские требования, несет ответственность за составление и ведение бэклога – списка всех требований к продукту, отсортированного по приоритетности.
Scrum-мастер. Чаще всего — специально нанятый сотрудник, который ведет команду к результату. Он не управляет командой, но наблюдает за исполнением принципов Scrum. Его задача — не давить, не делать всю работу самому и не распределять обязанности, а помогать, направлять и решать вопросы, которые тормозят процесс разработки. Scrum-мастер помогает команде регулярно искать ответ на вопрос «Как нам делать еще лучше то, что мы уже делаем хорошо?» Он поддерживает атмосферу доверия и открытости.
Разработчики. В составе команды разработчиков должны быть люди с разным набором навыков, но главное – с навыком взаимопомощи. Команда отвечает за результат как единое целое.
Как организована работа команды?
Создание бэклога. Владелец продукта составляет максимально полный список требований к функциональности продукта. Команда оценивает сложность каждой задачи по относительной шкале (например, присваивая задаче количество баллов из последовательности Фибоначчи: 1, 2, 3, 5, 8, 13, …). Важно отметить, что сложность задач нельзя оценивать количеством часов, которые планируется потратить на ее выполнение. Во-первых, люди плохо умеют это делать, а во-вторых, скрам-команды очень быстро наращивают свою производительность, и на третьем-четвертом спринте работают уже в несколько раз эффективнее, чем в начале работы.
Затем владелец продукта упорядочивает список, определяя, какие из задач
- имеют самое большое значение для хода работ над проектом;
- важнее всего для заказчика или будущего потребителя;
- принесут максимальный доход;
- проще всего выполнить.
Таким образом формируется бэклог проекта – список требований к функциональности продукта, упорядоченный по степени важности задач, подлежащих реализации.
Планирование спринта. Это совещание, на котором команда смотрит в верхнюю часть бэклога и прогнозирует количество заданий, которое возможно выполнить за этот спринт. Когда команда договорилась о цели предстоящего спринта и об определенном количестве заданий, которые нужно выполнить за этот спринт, добавлять новые уже нельзя. Планирование спринта – это еще одна возможность для команды удостовериться, что все точно понимают, как реализация каждого задания служит достижению конечной цели проекта.
Скрам-доска и диаграмма выгорания задач. Слаженной командной работе способствует прозрачность всех действий и процессов. Для этого команда заводит скрам-доску с колонками: «Нужно сделать», «В работе», «Сделано». Все задачи, которые команда выбрала для реализации в этом спринте, записываются на стикеры и приклеиваются в колонку «Нужно сделать». По мере выполнения задач команда перемещает стикеры из одной колонки в другую. Еще один способ сделать работу видимой – создать диаграмму выгорания задач. Каждый день скрам-мастер подсчитывает количество баллов за выполненные задачи и отражает оставшееся количество на графике. В идеале к концу спринта кривая должна прийти в ноль.
Совещания на ходу. Каждый день в одно и то же время не более чем на пятнадцать минут разработчики и скрам-мастер встречаются и дают ответы на три вопроса.
- Что ты делал вчера, чтобы помочь команде завершить спринт?
- Что ты будешь делать сегодня, чтобы помочь команде завершить спринт?
- Какие препятствия встали на пути команды?
Суть таких встреч, которые действительно чаще всего проводятся стоя, в том, чтобы вся команда точно знала, на каком этапе находится каждое задание в текущем спринте. Все ли задачи будут выполнены в срок? Есть ли возможность помочь другим членам команды преодолеть препятствия? Никто не распределяет заданий сверху и не пишет отчетов руководству – команда самостоятельна и все решает сама. Скрам-мастер отвечает за устранение помех, мешающих команде продвигаться вперед.
Обзор спринта. Это открытая для всех заинтересованных лиц встреча, на которой команда рассказывает и показывает, что сделано за спринт. Демонстрировать команда должна только то, что полностью и окончательно готово. Это может быть и весь продукт, и его отдельная готовая функция.
Ретроспективное собрание. После того как команда передала клиенту результаты работы завершившегося спринта для получения обратной связи, все садятся за общий стол и обсуждают ряд вопросов. Что прошло хорошо? Что можно было сделать лучше? Что могло бы ускорить ход работ? Какое улучшение команда может внедрить в процесс немедленно? Ответы ищут всей командой, сохраняя фокус на решении проблемы, а не на поиске виноватых. К концу встречи разработчики и скрам-мастер договариваются о совершенствовании процесса, которое будет введено в действие в следующем спринте.
Далее цикл повторяется: команда приступает к планированию спринта.
На практике – для разных проектов и разных команд – процессы могут иметь свои особенности. Но знание основ в том виде, как их изложили авторы методологии, поможет вам быстрее освоиться, когда вы начнете работать в скрам-команде.
По материалам книги Д. Сазерленд. Scrum. Революционный метод управления проектами. «Манн, Иванов и Фербер», 2016.
Документ КонсультантПлюс по теме: "Гражданский кодекс Российской Федерации (часть четвертая)" от 18.12.2006 N 230-ФЗ (ред. от 07.10.2022)