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

Процесс разработки в команде – это не какое-то хаотическое движение, где каждый делает только то, что умеет и когда захочет. Весь процесс работы над проектом – это строго регламентированная деятельность с задачами и ролями, где каждый знает и понимает, что делает лично он, и за что несёт персональную ответственность. А также видит, чем занимается команда в данный момент времени, и где скоуп задач каждого участника. Хотя справедливости ради стоит отметить, что в случае какого-то файла виновата обычно вся команда. Так что делает Scrum Master в этой системе и чем его значение в команде?

Все активности и роли определяются в разных методологиях, в таких, как Waterfall, Agile, XP и так далее. Самая популярная методология на данный момент – это Agile. Свою популярность она получила благодаря гибкости и быстрой адаптируемости к различным новым требованиям. Рынок, для которого разрабатываются коммерческие проекты, имеет склонность к постоянным изменением. И то, что сегодня стильно, модно и молодежно, завтра уже может устареть. Чтобы при разработке продукта адаптироваться к таким изменениям, должна быть возможность вносить правки, корректировки, приоритизировать задачи и так далее. Основная идея – это быстрая и безболезненная перестройка работы команды.

Методология Agile предоставила все необходимые инструменты для достижения этой цели. А всю сухую выжимку основных правил, задач и ролей собрал в себя Scrum, главной задачей которого является получить инкремент продукта. И первое, что нужно запомнить, что Scrum является фреймворком Agile. То есть он предоставляет все базовые модули, которые можно затягивать на проект и использовать для организации процесса эффективной работы команды, чтобы все активности были максимально продуктивны, а все новые фичи имели максимальную бизнес ценность.

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

Жизненный цикл Scrum мастера в команде

Вопрос, который многие сбрасывают со счетов – это как раз таки жизненный цикл СМ. Как простыми словами можно его описать?

  1. Scrum мастер появляется в команде при формировании команды и помогает ей пройти определённый этап становления.
  2. Он помогает выработать подходящие процессы – находить и показывать best practices, которые могут помочь команде развиваться.
  3. После этого команда переходит в стадию поиска ответов на более сложные вопросы, и скрам мастер тоже помогает ей в этом. К примеру, вопросы о командных процессах, конфликтах, карьере и так далее.
  4. Когда команда становится более зрелой, он уходит, потому что команда самоорганизованная, и больше фактически не нужен.
  5. Но при этом он остается на связи, в режиме «друга команды», для того чтобы в случае появления каких-то новых вопросов, иметь возможность прийти на помощь.

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

Функции Скрам мастера

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

Так, Scrum мастер должен:

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

Роли в скраме

Разберемся с небольшими нюансами рассматриваемого нами фреймворка. И начнем с ролей. В Scrum команде их 3:

  1. Product Owner – владелец продукта
  2. Scrum Master – скрам мастер
  3. Delivery Team – собственно команда разработчиков.

Каждая из ролей выполняет свои обязанности и имеет свой круг ответственности. Product owner. Фактически – это голос клиента. У него есть общее видение всего продукта, он понимает бизнес значимость всей системы и отвечает за все изменения, которые предлагается вносить продукт. Нужно понимать, что Product Owner – это один человек, а не группа.

Следующая роль это Scrum Master. По сути, это мост между Product Owner и командой. Его задачей является налаживание стабильного процесса и все последующие улучшения этого процесса на основании получаемых данных. Scrum Master это некий менеджер, помогающий команде разработчиков.

Заключительная роль – это команда разработчиков. Это многофункциональный коллектив из специалистов, которые работают над продуктом с начала и до конца. Сама по себе команда включает и Project менеджера, и бизнес-аналитиков, тестировщиков и разработчиков, devops и еще уйму разных специалистов, которые набираются в зависимости от потребностей продукта. Задача, которую должна покрывать команда, это компетентность, наличие знаний и ценность. Если просто, то команда – это кросс функциональная и самоорганизующаяся группа людей, которая вовремя и с высокой стабильностью доставляет новый функционал. Самоорганизующиеся команды самостоятельно решают, как выполнять свою работу, а не следуют внешним указаниям. Кросс функциональные команды обладают всеми необходимыми компетенциями для выполнения работы, и не зависят от людей, которые не входят в команду.

В чем же разница между командой и скрам командой? В скрам команду входит и Product Owner, и скрам мастер, и команда разработчиков. То есть это такой тип команды, который включает себя все роли.

Церемонии

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

Что такое спринт? Это длящийся от одной недели до 1 месяца отрезок времени, в течение которого должен быть выполнен определенный скоуп задач. Его длительность фиксирована и определяется на старте проекта. Сам по себе он является контейнером для всех остальных типов митингов.

— Sprint planning — это митинг, на котором определяется скоуп задач на спринт. Из основного списка, который называется Product Backlog, формируется список, который обязательно должен быть выполнен текущем спринте. Для того чтобы понять, сколько команда сможет выполнить, идет анализ предыдущих спринтов и того объема задач который в них был закрыт. Так называемое ревю спринта. На основании этих цифр набирается user story или просто задачи.

  • Daily Scrum — на этом митинге все участники команды говорят, что они делали вчера, и что они планируют начать делать сегодня. Есть ли у них какие-то проблемы с выполнением задачи? Нужна ли им помощь? Таким образом, можно сделать вывод, что это один из важнейших типов митингов, так как позволяет вовремя выявить все проблемы и решить их максимально быстро.
  • Grooming – на основании описания задачи выставляется, так называемые, абстрактные величины оценки сложности или стори поинт.
  • Sprint Review – показ результата спринта. Демонстрация клиенту результатов работы команды за спринт. То есть презентация новых фич с описанием их работы.
  • Retrospective — на данном митинге обсуждается, что в принте было хорошо, что плохо, и что можно улучшить. На основании ответов на эти вопросы скрам мастер получает информацию о процессах на проекте и старается их улучшить.

Артефакты Scrum

Их так же как и ролей – 3.

  1. Product Backlog – большой список задач всего продукта, за которым постоянно нужно следить и приоритизировать, дополнять и расширять. Этой работой, как вы понимаете, занимается Product Owner.
  2. Sprint Backlog – это список задач для выполнения в текущем спринте. Он небольшой, но концу спринта он должен быть выполнен. Данный список может формироваться, например, проджект-менеджером или лидом проекта.
  3. Product increment – график сгорания. Данный график показывает, как выполняется работа. То есть, как задачи, набранные в начале спринта, сгорают или переходят в статус completed.

Мы рассказали вам, кто это такой Scrum Master. Чем он занимается и что же такое в принципе Scrum Framework.