Scrum

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

Scrum изобрели программисты Джефф Сазерленд и Кен Швабер. Они наблюдали за работой американских военных и спецназа и пришли к выводу, что в основе успеха лежит качественная командная работа. Сам термин пришел из регби и переводится с английского как «схватка». Сначала подход использовался среди разработчиков, а затем получил распространение в других сферах бизнеса.

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

Особенности Scrum — командный подход и нестандартное распределение обязанностей в коллективе. В процесс вовлечены как сотрудники компании, так и бизнес-заказчики.

Зачем нужна методология Scrum

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

Курс

DevOps-инженер 

Научитесь методикам управления проектов в команде разработчиков и превратите хаос в систему! 

Узнать больше

Процесс работы Scrum-команды

Основная цель подхода — дать заказчику желаемый продукт вовремя и с минимально возможными затратами. Ее помогает достичь соблюдение следующих этапов работы.

Разработка бэклога продукта

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

Сбор команды

Scrum-команда — единое целое. В проекте участвует небольшая группа специалистов разного профиля (6–10 человек). Они работают на общий результат и стремятся к одной цели. В общем виде Scrum-команда включает:

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

Планирование коротких циклов (спринтов)

Спринт — период, в течение которого команда создает и совершенствует отдельную часть продукта, чтобы быть готовым к изменениям условий и исключить глобальную доработку.

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

После этого команда проводит оценку предстоящей работы, подбирает продолжительность цикла (около двух недель).

Возможны три исхода:

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

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

Принципиальная схема Scrum-методики

Scrum-митинг, или стендап

Ежедневно вся команда собирается не более чем на 15 минут. Цель встречи — услышать от каждого участника ответ на три вопроса:

  1. Что я сделал с прошлой встречи?
  2. Что я буду делать сегодня?
  3. Что мешает выполнению задачи?

На основании этих микроотчетов Scrum-мастер старается понять, так ли идет рабочий процесс и как можно помочь команде преодолеть препятствия.

Scrum-доска

Команда использует физические либо программные доски, пространство которых разделяется на части, отражающие стадии работы над продуктом. Их количество может варьировать, но обязательно включает в себя три составляющих (слева направо):

  • запланированные задачи;
  • задачи в активной работе;
  • выполненные задачи.

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

Схема Scrum-доски

Подведение итогов спринта

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

Обзор результатов работы над проектом

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

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

Принципы работы Scrum-команды

Во время работы по методике Scrum должны соблюдаться основополагающие принципы:

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

Чем Scrum отличается от Kanban

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

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

Преимущества

  • Команда работает небольшими этапами, на каждом из которых определяются цели и способы их достижения, что повышает скорость работы.
  • Команда одновременно работает над разными задачами проекта и быстрее достигает желаемой цели.
  • Большие задачи дробятся на мелкие, поэтому удобно вносить корректировки в процессе работы.
  • Благодаря быстрой реакции на изменения и устранения ошибок минимизируются финансовые риски.
  • Каждый член команды знает, за что отвечает.
  • Открытый обмен информацией делает работу максимально прозрачной.
  • Ежедневная видимость достижений поддерживает высокий уровень мотивации.

Недостатки

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

Курс

DevOps-инженер

Освойте перспективную IT-профессию на стыке разработки, системного администрирования и бизнеса.

  • работа 6 месяц обучения;
  • вебинары и тренажеры;
  • портфолио архитектурных решений и подходов.

Узнать больше

Курсы по теме

(рейтинг: 5, голосов: 1)
Добавить комментарий