Немного про Scrum простым языком

Немного про Scrum простым языком

t.me/qa_chillout

Scrum — методология гибкого процесса разработки программного обеспечения. Другими словами, Scrum — это способ организации рабочего процесса, позволяющий в жестко фиксированные и небольшие по времени итерации, называемые спринтами (sprints), предоставлять конечному пользователю работающий продукт с новыми бизнес-возможностями.

Немного истории

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


Основные принципы Scrum

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

  • Работа короткими циклами (в Scrum это называют спринтами);
  • Результат работы — это минимально жизнеспособный продукт (mvp);
  • Гибкость. «Проверять и адаптироваться» (если что-то идет не так, команда всегда готова сменить стратегию разработки или пересмотреть бэклог продукта);
  • Участие заказчика и пользователей в создании продукта;
  • Взаимодействие команды.


Основной состав Scrum-команды (обычно не более 10 человек):

  • Scrum-мастер

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

  • Владелец продукта

Человек, который не только общается с клиентами и другими заинтересованными в продукте лицами (заказчиками), но и работает с разработчиками, отвечает на их вопросы по элементам бэклога, своевременно уведомляет об изменениях, приходящих со стороны бизнеса/клиентов. Никто не имеет право ставить задачи разработчикам в обход владельца продукта. Как член Scrum-команды, он участвует в мероприятиях Scrum: в планировании и ретроспективе спринта.

  • Команда разработки

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


Разработка по Scrum

Начнем со знакомства со словарем терминов Scrum

Бэклог продукта (product backlog) — это упорядоченная очередь задач, перечень всех функций, которые заинтересованные люди хотят получить от продукта. Этот список содержит краткие описания всех желаемых возможностей продукта. Управляют бэклогом, описывает его главные элементы во время митинга по планированию спринта в команде менеджер продукта (product manager) или владелец продукта (product owner).

Бэклог спринта (sprint backlog) — это выбранный на cпринт набор элементов (задач) бэклога продукта, а также план разработки инкремента продукта и достижения цели спринта. Служит для наглядного представления работы, которую команда определила для достижения цели спринта.

Цель продукта (product goal)

Цель продукта описывает будущее состояние продукта, которое может выступать в качестве конечной цели, используемой скрам-командой при планировании работы. Цель продукта входит в состав бэклога продукта и играет в нем роль сommitment’а.

Доска спринта (sprint board)

Доска спринта помогает визуализировать бэклог спринта на протяжении спринта. Организовывается доска в любой TMS (Task Management System, система управления задачами), которую выбрала команда для работы. Колонки могут называться «Сделать», «В работе», «Готово» или иметь аналогичные названия. Доска Спринта управляется разработчиками и отражает все элементы, которые нужно сделать, работа над которыми ведётся в данный момент и которые уже завершены в рамках текущего спринта.

Планирование спринта (sprint planning)

На этой встрече команды происходит планирование работы на следующий спринт. Обычно длится несколько часов и включает обсуждение 3-х тем:

  • Почему этот спринт ценен?
  • Что будет сделано в этом спринте?
  • Как будет выполняться выбранная работа?

Чтобы оценить объем работы, команды чаще используют стори поинты (story points), чем человеко-часы. Это условная величина, позволяющая давать элементам бэклога (задачам) относительные веса. Чаще всего для оценки в стори поинтах используются числа Фибоначчи (1, 2, 3, 5, 8, 13, …), что позволяет провести оценку достаточно быстро.

Цель спринта (sprint goal)

Цель, которая ставится на спринт, и может быть достигнута через выполнение элементов (задач) бэклога спринта. Она описывает то, для чего создаётся инкремент продукта.

Scrum-митинг (daily scrum)

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

Спринт (sprint)

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

Демо (demo или sprint review)

Показ результатов, достигнутых командой, и их оценка стейкхолдерами. Именно получение оценки от стейкхолдеров является основной функцией демо: соответствует ли это их ожиданиям, решает ли поставленные задачи и приносит ли ценность. И официальное название — Sprint Review, но термин «Демо» является устоявшимся в сообществе. Обычно демо проводится в виде встречи, на которой присутствует команда и все заинтересованные стейкхолдеры: члены команды демонстрируют созданную ценность и получают обратную связь.

Ретроспектива спринта (sprint retrospective)

Ретроспектива cпринта дает cкрам-команде возможность провести инспекцию своей работы и создать план улучшений на следующий cпринт. Ретроспектива проходит после обзора спринта, перед планированием спринта. В среднем эта встреча длится от 1 до 3 часов.


А теперь разберем, как же все-таки это все взаимодействует

Перед стартом новой итерации происходит планирование, на этой встрече все члены команды, скрам-мастер, владелец продукта и других заинтересованные лица формируют бэклог спринта. Задачи берутся из бэклога продукта. Далее все задачи, которые запланированы на спринт, приоритизируются. Для визуализации задач и контроля прогресса в скрам используется доска, которую команда создает в выбранной для работы TMS.

Каждый день, во время спринта, команда собирается на короткие встречи (не более 15 минут) — sсrum-митинги, где обсуждается текущая ситуация на проекте и оперативное выявление возникающих проблем.

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

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


Резюме

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

Report Page