Что такое Scrum?

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

Что такое методология Scrum?

Методологию Scrum характеризуют определенные принципы и ценности. 

Принципы Scrum для успеха проекта

Прозрачность

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

Рефлексия

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

Адаптация

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

Ценности Scrum для проектных команд

Команды Scrum следуют пяти основным ценностям.

Обязательства

Члены команды Scrum привержены задачам и целям, привязанным ко времени, и стремятся к постоянному совершенствованию, чтобы найти наилучшее решение.

Смелость

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

Фокус

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

Открытость

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

Уважение

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

Как работает Scrum?

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

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

Что такое артефакты Scrum?

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

Бэклог продукта

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

Бэклог компонента Sprint

Бэклог компонента Sprint – это список элементов, которые команда разработчиков должна завершить в текущем цикле Sprint. Перед каждым циклом Sprint команда выбирает, над какими элементами из бэклога продукта она будет работать. Бэклог компонента Sprint является гибким и может изменяться в течение цикла Sprint.

Прирост

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

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

Что такое роли Scrum?

Команде Scrum необходимы три конкретные роли: владелец продукта, лидер Scrum и команда разработчиков.

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

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

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

Лидер Scrum

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

Команда разработчиков Scrum

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

Джефф Безос, основатель компании Amazon, рекомендует использовать правило двух пицц при определении размера команды: команда должна быть достаточно маленькой, чтобы разделить две пиццы. 

Команды разработчиков Scrum выполняют указанное ниже.

  • Совместно работают над обеспечением успешного завершения Sprint.
  • Поддерживают практику устойчивого развития.
  • Самоорганизуются и подходят к своим проектам с очевидной позицией «мы».
  • Управляют планированием и оценкой того, какой объем работы они могут выполнить для каждого цикла Sprint.

Что такое события Scrum?

Cобытия Scrum или церемонии Scrum это набор последовательных встреч, которые команды Scrum проводят регулярно. Некоторые события Scrum включают следующее:

Планирование Sprint

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

Sprint

Sprint – это фактический период, когда команда Scrum работает вместе над завершением прироста. Две недели – это типичная продолжительность цикла Sprint, но она может варьироваться в зависимости от потребностей проекта и команды. Чем сложнее работа и чем больше неизвестных, тем короче должен быть Sprint.

Ежедневное собрание Scrum или стенд-ап

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

Обзор Sprint

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

Ретроспектива Sprint

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

Почему Scrum имеет важное значение для разработки программного обеспечения?

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

Способность поддерживать качество в сложных ситуациях

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

Повышенная рентабельность инвестиций

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

Более удовлетворенные и продуктивные команды

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

Релевантные метрики, улучшающие оценку

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

Scrum и маневренность – в чем разница?

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

Как команды разработчиков Scrum могут внедрить DevOps?

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

Команды Scrum имеют все возможности для внедрения DevOps. Они уже являются межфункциональными и итеративными. Некоторые идеи для интеграции DevOps включают указанное ниже.
  • Автоматизация тестирования программного обеспечения и написание новых тестов при разработке каждой функции
  • Использование технологического стека и инструментов, поддерживающих непрерывное развертывание
  • Выпуск изменений в производство в конце каждого цикла Sprint
AWS DevOps предлагает набор гибких сервисов, с помощью которых можно быстрее и надежнее создавать и доставлять продукты. Начните работу, создав бесплатный аккаунт AWS сегодня.

Scrum: дальнейшие шаги

Дополнительные ресурсы по продукту
Подробнее о Scrum в AWS 
Зарегистрировать бесплатный аккаунт

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

Регистрация 
Начать разработку в консоли

Начните разработку с использованием машинного обучения в Консоли управления AWS.

Вход