Scrum переводится с английского как «схватка», и это слово очень верно отражает суть подхода к работе. Вся работа строится на коротких промежутках планирования и реализации, спринтах, позволяющих выкатить работоспособный продукт в минимальные сроки. Scrum нашел широкое применение в IT-отрасли и не только.
Поговорим подробнее, что такое Scrum-подход в управлении проектами и зачем его нужно знать айтишникам и всем, кто связан с разработкой ПО.
Суть SCRUM-подхода
Сам термин «scrum» относится к регби, где короткими, но очень интенсивными атаками команда продавливает оборону соперника. Схваткой же называют диспозицию игроков на поле перед очередным натиском. В этот момент главное, чтобы каждый участник знал свою роль и четко следовал выбранной тактике.
Scrum-методика строится на поэтапном решении задач:
-
Короткий период планирования, анализ потребностей заказчика;
-
Оформление требований к проекту и распределение задач по приоритетности;
-
Создание бэклога — технического задания для команды;
-
Выделение ресурсов и распределение ролей;
-
Планирование спринта и создание тех. задания по нему;
-
Спринт на фиксированный промежуток времени (короткий, 24 часа, длинный на 7 дней или на 30 дней);
-
Фиксирование результатов на совещании;
-
Оформление нового спринта.
Так постепенно, шаг за шагом команда разработки создает продукт и доводит его до ума. При этом в планировании и спринтах работают не только IT-специалисты, менеджеры, дизайнеры и прочие сотрудники компании, но и заказчики. Они подключаются на этапе совещания и высказывают свои пожелания, если их не устраивает промежуточный результат. В этом суть SCRUM-подхода в IT и программировании.
В коллективе всегда есть четкое распределение ролей и лидеры:
-
На первом месте владелец продукта, то есть его заказчик или его представитель. Он же одновременно и куратор проекта, который формирует обратную связь и спускает на уровень исполнителей новые вводные;
-
SCRUM-мастер — это формальный или неформальный лидер команды разработки, чаще всего нанятый со стороны под конкретный проект. Его задача состоит в том, чтобы коллеги соблюдали принципы SCRUM, а на пути было как можно меньше препятствий;
-
Разработчики, то есть непосредственные исполнители, которых также набирают под конкретный проект. Все они имеют разные специализации и набор навыков, но каждый должен дополнять друг друга. Важное условие в том, что в команде не должно быть людей, тянущих одеяло на себя и желающих поруководить: рабочий процесс строится на равноправии.
Преимущества SCRUM-подхода
-
Нестандартность и пространство для экспериментов;
-
Возможность откатить проект и что-либо доделать;
-
Четкая организация процесса и распределение ролей;
-
Автономность всех участников;
-
Кроссфункциональность команды, гарантирующая её самодостаточность;
-
Самосовершенствование коллектива в процессе выполнения задач;
-
Сравнительно малый срок планирования;
-
Микроконтроллинг — участие заказчика на каждом этапе разработки.
Недостатки SCRUM-подхода
-
Не подходит для крупных проектов, поскольку могут возникнуть проблемы с координацией команд;
-
Нельзя делегировать некоторые задачи на сторону, поскольку требуется слаженность работы всех участников команды;
-
Необходимо высокое доверие внутри коллектива;
-
Нельзя поддерживать рабочий ритм длительное время, производительность падает, что требует "перезагрузки" команды;
-
Заказчик вынужден постоянно контролировать процесс разработки;
-
Неравномерность распределения нагрузки среди членов команды.
SCRUM-процесс и его элементы
Итак, разберемся, как всё устроено изнутри. У SCRUM-подхода есть определенный паттерн, от которого желательно не отступать, дабы не потерять рабочий ритм. Вот его элементы:
Совещание, или Scrum-митинг
Команда собирается ежедневно на планерку, чаще всего утром и не более чем на 15 минут. Каждый участник должен отчитаться, что сделал вчера, что собирается делать сегодня. Если есть необходимость, он может рассказать, что мешает ему работать, и как по его мнению устранить препятствия.
Такие отчеты помогают SCRUM-мастерам понять, всё ли идет по плану и чем можно помочь команде.
SCRUM-доска
Так называют физическую доску, либо специальную программу, где расписаны все текущие задачи, закрепленные за каждым участником. В ней в разных колонках отражены:
-
Проделанные результаты;
-
Текущие задачи;
-
Запланированные задачи.
Так каждый член команды может следить за проектом и контролировать работу коллег.
Итоги спринта
Ещё одна важная составляющая процесса — оценка результатов спринта и работы каждого из его участников. Если команда не укладывается в сроки, можно либо скорректировать бэклог проекта, стратегию разработки, либо пересмотреть роли каждого из членов коллектива.
Отчет
По завершении цикла разработки вся команда подводит итоги, показывая, какие задачи решил каждый участник и какого результата добился. Также специалисты разбирают сам процесс разработки и делятся наблюдениями: как шла разработка, какие трудности возникли, как их избежать в дальнейшем и т.д.
Заказчик же решает, удовлетворяет его результат или нет, и стоит ли выпускать для коммерческого использования полученный продукт. По итогу он может отправить проект на доработку, и тогда запускается новый цикл.
Agile, SCRUM и Kanban: в чем их отличия
Agile — это семейство гибких методик разработки (мы про неё уже писали), которая объединяет в себе и Scrum, и Kanban, и некоторые иные более экзотические подходы.
Отличие между Scrum и Kanban одно: в первом случае задачи структурированы и расписаны на определенный период (сутки, неделя, месяц), во втором — задачи поступают непрерывно.
Scrum-подход позволяет четко распределить обязанности и этапы создания продукта, а Kanban помогает правильно распределить нагрузку и дать всем членам команды одинаковый объем работы.
Как научиться SCRUM-подходу в управлении проектами
Изучать Scrum и в целом методику Agile нужно всем, кто задействован в IT-отрасли. Речь идет не только о программистах, но и командах техподдержки, системных администраторах, редакторах и UX-писателях, дизайнерах.
Однако по-настоящему актуально это знание именно для Scrum-мастеров, тимлидов и менеджеров проектов, поскольку им нужно видение продукта, умение организовывать коллектив и прорабатывать стратегию.
Где же учат Scrum-методике? Лучший вариант пройти онлайн-курсы в IT-школах, вроде Нетологии, Skill Factory или Skillbox. Здесь расскажут о базовых принципах Agile и Scrum, причем на реальных примерах.
Итог
Scrum — один из ключевых soft skills любого IT-руководителя и разработчика. Владение этим инструментом помогает лучше находить общий язык в команде, распределять роли, купировать бардак и неразбериху при работе над любым проектом. Проблема в том, что обучение Scrum не всем кажется очевидным, поскольку кажется, что всему можно научиться в процессе. Однако без понимания Scrum будет очень тяжело выработать видение конечного продукта, разработать проект и заметить проблемы на любом этапе разработки.