Методология разработки «Scrum» (Скрам)


1 минут чтения

Scrum (Скрам) — это гибкая методология разработки продукта.

Термин взят из регби и обозначает "схватку вокруг мяча". 
Основана на принципах «Agile».


Зачем нужна данная методология, и в чём отличие от традиционная (каскадной) методология управления проектами?

На примере создания сайта или интернет-магазина.

  • Благодаря применению методологии, ресурс запускается по согласованным этапам, результаты которых можно посмотреть и протестировать.
  • Нет необходимости составлять техническое задание на разработку.
  • У заказчика есть возможность отвечать за развитее продукта, менять объем работы, приоритеты, требования.

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


Основные термины и "ритуалы":

  • Владелец продукта (Product Owner, PO) — человек, который имеет непосредственный интерес в конечном продукте.
    Он понимает, как продукт должен выглядеть и работать, но не работает в команде - он работает на стороне заказчика (клиента).
    Этот же человек расставляет приоритеты для задач.
  • Скрам-мастер (Scrum Master, SM) — человек, которого можно назвать, условно, руководителем проекта.
    Следит за тем, чтобы все принципы методологии соблюдались и "заряжает" команду.
  • Команда (Team, T) — это команда, которая принимает все принципы Scrum и готова с ними работать.
  • Спринт (Sprint) — отрезок времени (итерация), который берётся для выполнения ограниченного списка задач. 2-4 недели (длительность определяется командой один раз).
  • Бэклог (Backlog) — это список всех работ (ежедневник общего пользования/план проекта).
    Различают 2 вида бэклогов: продукт-бэклог и спринт-бэклог.
  • Продукт-бэклог (Product Backlog) — полный список всех работ, при реализации которых мы получим конечный продукт.
  • Спринт-бэклог (Sprint Backlog) — список работ, который определила команда и согласовала с PO, на ближайший спринт.
    Задания в спринт-бэклог берутся из продукт-бэклог.
  • Спринт-гол (Sprint Goal) - краткое описание того, ради чего выполняется конкретный спринт. 
  • Диаграмма сгорания (Sprint Burndown Chart) - диаграмма, где в качестве “сгорающих” элементов выступают человеко-часы или идеальные единицы (Story Points).
    Диаграмма обновляется каждый раз, когда завершается какая-либо задача.
  • Планирование спринта (Sprint Planning) — совещание, на котором присутствуют все (T, SM, PO).
    В течение этого совещания PO определяет приоритеты заданий, которые он хотел бы увидеть выполненными по истечении спринта.
    Команда оценивает по времени, сколько из желаемого они могут выполнить.
    В итоге получается список заданий, который не может меняться в течение спринта и к концу спринта должен быть полностью выполнен, и распределение ресурсов.
  • Дневной скрам (Daily Scrum) - ежедневное обсуждение командой:
    - проходит ежедневно в одно и то же время;
    - длительность встречи не более 20 минут;
    - каждый должен ответить всего на 3 вопроса: что я делал вчера, чем я занимаюсь сегодня, какие есть проблемы (что мешает)?
  • Сдача спринта (Sprint Review) - выполняется в конце спринта, где результат демонстрируется PO для проверки.
  • Ретроспектива (Retrospective) - при завершении спринта, команда проводит внутреннюю критическую встречу с целью определить и решить возникшие в процессе реализации инциденты для улучшения фокуса в следующем спринте и озвучить ответы на следующие вопросы:
    - какие решения должна принять команда, чтобы сделать процесс более предсказуемым?
    - какие проблемы мешают команде выполнять взятые на себя обязательства?
    - как улучшить взаимодействие с PO?
    - какие ошибки совершает команда и почему.

Пример:

Стандартный проект по методологии начинается с того, что все собираются, PO описывает команде своё видение продукта (идею).
Для того,  чтобы можно было начать общее планирование SM и PO, составляют бэклог, где каждое требование выглядит как одно-два простых предложения.
Каждое требование должно иметь чёткий приоритет, например от 1 до 10.
Когда бэклог составлен, нужно выбрать длину спринта, а также оценить задачи в идеальных единицах.
Т.е. во время планирования команда выбирает самые важные требования из бэклога и разбивает их на чёткие задачи. Каждая задача должна иметь оценку по времени. 

После того как всё время на спринте было расформировано, запланировано по задачам, можно начинать.
Программисты пишут код, тестировщики тестируют, спринт идёт.
Если возникают трудности при проведении дневного скрама, то PO и SM быстро занимаются решением.
Итоги спринта крайне важны, т.к. будут видны результаты, которые можно продемонстрировать или передать PO


Примечание:

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

Также важно отметить что скрам предназначен для маленьких команд. Обычно 5-10 человек: несколько разработчиков; тестировщик; менеджер; дизайнер.
Если команды становятся больше, то это уже не так эффективно работает.
Для эффективной работы скрам нужно масштабировать (SAFe, Nexus, LeSS) для больших команд.  


Комментарии
* Адрес электронной почты не будет отображаться на сайте.