SCRUM. Manager’s weapon

SCRUM. Manager’s weapon

25.08.2017

Представьте (хотя велика вероятность, что сталкивались с нижеописанными ситуациями), у вас на попечении команда сотрудников и у всех единая цель, а работу по организации получения конечного результата лежит на ваших плечах.
А теперь представьте все то же самое, только с творческой командой (к слову, программисты те еще творцы).
Естественным вопросом становится “С чего начать?”. Руководящий состав DIIT Center решил начать со SCRUM.
В этой статье мы поделимся с вами основными положениями, идеей и ролями в SCRUM-методолгии. Пользуйтесь на здоровье!

Представьте (хотя велика вероятность, что сталкивались с нижеописанными ситуациями), у вас на попечении команда сотрудников и у всех единая цель, а работу по организации получения конечного результата лежит на ваших плечах.
А теперь представьте все то же самое, только с творческой командой (к слову, программисты те еще творцы).
Естественным вопросом становится “С чего начать?”. Руководящий состав DIIT Center решил начать со SCRUM.
В этой статье мы поделимся с вами основными положениями, идеей и ролями в SCRUM-методолгии. Пользуйтесь на здоровье!

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

Product Backlog
Product Backlog - список требований, хотелок, историй, функциональности, которые упорядочены по степени важности.
Product Backlog постоянно пересматривается и дополняется (включаются новые требования,  удаляются ненужные, пересматриваются приоритеты).
За Product Backlog отвечает Product Owner. Он работает совместно с командой для того, чтобы получить приближенную оценку на выполнение элементов Product Backlog. Это необходимо для расставления приоритетов в соответствии с необходимым временем на выполнение.
P.s.: В простонародье Product Backlog называют техническим заданием.

Sprint (Спринт)
В Scrum итерация называется Sprint.
Ее длительность составляет 2-4 недели, постоянная продолжительность спринта привносит ритм в разработку. Результатом Sprint является готовый продукт, который можно передавать  заказчику. Для оценки объема работ в спринте можно использовать предварительную оценку, измеряемую в очках истории (Story point).

Sprint Backlog
Sprint Backlog содержит функциональность, выбранную Product Owner из Product Backlog.
Все функции необходимо разбить по задачам, каждая из которых оценивается SCRUM- командой. Каждый день команда оценивает объем работы, который нужно проделать для завершения задач. При этом задачи в течении спринта меняться не должны.

Роли в Scrum
Scrum Master - самая важная роль в методологии. Скрам Мастер отвечает за успех Scrum в проекте. Он является интерфейсом между менеджментом и командой.
Обязанности Мастера:
●    Представляет руководство проекта;
●    Ведет Daily Scrum Meeting и отслеживает прогресс команды при помощи Sprint Backlog, отмечая статус всех задач в спринте;
●    Не раздает задания;
●    Устраняет препятствия. Защищает команду от внешних воздействий;  
●    Ответственен за эффективность работы команды;
●    Обеспечивает видимость и прозрачность ситуации в команде.

Владелец продукта (Product Owner)
Представляет интересы конечных пользователей и других заинтересованных в продукте сторон.
Обязанности Владельца продукта:
●    Взаимодействие между заказчиком и командой;
●    Определяет требования к продукту;
●    Определяет дату релиза и наполненность;
●    Назначает приоритеты требованиям, исходя из их рыночной ценности;
●    Корректирует приоритеты на каждой итерации, если необходимо;  
●    Принимает работу (отвечает за приемку кода в конце каждой итерации).

Команда (Team)
Команда разработки состоит из специалистов, производящих непосредственную работу над производимым продуктом (да - да, те самые творческие программисты и дизайнеры). За выполняемую работу отвечает вся команда. Идея в том, чтобы ни у кого не было возможности халтурить за счет более сильного (или более ответственного) члена команды.
Обязанности Команды:
●    Отвечает за оценку элементов бэклога;
●    Принимает решение по дизайну и реализации;
●    Разрабатывает ПО и демонстрирует заказчику;
●    Отслеживает собственный прогресс (вместе со Scrum Master);
●    Отвечает за результат перед Product Owner;
●    Типичные размер команды - 7 человек(плюс-минус 2);
●    Должна быть самоорганизующаяся команда;
●    Должны быть многофункциональная команда.

Daily Scrum Meeting. Ежедневный скрам
Целью является обновление статуса спринта, чтобы все члены команды знали, кто и чем занимается в проекте. Собрание проводит Скрам-Мастер. Основой особенностью таких собраний является лаконичность: «Ежедневно, 5 минут, стоя» и «Что сделал вчера? Что будешь делать сегодня? С какими проблемами столкнулся?».
WARNING : Возможны возмущения команды по поводу целесообразности подобных собраний (но вы не видитесь на провокации).

Скрам над скрамом (Scrum of Scrums)
Своего рода межкомандное совещание. Позволяет нескольким скрам-командам обсуждать работу, концентрируясь на общих областях и взаимодействии. Повестка та же, что и на ежедневном скрам-совещании плюс следующие вопросы:
●    Что каждая команда сделала с момента предыдущего ежедневного совещания?
●    Что каждая команда сделает к следующему ежедневному совещанию?
●    Есть ли проблемы, мешающие или замедляющие работу каждой команды?
●    Нужно ли другой команде сделать что-то из задач вашей команды?

Обзор итогов спринта (Sprint review meeting)
Проводится в конце спринта, на котором команда демонстрирует прирост функциональности продукта всем заинтересованным лицам. При этом все члены команды участвуют в демонстрации. Нельзя демонстрировать незавершенную функциональность. Обзор итогов ограничивается четырьмя часами в зависимости от продолжительности итерации и прироста функциональности продукта.