Scrum: как это работает?

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

Из истории Scrum

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

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

Рабочий процесс в Scrum

Началом работы по методике Scrum является планирование верхнеуровневых задач. Обычно это первоначальное видение продукта, список заданий, завершения которых планируется достигнуть по итогам работы. Из этого списка выделяются задачи на первый и последующие спринты (1-2 недели каждый). Затем, в рамках спринта, верхнеуровневые задачи делятся на таски. Члены команды разбирают таски, обсуждают их на утреннем митинге и сообща трудятся над общей задачей, что делает работу гибкой и эффективной. Задача — как можно скорее сделать прототип приложения и дальше дорабатывать его в соответствии с требованиями заказчика.

В начале спринта команда оценивает задачи в story points (сложность и время, которое придется потратить на таск), так чтобы успеть все выполнить в срок. Процесс работы визуализируется на специальной доске со стикерами и графиками.

Чтобы рассчитать объем задач на спринт правильно используются специальные инструменты Scrum — planning poker и ретроспектива.

Planning poker — это способ планирования и оценки задач, основанный на достижении договоренности в команде. Обычно колода для планирования содержит карты с числовым рядом Фибоначчи — 1, 2, 3, 5, 8, 13, 21 (что отражает частую неопределенность при обсуждении особенно масштабных проектов). В начале игры члены команды получают по колоде. В зависимости от задачи, которую ставит перед ними менеджер продукта, участники выбирают карту с числом, отражающим сложность задачи и время, необходимое для ее выполнения. Самые низкие и высокие оценки должны аргументироваться, а по итогам игры все участники должны прийти к общему мнению и выбрать единый срок исполнения задачи.

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

Команда Scrum

В классическом виде в Scrum существует список четко регламентированных ролей. Обычно их три:

Product owner (менеджер продукта) — человек, занимающийся постановкой задач, регулирующий их приоритет и контролирующий исполнения. Именно он следит за оценкой трудозатрат и планированием рабочего процесса. Обычно это представитель компании-разработчика, но в некоторёых случаях им может быть заказчик или его представитель

Scrum team (команда проекта) — все люди, участвующие в работе над приложением. Обычно это 4-8 человек (дизайнеров, программистов, тестировщиков), в зависимости от объема задач и размера проектами

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

Преимущества Scrum перед прочими методиками разработки

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