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 будет очень тяжело выработать видение конечного продукта, разработать проект и заметить проблемы на любом этапе разработки.
Читайте также:
Больше статей на сайте https://kedu.ru/press-center/