Scrum – это фреймворк – каркас из базовых правил, на котором выстраивается разработка. С готовым фреймворком не нужно создавать свой уникальный способ работы с нуля.
Скрам часто используют для работы над сложными новыми продуктами, которые постоянно трансформируются вслед за потребностями пользователей. Изначально этот фреймворк применялся для программирования, затем распространился и на другие сферы бизнеса. Сегодня scrum-методологию используют как крупные компании, такие как Google, Amazon, Microsoft, Adobe, так и стартапы. Но подход не универсален: если команда работает по заданному алгоритму, выполняет повторяющиеся задачи, скрам только усложнит процесс.
Scrum подходит командам, которые работают с продуктами на быстро меняющемся рынке, где нужно тестировать много гипотез и собирать обратную связь от пользователей. И не подходит, если список работ известен заранее и экспериментов не предвидится. Но зачастую ясность в видении продукта – только иллюзия. Иногда собственник компании думает, что знает, что нужно пользователю, и ошибается. Недавно я проводила продукт-сессию для одной компании. Команда два года писала программу с классным дизайном и функционалом, а когда они наконец выпустили ее, оказалось, что рынку она не нужна
Зачем компании нужен скрам:
-
Для повышения эффективности в условиях постоянного изменения рынка. Именно гибкость позволяет получить результат, который будет соответствовать требованиям ЦА, даже если исходная ситуация сильно изменится. Если процесс работы над продуктом несовершенен, scrum-подход поможет быстро обнаружить, где и почему возникают проблемы, и улучшить процессы в команде.
-
Для реализации потенциала специалистов. Без начальников и в единой команде люди работают эффективнее и получают большее удовлетворение. Формируется атмосфера всеобщего доверия, и все идут к одной цели.
Основополагающие принципы Scrum
Скрам – один из методов управления, основанных на философии Agile. Он базируется на принципах, изложенных в манифесте гибкой разработки ПО – Agile Manifesto. Ценности и принципы Scrum и Agile сводятся к следующему:
-
Важны люди и взаимодействие, а не процессы и инструменты. В создание продукта вовлечены все участники команды и заказчик. Между ними выстраиваются дружественные отношения. Взаимодействовать нужно лично, а не через документы.
-
Работа в маленьких группах по пять-девять человек. Это оптимальное количество людей для эффективного взаимодействия. Члены команды имеют специализацию, но могут временно заменить другого участника. В нее должны входить только мотивированные люди.
-
Результат оценивается на уровне команды, а не отдельных ее участников. Это способствует слаженности в коллективе. Команда должна постоянно анализировать эффективность работы и улучшать методы решения задач.
-
Работа спринтами – короткими циклами. Суть подхода – создание продукта поэтапно. Спринт длится от одной недели до месяца, чаще всего две недели. По окончании каждого отрезка времени создается какая-то часть, готовая к презентации
Scrum основан на «трех китах»: прозрачности, инспекции и адаптации. Все участники должны одинаково понимать терминологию, значимые характеристики процесса и критерии готовности. Регулярные проверки прогресса на пути к цели спринта помогают быстро выявить отклонения. Если обнаружены факторы, которые приводят продукт в неверное состояние, немедленно вносятся изменения.
Преимущества и недостатки Scrum
Технология Scrum подходит для быстрой разработки новых продуктов. Она позволяет объединить в одну команду специалистов разных подразделений и поставить перед ними общую цель. Прогресс в группе идет быстрее благодаря налаженному взаимодействию, малому количеству участников и общей заинтересованности в результативной деятельности.
Scrum – метод управления проектами для компаний, где есть возможности и ресурсы для экспериментов. Если все идет строго по намеченному плану, есть четкий срок и бюджет, скрам теряет смысл.
Еще одна деталь, без которой нельзя в полной мере использовать метод, – готовность заказчика принимать участие в разработке. Не все в этом заинтересованы и могут найти время.
Кто входит в scrum-команду
Scrum – это команда из пяти-девяти специалистов, реже трех-четырех, которые работают как одно целое, в ней нет лидера и отдельных заданий, вместо должностей – роли. Роль определяет не положение в команде, а зону ответственности.
Коллектив самоорганизующийся – он самостоятельно решает, как выполнять задачи. Он кросс-функциональный – рабочий процесс не зависит от людей, которые не входят в команду, так как участники обладают всеми необходимыми навыками, знаниями и умениями. Для достижения независимости состав группы не меняется.
В скрам-команде нет главного. Отношения партнерские. Участники объединяются, чтобы сделать классный продукт. Если кто-то из них становится главным, другие не могут продвигать свою зону ответственности в полной мере, и начинаются проблемы
В скраме три основные роли:
-
владелец продукта (Product Owner) – отвечает за управление списком требований к продукту – бэклогом. Знает рынок, умеет донести видение и проблемы ЦА, тестирует гипотезы и проводит приоритизацию нужных пользователю опций;
-
скрам-мастер (Scrum Master) – помогает группе быть эффективной при помощи теорий и практик скрама и непрерывно улучшать методы работы: фокусирует внимание участников на цели, помогает людям договариваться, объясняет команде суть и ценности скрама. Иногда его называют scrum-менеджер, но это неверно: в скраме нет руководителей и управленцев;
-
разработчики (Developers) – это специалисты, которые пишут программный код, они создают готовые к релизу части. Например, разработчики в течение спринта работают над определением города в мобильном приложении. В конце спринта новую функцию можно демонстрировать клиенту.
На больших проектах внедряют масштабируемый фреймворк – LeSS. Large-Scale Scrum – это применение Scrum во множестве команд, которые работают совместно над одним продуктом.
Как команда работает по Scrum
Участники ведут доску с задачами – она может быть электронной или физической. По мере выполнения карточки перемещаются по доске вправо. Это помогает участникам отслеживать задачи по наглядной схеме.
В бэклог спринта входят задачи из общего списка текущих требований к продукту. К концу цикла все карточки должны быть перемещены в колонку «Готово».
На разных этапах скрама проходят различные встречи, позволяющие правильно организовать работу над продуктом:
-
Планирование спринта (Sprint Planning Meeting) – собрание, на котором определяют задачи, исходя из текущих требований к продукту. Для оценки объема работ используется практика покера планирования или Story Points. Для оценки используются карты, которые участники выбирают тайно. Каждая из них означает разную сложность и трудоемкость задачи. Затем участники открывают карты и объясняют свой выбор. Обсуждение продолжается до достижения общего мнения. Совещание для двухнедельного спринта длится два-четыре часа;
-
Короткие совещания (Daily Meeting) – ежедневная встреча для отслеживания прогресса и адаптации плана под обстоятельства. Продолжительность – около 15 минут;
-
Обзор спринта (Sprint Review) – презентация версии или части продукта, созданной в ходе спринта. На встрече присутствуют все заинтересованные лица, в том числе заказчик или его представитель. Группа получает обратную связь, на основе которой улучшает продукт;
-
Ретроспектива спринта – встреча для обсуждения рабочих процессов и возникающих проблем. Ретроспектива в Agile помогает улучшить взаимодействие и скорректировать методы работы.
В скраме есть событие Sprint Review, где команда показывает то, что удалось сделать за итерацию. Если заказчик доволен количеством и качеством – отлично. Если нет – ему и команде нужно обсудить несовпадение ожиданий и результата
Как запустить проект по Scrum
Прежде чем внедрять скрам в команде, нужно убедиться, что фреймворк подходит для решения поставленных клиентом задач. Скрам нужен для сложных продуктов, которые многократно видоизменяются в ходе разработки. Если набор характеристик и результат известны заранее, то метод излишен. Он также не подойдет, если владелец бизнеса не готов ослабить контроль над командой.
Agile и Scrum сейчас в моде, за последние пару лет нас просили помочь внедрить scrum-команды на заводе, у молодого инфобизнесмена, в компании по производству итальянских платьев и даже в одной компании, которая организовывает вечеринки. Далеко не во всех из них Scrum нужен, о чем мы им и рассказали
Для запуска проекта по скраму нужно:
-
Собрать команду разработчиков;
-
Назначить владельца продукта – лучше всего с этой задачей справляется заказчик или его представитель;
-
Назначить скрам-мастера;
-
Разработать бэклог продукта – стартовый набор пожеланий, идей и пользовательских запросов. В процессе он будет видоизменяться и дополняться – это называется «причесывание», или бэклог груминг. При необходимости проводится уточнение, упорядочивание, оценка элементов – PBR (Product Backlog Refindment);
-
Разделить работу на итерации – определить размер спринта, достаточный для выполнения работ. Планировать этапы сразу на весь проект не имеет смысла, скорее всего, они тоже будут меняться.
Команда может состоять из действующих сотрудников или новых. Первый вариант предпочтительнее, так как участники уже имеют опыт взаимодействия друг с другом и имеют представление о продукте.
Большинству людей нравится заниматься полноценной разработкой продукта, которую подразумевает скрам. Участники видят всю цепочку – от идеи до реакций пользователя на изменение в продукте, а не только свой кусок. Это приятный опыт, вполне вероятно, имеющиеся сотрудники полюбят такой процесс, так что я бы смело обучала людей внутри компании скраму
Но при применении метода гибкого управления в компаниях со сложившимся коллективом часть сотрудников может отвергать идею. Не все готовы к изменениям – активному общению с заказчиком и взаимодействию с коллегами, погружению в продукт и ожидания целевой аудитории.
Так случилось со мной в одной из компаний – образовалась кучка людей, которые основали свою команду «свободную от скрама». Со временем бизнесу стало очевидно, что скрам-команды работают эффективнее и более прозрачно, чем команда Scrum free, и к ним пришли с вопросами
Чтобы свести к минимуму сопротивление и саботаж со стороны сотрудников и легко ввести в процесс новых специалистов, важно объяснить, для решения каких проблем внедряется скрам и чем он будет полезен для компании и продукта. Чтобы заинтересовать участников, нужно сделать скрам понятным для них – организовать внутреннее обучение.
При внедрении, особенно на первых этапах или в экспериментальной группе, важно строго следовать принципам. Скрам будет работать, только когда есть все элементы. Можно использовать отдельные части, например, работу итерациями или ретроспективу, но этого недостаточно для реализации всех возможностей гибкого подхода к управлению.
Scrum – это набор минимальных рамок, в которые можно добавить необходимые практики, но не стоит ничего оттуда вынимать, особенно в первое время после внедрения. Как показывает практика, когда люди хотят выкинуть части скрама, таким образом они пытаются обойти некие дисфункции, а скрам явным образом их подсвечивает
В сухом остатке
-
Скрам помогает разложить работу над сложным проектом на этапы, выявлять несоответствие продукта запросам пользователя на всех стадиях разработки и немедленно вносить изменения с минимальными потерями времени и материальных ресурсов. На выходе команда получает продукт, который интересен и полезен целевой аудитории.
-
Команда в скраме самоорганизующаяся. Ее не нужно контролировать, но важно удерживать фокус на главной цели. Авторы Agile Manifesto уверены, что именно в таких командах, где у людей есть свобода и возможность нести ответственность, рождаются лучшие идеи.
-
Для успешного внедрения скрама в компании воспользуйтесь помощью опытного agile-тренера. Специалист поможет адаптировать фреймворк под ваш продукт, обучить сотрудников и наладить процессы.