ПОЛЕЗНОЕ
Работа по Scrum: процессы, роли, артефакты и инструменты
Scrum — это методика, которая помогает командам вести совместную работу. Часто понятия Scrum и Agile путают. Мы уже писали статью про философию Agile, где рассказали об основных ее ценностях, и как разработчикам быстро адаптироваться к agile-процессам. Scrum, в свою очередь, является agile-методикой, которая помогает выстроить гибкий процесс работы для команд.
Организация работы и процессов
У Scrum есть определенный набор практик и ролей, которые задействованы в процессе разработки продукта. Обычно, scrum-команда работает спринтами. Это отрезки времени на выполнение определенного ряда задач. В среднем один спринт длится от двух до четырех недель. В конце спринта команда разработки предлагает готовое решение заказчику, которое в дальнейшем может дорабатываться. Важной частью также является планирование спринта, в ходе которого определяется объем работы на спринт и способы выполнения этой работы.

Чаще всего над продуктом работает распределенная команда: разработчики могут находиться в разных городах и даже странах. Для этого предусмотрены дейли — ежедневные созвоны с командой, в ходе которых идет распределение текущих задач и трекинг работы всей команды. На дейли разработчик может сообщить команде, над какой задачей он сейчас работает, есть ли какие-то сложности, а также попросить помощь у команды.

Важной частью работы по Scrum является проведение ретроспектив. Это встреча команды, на которой оценивается прошедший спринт с точки зрения организации процессов. Их проводят, чтобы понять, какие рабочие процессы помогли в решении задач, а какие, наоборот, мешали эффективно работать. Например, если разработчик не успевает выполнить все поставленные перед ним задачи в течение спринта из-за долгих ежедневных созвонов с командой, то стоит поднять этот вопрос на ретроспективе. Если вся команда согласиться, то созвоны будут проводить, например, раз в два дня. Не во всех agile-командах проводят ретроспективы, все зависит от желания самой команды и scrum-мастера.
Роли в команде
Ключевые роли в команде играют Product Owner, Scrum Master и команда разработки, в которую могут входить разработчики, тестировщики и дизайнеры.

Product Owner выполняет частично функцию руководителя проекта, менеджера продукта и маркетолога. Он является связующим звеном между командой разработки и пользователями. Product Owner прорабатывает концепцию продукта, общается с заказчиком, формирует задачи и расставляет приоритеты. Он видит, каким должен быть результат, и знает, как команда будет его добиваться.

Scrum Master поддерживает в команде культуру Scrum и следит за соблюдением ее принципов. Это член команды разработки, который контролирует ход работы, фиксирует дедлайны и проводит ежедневные встречи с командой — дейли. Также он следит за всеми процессами и отмечает, что можно улучшить. Еще одна из обязанностей Scrum-мастера – администрирование доски и поддержание карточек с задачами в актуальном состоянии.

Команда разработки — это специалисты, которые реализуют идеи Product Owner'а. Состав и численность команды зависит непосредственно от продукта, над которым идет работа. Обычно в команде разработки всегда есть Team Lead, который координирует команду и системный аналитик, который описывает необходимые требования. Основным процессом разработки занимаются Frontend и Backend разработчики совместно с QA-специалистами. Дизайн экранов проектирует UX/UI дизайнер.
Артефакты Scrum
Артефакты Scrum нужны для того, чтобы вся команда наглядно видела всю информацию по продукту и на основе этого могла принимать решения. Основные артефакты — это бэклог продукта, бэклог спринта и инкремент продукта.

Бэклог продукта — это список со всей информацией по продукту, где отмечены приоритеты и важные цели для бизнеса. Бэклог составляется владельцем продукта, и может дополняться различными элементами на протяжении всего проекта. Его цель состоит в том, чтобы Product Owner ответил на вопрос «Что должно быть сделано и с какой целью?».

Бэклог спринта — это отдельные элементы бэклога продукта, которые команда выбирает для выполнения в течение спринта. В нем также формулируется цель, что именно команда хочет достичь за эту итерацию.

Инкремент продукта — это готовый к использованию конечный продукт по итогам спринта. Он состоит из суммы всех задач бэклога и любых элементов, которые были разработаны в течение спринта, а также все результаты предыдущих спринтов.
Топ-4 инструмента Scrum
Как у любой методики, у Scrum есть свои инструменты, которые облегчают планирование и отслеживание проектов. Некоторые инструменты Scrum заточены под составление бэклога и проведение спринтов, другие инструменты позволяют создавать отчеты и scrum-доски. Команда разработки сама выбирает удобный инструмент исходя из своих задач. Здесь мы рассмотрим самые эффективные инструменты Scrum, которые помогают командам организовать свою работу.
1. Jira
Один из самых популярных инструментов Scrum для больших команд. Jira обладает всеми функциями, которые делают процесс разработки гибким. В Jira легко планировать спринты, расставлять приоритеты, формировать диаграммы сгорания задач и производительности, чтобы видеть, как продвигается работа команды, а также выявлять любые проблемы, которые могут повлиять на достижение цели спринта. Еще одно преимущество — интеграция с различными инструментами, их около 3000, например, Slack, Zoom, GitHub. Из недостатков можно отметить, что новичку будет сложно разобраться в этой системе, придется потратить время на просмотр обучающих видео, которые также есть в базе знаний Jira.
Этот инструмент с простым дизайном оснащен отличным функционалом, который помогает контролировать время на выполнение задач и автоматизирует процессы, чтобы команда могла сосредоточиться на главном. С помощью Monday.com можно планировать итерации, фиксировать баги, формировать бэклоги и создавать дорожные карты продуктов. Также доступны различные интеграции, например, OneDrive, Gmail, Google Drive, всего их около тридцати. Из минусов можно отметить, что нет бесплатного тарифа даже для одного пользователя.
Wrike — это полноценный инструмент для управления проектами, который выбирают такие гиганты как Airbnb, Siemens, Dell и многие другие. Wrike обладает всеми функциями, которые необходимы для командной разработки продукта: списки задач, совместная работа в режиме реального времени, диаграммы Ганта и различные шаблоны. Пользователи могут быстро переключаться между таблицами и досками. Также у Wrike хорошая тех поддержка и своя база знаний, чтобы новичку было проще начать работать с инструментом. Из недостатков: нет возможности оставить комментарий по задаче для конкретного пользователя.
Инструмент обладает всем, что может понадобиться для разработки продукта, начиная от простого редактирования таблиц, заканчивая полноценной CRM-системой. Также платформа предлагает набор шаблонов для ускорения процессов планирования. В ClickUp легко настроить пространство команд под конкретные задачи, а также визуализировать темп работы с помощью графиков. У ClickUp есть удобный инструмент импорта, который позволяет переносить данные и рабочие процессы из Trello, Airtable, Jira и многих других платформ. Из минусов можно отметить, что нет поддержки русского языка, весь интерфейс будет на английском.
Итог
Методика Scrum помогает команде грамотно планировать процесс разработки, эффективно распределять роли в команде, и отслеживать готовность продукта. На нашем курсе для Java-разработчиков есть специальная лекция, где преподаватели подробно рассказывают о Scrum и других гибких методологиях.

Также хочется отметить, что все scrum-инструменты весьма схожи между собой: каждая платформа обладает функциями для планирования задач, формирования бэклогов, отслеживания спринтов, создания различных диаграмм и шаблонов. При выборе инструмента здесь особенно важно учитывать интеграции, которые предлагает платформа. Так, например, у Jira есть интеграции с более 3000 инструментов, в то время как у Monday.com их всего тридцать. Главное — это выбрать инструмент, который подходит для конкретных задач команды разработки.