Почему так популярен SCRUM?
Время на прочтение: 3 минут(ы) Разбираемся, что такое Scrum и как правильно организовать работу scrum-команды
SCRUM — метод управления работой команды, в основе которого короткие циклы разработки и поэтапное улучшение продукта. Такая организация работы позволяет быстрее повышать качество, добавлять новый функционал, поэтому его считают гибкой методологией.
Содержание
Процесс работы Scrum-команды
Подход скрам отличается от других рядом принципов, которые должна соблюдать команда:
Распределение ролей
В скраме важно, чтобы каждый участник команды четко выполнял свою роль. Три наиболее важнейших — product owner, scrum-мастер и разработчики (позднее разберем их задачи более подробно), От их слаженной работы зависит успешное выполнение задач.
Разработка и приоритизация бэклога
Бэклогом называют все задачи, которые необходимо выполнить во время создания продукта. Перед началом разработки product owner собирает все необходимые задачи, распределяет их по степени важности. От правильно выставленных приоритетов зависит, насколько качественным выйдет финальный продукт.
Планирование «спринтов»
Под спринтом в скраме понимают короткий (1-2 недели) цикл разработки, обычно конкретной частью приложения или сервиса (например, функции рекомендаций в приложении по прослушиванию музыки). Затем команда анализирует результаты, а перед началом следующего спринта участники вновь планируют, какие задачи стоит выполнить ближайшем спринте, определяют приоритеты, ответственных и дедлайны.
Ежедневное Scrum-совещание
В скраме необходимо постоянно поддерживать коммуникацию. Для этого разработчики, PO и скрам-мастер ежедневно встречаются на коротком совещании, где коротко дают коллегам информацию о том, что было сделано. Проще всего это делать, отвечая на 3 вопроса:
- Что я сделал вчера?
- Что я буду делать сегодня?
- Какие у меня возникли проблемы?
Обычно стараются уложиться в 15-20 минут, главная задача этих встреч — вовремя дать информацию коллегам о ходе процесса разработки.
Подведение итогов спринта
Результат каждого спринта тестируется, затем его презентуют заказчикам, рассказывает об успехах и неудачах.
Ретроспиктивный обзор (ретро спринта)
После проделанной важно проанализировать успехи и неудачи. На основе обратной связи от членов коллектива product owner корректирует, дополняет бэклог, а команда получает информацию для планирования следующего спринта.
Главные роли в Scrum
Выше мы уже отметили, что главные ролями являются: product owner, scrum-мастер и разработчики. Теперь разберемся, за что отвечает каждая из ролей.
Product owner
Product owner (или владелец продукта) является связующим звеном между пользователями, заказчиками и командой разработки. Его главная задача — создание стратегии развития продукта, то есть PO это условный «начальник», ответственный за итоговый результат. Его типичными задачами будут:
- Определение видения и стратегии развития продукта
- Взаимодействие с заказчиками и пользователями (сбор обратной связи, корректировка планов)
- Управление бэклогом продукта: приоритизация, добавление/удаление задач
- Формирование и представление разработчикам требований к продукту
- Оценка и принятие результатов
Scrum-мастер
Скрам-мастер занимается соблюдением процессов и коммуникацией коллектива. Его задача следить за тем, чтобы все члены четко выполняли свои роли, соблюдали дедлайны, помогали своим коллегам. Scrum-мастер необходим, чтобы вовремя удалять барьеры в процессе разработки, разрешать потенциальные конлфикты. Чаще всего он ответственен за:
- поддержание коммуникации и доверительной атмосферы
- поиск проблем в процессе разработки
- устранение найденных проблем
- контроль за соблюдением ролей, дедлайнов
Разработчики
Разработчики — «рабочие лошадки» команды. На них ложатся задачи написания кода, технической реализации функционала. Помимо основных задач, от разработчиков также требуется взаимодействовать с другими членам коллектива:
- помогать оценивать бэклог
- отслеживать свой прогресс и давать обратную связь
- представлять результаты разработки команде и заказчикам
Разница Scrum, Agile, Kanban
Очень часто у начинающих специалистов слова Скрам, Agile, Kanban воспринимаются как одно и то же. Все эти понятия относятся к теме гибкого управления, но разницу между ними понять не трудно: Scrum и Kanban — это инструменты, а Agile — принципы и философия.
Изначально в создании ПО применялся подход waterfall («водопад»): процесс разработки был спланирован от начала и до конца. У такого подхода был один главный недостаток: отсутствие гибкости. Если в коде обнаруживалась ошибки, то их исправление отнимало ценное время, а создание продукта затягивалось.
Для решения это проблемы был придуман подход Agile («гибкий»): командная разделяет создание продукта на этапы и создает его, как в конструкторе: блок за блоком. Это позволило компаниям ускорить процесс разработки, а также улучшить качество. Появились 12 принципов Agile:
- Главное — хорошее ПО и довольный заказчик.
- Готовность к изменениям в любой момент.
- Добиваться работающего ПО по итогам разработки как можно чаще.
- Встречи коллектива — лучше всего для обмена информацией.
- Заказчик и команда разработки должны работать вместе.
- Доверять людям делать свою работу.
- Есть рабочее ПО — есть прогресс.
- Гибкие процессы — непрерывное развитие.
- Внимание к качеству способствует гибкости.
- Нужно не делать лишнего.
- Самоорганизация всегда лучше работает.
- Постоянное стремление к большей эффективности.
Чтобы на практике придерживаться этих принципов, были придуманы Scrum и Kanban. Это модели организации процесса разработки, у которых есть много общего: гибкость, использование досок с визуализацией задач, однако подход к организации у них отличается.
У Скрам более четкая структура и распределение ролей, в то время как Kanban проще внедрить. Приоритизация бэклога, планирование спринта, ежедневные скрам-совещания, ретроспективы спринта, все это требует от команды дополнительной слаженности и усилий. Поэтому Kanban — такой же эффективный инструмент, если уметь правильно его применять.
Подпишись на нашу рассылку и получай свежие полезные материалы каждую неделю
Нас читает 11 000 человек