Кто такой скрам-мастер и стесняется, есть ли у нас скрам-церемонии? Это то, что я задал себе, когда впервые услышал эти термины.

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

Хотя лучший способ узнать об этих терминах — на работе, эта статья послужит нежным введением в то, чего ожидать, и, надеюсь, познакомит вас с некоторыми часто используемыми жаргонами SCRUM. Я не менеджер проекта и не проходил никакого формального обучения, связанного со Scrum. Содержание этой статьи основано на моем опыте, поэтому некоторые термины могут быть чрезмерно упрощены, хотя это не так. Опять же, лучший способ узнать больше о Scrum — это на работе или у менеджера проекта.

Что такое Scrum и зачем он нужен

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

  • Максимальная продуктивность команды
  • Ускорение реализации проекта
  • Улучшить качество продукции
  • Способствовать общению и сотрудничеству между членами команды
  • Снизить риск проекта

Понимать различные роли в Scrum-команде

В Scrum-команде есть три ключевые роли: владелец продукта, скрам-мастер и команда разработчиков.

  • Владелец продукта: отвечает за понимание бизнес-целей проекта и обеспечение команды всем необходимым для успеха.
  • Скрам-мастер: человек, который следит за тем, чтобы все в команде соблюдали правила Скрама. Они также расставляют приоритеты и организуют, какие задачи каждый член команды разработчиков должен выполнить следующим, чтобы успешно уложиться в сроки. Они также обеспечивают продуктивность команды.
  • Команда разработчиков: люди, которые отвечают за разработку продукта, то есть вы и я.

Понимать, как Scrum используется для управления проектами

Чтобы понять, как Scrum используется для управления проектами, важно сначала понять, что такое Scrum на самом деле.

Scrum — это фреймворк для управления проектами разработки программного обеспечения. Это гибкая методология, что означает, что она разработана так, чтобы быть гибкой и адаптируемой к изменениям.

Основная идея Scrum заключается в том, что проект делится на серию коротких, ограниченных по времени итераций, называемых спринтами. В начале каждого спринта команда встречается и согласовывает набор целей, которых они хотят достичь в течение этого спринта. Затем они разбивают эти цели на отдельные задачи, которые назначаются конкретным членам команды. Команда работает вместе, чтобы выполнить эти задачи во время спринта, а в конце спринта они снова встречаются, чтобы рассмотреть, что было выполнено, и определить, были ли достигнуты цели. Если они есть, отлично! Цель достигнута. Если нет, то команда обсуждает, почему так произошло, и придумывает новый набор задач для следующего спринта. Когда каждая итерация завершена, у вас есть приращение продукта.

