Scrum — методология разработки

Scrum и Agile – понятия, которые идут рука об руку. Без понимания, что такое Agile, расшифровка термина Scrum будет неполной.

Итак, Agile – это целая философия, семейство гибких подходов к разработке программного обеспечения (ПО), а Scrum – один из них.

У Scrum есть еще братик – Kanban (тоже из Agile – такие доски с цветастыми наклейками, благодаря которым не простаивают задачи). Этот обзор – краткое сборное руководство по Скрам и описание сервисов, которые его поддерживают. 

В английском scrum – это «толкучка», схватка мяча в таком виде спорта как регби. 

Scrum: что такое и зачем?

Скрам – это фреймворк* для разработки и поддержки сложных продуктов. У него есть роли, события, правила и даже артефакты.

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

*Фреймворк – «каркас» в переводе с английского. Это набор базовых элементов и правил, на котором строится процесс разработки. 


И кстати, о книге. Ее автор утверждает, что именно Scrum – секрет успеха таких гигантов как Amazon и Google, и что якобы даже ФБР использует эту методологию для разработки данных.

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


Scrum и Kanban – в чем отличия?

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

Чистый Scrum представляет собой более директивную методологию, в которой больше предписаний. А Kanban намного демократичнее и его проще внедрить. 

Канбан. Здесь над задачей может трудиться несколько команд с узким профилем. Например, сначала работают аналитики, затем дизайнеры разрабатывают прототип продукта и уже после подключаются разработчики. При этом в работу могут включаться и универсальные команды. А еще в Kanban в командах нет ролей. Более подробный обзор Канбан читайте здесь.

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

Также есть другие отличия:

  • в плане ролей – в Scrum-команде нужно больше ресурсов;
  • в планировании – в Scrum приоритеты по задачам выставляет руководитель (владелец продукта), а в Канбан – команда;
  • во временных промежутках – в Scrum сроки соблюдаются в обязательном порядке, и время делится на строгие «спринты», а в Kanban задача может находиться в работе столько, сколько нужно;
  • в досках – они используются при обоих подходах, но Канбан-доска заполнена постоянно, а в Scrum ее очищают при каждой итерации. 

На чем стоит Scrum: роли, элементы и другое

Прежде чем приступить к разбору Скрама, неплохо было бы познакомиться с ценностями подхода. Они звучат ну прямо как гимн или установки из кабинета психолога. И еще раз доказывают, что все гениальное – просто и базируется на понятных вещах.

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

Итак, Scrum – относительно простой и гибкий подход к разработке. И у него есть своя четкая структура из несложных элементов и ролей. Поехали!

Роли в Scrum

В Scrum всего 3 роли:

  1. Скрам Мастер. Это бизнес-аналитик, руководитель проекта. Его задача – организовывать и проводить совещания и следить за тем, чтобы соблюдалась технология Scrum. Еще он снимает противоречия и направляет команду. 
скрам мастер
  1. Product Owner. А это уже владелец проекта, его функциональный заказчик. Он отвечает за разработку продукта и ставит задачи команде. Это всегда один человек, а не группа лиц.
  2. Development Team. Команда из профильных специалистов – программистов, дизайнеров, аналитиков и т.д. Работает по принципам самоорганизации и самоуправления. Типичный размер команды – 7 человек (плюс/минус 2). За результат команда отвечает как единое целое. 

Артефакты (элементы) Scrum

В Скрам задействуется всего 4 артефакта.

Scrum — методология разработки

Product Backlog

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

Sprint Backlog

Список требований на ближайший спринт. Все требования обязательно делятся на задачи и получают оценку. Задачи обычно представляются команде на Kanban-доске.

Sprint Goal

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

Sprint Burndown Chart

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

Ритуалы (процессы) в Скрам

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

Sprint Planning Meeting

Это встреча по планированию спринта, на которой команда выбирает требования из Product Backlog и создает Sprint Backlog. На этой встрече Product Owner отвечает на вопросы участников команды.

Daily Meeting

Ежедневная встреча всей команды – она обязательно должна проходить каждый день, причем в одно и то же время. Интересный момент: на встрече все стоят (потому встречи еще зовут стендапами), потому длительность мероприятия не более четверти часа. В таком коротком временном промежутке каждый должен ответить на 3 вопроса:

  • Что я делал вчера?
  • Чем я занимаюсь сегодня?
  • Какие есть проблемы?

На этом митинге только делятся информацией, и не решают проблемы, а лишь выявляют их.

Sprint Review

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

Retrospective

Это ритуал по обмену опытом в коллективе команды и конструктивное улучшение процесса разработки. На встрече обязательно присутствие всей команды, вместе со Скрам Мастером, а вот Product Owner сам решает – приходить или воздержаться. На встрече озвучивают ответы на ряд вопросов:

  • Какие решения нужно принять, чтобы сделать процесс еще более предсказуемым?
  • Какие проблемы мешают выполнять обязательства, возложенные на команду?
  • Как еще лучше работать и взаимодействовать с Product Owner’ом?
  • Какие ошибки допускаются в команде и почему это происходит?

Какие сервисы помогают внедрять Scrum?

Мы собрали небольшой список сервисов, которые помогут использовать Scrum-подход:

  • Atlassian – сервис с большим выбором продуктов и Scrum-досками Jira. Здесь есть и Scrum, и Kanban, и смешанная методология. Платформа позиционирует себя как «лучший инструмент для agile-команд». Есть бесплатный период. Можно отслеживать ход работы онлайн с помощью Jira на смартфоне. 

Кстати, сервис Trello (популярная в рунете Скрам и Канбан-доска) – как раз разработка Atlassian. Весь список продуктов Atlassian тут

atlassian продукты jira
  • Scrum-Time. Еще один русскоязычный менеджер задач для управления проектами в духе Agile. Есть бесплатный период, а платные тарифы ну очень со смешной ценовой политикой – до 1$ в месяц. Здесь есть три типа проектов: доска задач в стиле Scrum, но не со всеми возможностями подхода; доска задач со всеми инструментами Scrum; Kanban. Также тут подробно рассказывают о том, что такое Scrum.

Выводы

Scrum – не только гибкий подход для разработки, но и интересный инструмент для личной эффективности, ведь никогда не лишним будет задать себе вопрос: а что я делал вчера?

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

И главное, что сейчас есть онлайн-платформы для практически полноценной работы по Скрам-подходу – пробуйте, изучайте, разрабатывайте!

Оставьте комментарий