Некоторые термины Scrum, которые вы могли слышать

  • Спринт. Спринт — это период времени в Scrum, в течение которого команда работает над достижением своих целей в проекте. Обычно они длятся 2–4 недели.
  • Ежедневное собрание Scrum: также известное как Daily Standup. Это ежедневное 15-минутное совещание, на котором каждый член команды отвечает на три вопроса: Что вы делали вчера? Что ты собираешься сегодня делать? Есть ли на вашем пути препятствия, которые мешают вам достичь цели?
  • Ретроспективное совещание. Это совещание в конце каждого спринта, на котором все члены команды обсуждают, что в этом спринте было хорошо, а что не очень, и предлагают идеи по улучшению.
  • Скрам-доска. Скрам-доска — это инструмент, который помогает команде отслеживать прогресс и визуально видеть, как они работают. Обычно он имеет как минимум три столбца: «Сделать», «Выполняется» и «Готово». Команда обновляет скрам-доску каждый день на ежедневном скрам-совещании. В нем также могут быть дополнительные столбцы, такие как «Запрос на слияние сделан», «Запрос на слияние одобрен» и т. д. Часто это автоматизировано, т. е. всякий раз, когда вы делаете PR, вы должны пометить задачу, и эта задача переместится из «Выполняется» в «Запрос на слияние сделан». Когда кто-то одобрит ваш PR, задача переместится в состояние «Запрос на слияние утвержден» и, наконец, задача перейдет в состояние «Выполнено», когда заинтересованные стороны будут довольны. Некоторые популярные сервисы, используемые для Scrum Board, — это Jira, GitHub Projects, Azure DevOps и т. д. Ниже приведен пример Scrum Board на Jira.

  • Time-boxing. Time-boxing — это идея, согласно которой для всех задач на доске схватки должно быть назначено время, когда они должны быть выполнены. Их можно либо разбить на более мелкие задачи, либо оценить в целом. После начала спринта важно, чтобы члены команды не тратили на задачу больше отведенного им времени. Это помогает обеспечить бесперебойное выполнение задач.
  • Бэклог продукта. Это список всех элементов вашего проекта, которые необходимо выполнить. Это могут быть новые функции, ошибки или что-то еще, что необходимо сделать. Владелец продукта устанавливает приоритеты элементов в бэклоге продукта, и роль команды состоит в том, чтобы завершить их с назначенным им уровнем приоритета. Незавершенные элементы переходят на более высокий уровень приоритета по мере их доступности.
  • Бэклог спринта. Это список того, что команда должна сделать в течение следующего спринта, т. е. недели или двух недель, в течение которых длится цикл спринта. Элементы в верхней части этого списка считаются наиболее важными, и их очередь выполнять в первую очередь. Каждый элемент в этом списке называется пользовательской историей и должен быть выполнен в течение спринта.
  • История пользователя: описание функций или изменений, которые необходимо внести. Они пишутся Владельцем Продукта, а затем принимаются Командой, которая решает, что нужно сделать в первую очередь, чтобы выполнить эти требования (в порядке приоритета). Команда несет ответственность за написание своих собственных пользовательских историй, чтобы полностью понять, что от них ожидается. На изображении скрам-доски выше каждое поле внутри столбца представляет собой пользовательскую историю.
  • Story Points: мера того, сколько усилий требует задача по сравнению с другими задачами. Например, один Story Point может быть эквивалентен половине рабочего дня. Члены Команды сами должны определить размер и сложность того, что необходимо сделать, чтобы правильно оценить это.
  • Непрерывная интеграция: набор методов разработки программного обеспечения, предназначенных для повышения качества выпусков программного обеспечения. Он направлен на создание, тестирование и выпуск высококачественного кода в очень частых циклах (например, каждая регистрация приводит к сборке), чтобы при добавлении новых функций они быстро добавляли ценность.
  • Подготовка невыполненной работы. Это процесс, в ходе которого Владелец продукта и команда проходят и уточняют невыполненную работу в рамках подготовки к спринту. Владелец продукта расставляет элементы по приоритетам, а команда следит за тем, чтобы они полностью понимали каждый элемент. Этот шаг помогает убедиться, что все, что предполагается сделать в спринте, ясно и понятно.
  • Скорость: показатель того, сколько работы команда может выполнить за определенный период. Это также используется для определения того, сколько работы можно взять на себя за спринт. По мере увеличения этого числа скорость становится все более точным индикатором того, сколько работы выполняется с течением времени.
  • Sprint Burndown: это графическое представление того, сколько работы выполнила команда и сколько еще осталось сделать. Он обеспечивает наглядность прогресса, позволяет делать реалистичные прогнозы, а также помогает владельцу продукта планировать будущие спринты. Это также сравнивает, сколько нужно сделать для достижения цели спринта и сколько фактически сделано.

3 основные церемонии Scrum

Есть 3 ключевых церемонии, которые Скрам-команда должна провести в рамках процесса разработки. Они следующие:

  • Ежедневное стендап-совещание или скрам-стендап проводится в начале каждого рабочего дня, в течение которого каждый член команды должен ответить на три вопроса: Что я сделал со вчерашнего стендапа? Что я сделаю перед завтрашним стендапом? Есть ли препятствия на моем пути? Об этом тоже говорилось в предыдущем разделе.
  • На совещании по планированию спринта команда собирается вместе, чтобы обсудить задачи, необходимые для предстоящего спринта. Это делается путем разбивки рабочих элементов, их оценки с помощью Story Points (см. выше), а затем добавления их в Журнал спринта.
  • Обзор спринта — это место, где команда демонстрирует свои достижения заинтересованным сторонам проекта. Это совещание предназначено не для обсуждения вопросов или проблем, а, скорее, для заинтересованных сторон это возможность поделиться отзывами о том, что уже сделано, и дать указания относительно будущей работы, которую необходимо выполнить.

Ниже приведен пример шаблона календаря Scrum. Вы начинаете с сеанса планирования спринта, а затем проводите ежедневные стендапы до конца спринта. В конце спринта у вас будет собрание по обзору спринта. После чего у вас будет еще одна сессия планирования спринта для следующего спринта. Кроме того, у вас может быть несколько сеансов подготовки или уточнения невыполненной работы в вашем спринте и ретроспективная встреча в конце спринта.

Знайте свои цели как разработчика для успешного использования SCRUM

При использовании SCRUM разработчикам важно иметь четкое представление о своих целях. Таким образом, они могут использовать методологию SCRUM в полной мере и убедиться, что они постоянно добиваются прогресса в своем проекте. Некоторые цели, которые разработчики могут захотеть иметь в виду, включают:

  • Выполнение задач в установленные сроки
  • Обеспечение правильной расстановки приоритетов задач
  • Непрерывная интеграция нового кода в проект
  • Убедитесь, что все заинтересованные стороны в курсе хода проекта.

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

Заключение

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

Want to Connect With the Author?
This article was originally posted on realpythonproject.com