В управлении проектами популярен термин Scrum. От проджект-менеджеров часто можно услышать о спринтах, итерациях, бэклоге и расстановке приоритетов. В этой статье расскажем, что такое scrum простыми словами, разберёмся каждым из этих понятий и общими принципами работы по методу Scrum management. После прочтения тоже сможете говорить на «проджект менеджерском».
Про основу методологии scrum заговорили в 1986 году, когда в Harvard Business Review (HBR) вышла статья Хиротака Такеучи и Икудзиро Нонака «Игра в разработку нового продукта». В статье описывается, как компании Honda, Canon и Fuji-Xerox, используют командный подход в разработке продуктов. Вывод статьи был в том, что небольшие команды из специалистов различного профиля, обычно добиваются лучших результатов.
Основы scrum развили, и в 1993 году Джефф Сазерленд и его команда в Easel Corporation создали метод Scrum, чтобы использовать его в разработке программного обеспечения. Ещё через два года Кен Швабер и Джефф Сазерленд написали «Руководство по Scrum». Книга подробно объясняет, что такое Scrum, в чём его преимущества, основные артефакты и принципы работы. Если вы руководитель отдела или менеджерите небольшую команду, то советуем книгу к прочтению. А если читать не хотите, но нужно быстро разобраться в чём суть подхода, не переключайтесь.
Что такое Scrum?
Scrum — это один из способов организации командной работы. Его основная цель — удовлетворить потребность клиента, ключевые инструменты Sсrum — прозрачность процесса, коллективная ответственность и постоянное совершенствование. Особенность Scrum в том, что когда бы ни был запущен проект, ничто не мешает регулярно проверять ход работ и вносить нужные корректировки. Scrum про адаптивность, скорость и гибкости команды. Всё это позволяет работать эффективно, с минимальными затратами.
Чтобы разобраться в методе, определим действующих лиц и разберёмся с основными элементами:
Владелец продукта— клиент или заказчик. Он ставит цель перед командой и даёт список характеристик, которые хочет видеть в конечном результате. В Scrum эти характеристики называются пользовательскими историями. Это краткое описание, как выглядит выполненная цель с точки зрения пользователя.
Примеры:
Как ученику онлайн-школы, мне удобно прикреплять домашние задания документом Microsoft Word на платформу.
Как клиент онлайн-магазина, я бы хотел получать подтверждение и детали заказа в мессенджере, а не через звонок от менеджера.
Как клиент, который обращается к колл-центр, я хочу, чтобы опция «связаться с оператором» была первой на автоответчике.
Scrum-мастерустраняет препятствия, которые ограничивают возможности команды в достижении цели. Он помогает соблюдать правила и процессы методологии. Scrum-мастер обеспечивает коучинг, наставничество и обучение команд в случае необходимости.
Основная забота Scrum-мастера — вести команду к непрерывному совершенствованию и регулярно искать ответ на вопрос «Как нам делать ещё лучше то, что мы уже делаем хорошо?».
Джефф Сазерленд, Scrum
Scrum-команда— те, кто отвечают за разработку продукта. Обычно она состоит из трёх-девяти человек. Особенность Scrum-команды в самоорганизованности и самоуправлении.
Элементы Scrum
Артефакты Scrum призваны гарантировать прозрачность и понятность ключевой информации при принятии решений.
Бэклог продукта— это список, в котором собрано всё, что нужно продукту для удовлетворения потенциальных клиентов. Его готовит владелец продукта, и задачи расставляются по приоритетам в соответствии с тем, что более и менее важно для бизнеса. Задача владельца продукта — ответить на вопросы «Что нужно сделать?» и «Что более ценно для бизнеса?».
Бэклог спринта— это подмножество элементов бэклога продукта. Команда вибирает задачи, которые выполняет в течение установленного спринта. Этапы выполнения отображаются на Scrum-досках, что делает процесс разработки видимым для всех, кто входит в проектную команду.
Scrum-досканужна, чтобы все участники видели процесс работы. Вспоминаем про принцип прозрачности процесса. Доска состоит из трёх колонок: «Нужно сделать, или бэклог», «В работе», «Выполнено». Сначала все задачи стоят в колонке «Нужно сделать, или бэклог», затем в процессе спринта они перемещаются в колонку «В работе», а после того, как владелец продукта принял задачу — в колонку «Выполнено». Колонок может быть больше, как на картинке ниже.
Спринт— это базовая единица разработки Scrum. Продолжительность одного спринта от одной до четырёх недель. В течение этого времени команда работает и разрабатывает все пользовательские истории, которые обязалась предоставить в конце спринта. Конечный продукт каждого спринта называется приращением или инкрементом.
Рабочий процесс по Scrum выглядит так:
Уточнение бэклога. Владелец продукта встречается с командой, чтобы обсудить истории, находящиеся в бэклоге. Он разделяет приоритет каждой истории и определяет критерии «сделано», т. е. когда историю можно считать законченной.
Планирование спринта. Команда выбирает истории, которые она обязуется представить в конце спринта. Этот выбор делается с учетом приоритетов, установленных владельцем продукта.
Спринт. Во время спринта команда работает над разработкой пользовательских историй. В конце каждого спринта ценность историй (обычно измеряемая в очках историй) помогает оценить команду скорости. Определенное количество сюжетных очков соответствует определенному количеству часов, которые, по расчетам, потребуются команде, чтобы закончить историю.
Ежедневные Scrum-встречи. Scrum-мастер встречается с командой каждый день на 10-15 минут, все участники отвечает на три вопроса:
Что я сделал вчера?
Что я собираюсь делать сегодня?
С какими препятствиями я столкнулся вчера во время работы?
Обзор спринта. Команда показывает владельцу продукта, что они сделали во время спринта. Как правило, эта встреча включает в себя демонстрацию новых функций, реализованных в продукте.
Ретроспектива спринта. Scrum-мастер встречается с командой и определяет, что команда делает хорошо, что должна делать, чтобы улучшить производительность, а что нужно прекратить.
Недостатки традиционного подхода к управлению проектами
Всегда, когда перед людьми стоит масштабная творческая задача — пытаются ли запустить космический корабль, собрать улучшенный выключатель или поймать преступника, — традиционные методы управления начинают трещать по швам буквально на глазах.
Джефф Сазерленд, Scrum
В традиционном подходе к управлению проектами упор делается на линейные процессы, строгую иерархию, документацию, предварительное планирование и расстановку приоритетов. Здесь задачи выполняются строго в последовательном цикле: инициация, планирование, исполнение, мониторинг и закрытие. Последовательных этапов может быть ещё больше. Ни один из них не может начаться до завершения предыдущего этапа.
Главные недостатки таких подходов:
Возврат на предыдущий этап в таких методах также невозможен. Это означает, что если сбой произошел на ранних стадиях процесса и был выявлен только на финальном этапе, то весь проект нужно делать с нуля даже после того, как все работы были закончены.
Постоянное использование документации — еще одна особенность традиционных подходов. Документы необходимы, поскольку заказчик не участвует в процессе разработки продукта. Разработчики Waterfall должны собрать всю необходимую информацию о пожеланиях заказчика до начала работы над проектом и задокументировать ее. Вся их дальнейшая работа основывается на документах.
Заказчик видит товар только после того, как работа закончена. Следовательно, существует большой риск того, что конечный продукт не будет соответствовать требованиям заказчика.
В таблице ниже показаны основные различия между традиционными подходами к управлению проектами и Scrum.
Таблица: Scrum vs. Традиционный подход
Характеристика
Scrum подход
Традиционный подход
Организационная структура
Итеративная
Линейная
Масштаб проектов
Небольшие проекты
Масштабные проекты
Требования пользователя
Интерактивный ввод
Чётко определено перед внедрением
Вовлеченность владельца продукта
Высокая. Клиенты вовлечены с начала выполнения работ и в течение всего проекта
Низкая. Клиенты вовлекаются в проект на ранней стадии, но не после начала его выполнения.
Управление эскалацией
Когда возникают проблемы, вся команда работает вместе, чтобы решить их
Эскалация менеджерам при возникновении проблемы
Фокус на процессе/продукте
Меньше внимания к формальным и директивным процессам
Более серьезно относится к процессам, чем к продукту
Тестовая документация
Тесты планируются по одному спринту за раз
Комплексное планирование тестирования
Отзывы и одобрения
Обзоры делаются после каждой итерации
Чрезмерные отзывы и одобрения со стороны лидеров
Принципы работы Scrum
Хотя они официально не упоминаются в руководстве по Scrum, существует шесть принципов подхода:
Эмпирический контроль процесса: команды должны регулярно пересматривать и адаптировать свои рабочие процессы, в зависимости от меняющихся потребностей и масштабов проекта
Самоорганизация: каждый член команды Scrum должен брать на себя ответственность за свои задачи и нести ответственность перед командой и проектом.
Сотрудничество: команды должны взаимодействовать и работать вместе, чтобы обеспечить наибольшую ценность.
Приоритизация на основе ценности: Scrum-мастера и их команды должны расставлять приоритеты и организовывать спринты вокруг элементов с наивысшей ценностью для бизнеса.
Ограничение времени: каждый спринт представляет собой конечное количество времени, в течение которого должны быть выполнены определенные задачи.
Итеративная разработка: основой методологии Scrum является адаптация и возможность быстрой итерации.
Преимущества методологии Scrum
Сейчас Scrum считается самым надежным и популярным подходом в управлении проектами. Всё благодаря его преимуществам:
Фокус: процессы Scrum итеративные и управляются в течение определенных рабочих периодов, что позволяет команде без усилий концентрироваться на конкретных функциях каждого спринта. Нет многозадачности и переключения внимания. Сотрудники могут работать в «потоке», а это даёт большую эффективность и качественные результаты.
Соответствие ожиданиям: клиент устанавливает свои ожидания, демонстрируя ценность, которую приносит каждое требование или история проекта, команда оценивает их, и с помощью этих данных Владелец продукта назначает свой приоритет. Регулярно в демонстрациях спринта Владелец Продукта убеждается, что потребности были удовлетворены, и сообщает команде обратную связь.
Гибкость к изменениям: быстрая реакция на изменения в требованиях, вызванные потребностями клиентов или развитием рынка. Методология разработана с учетом меняющихся потребностей, которые часто возникают в масштабных проектах. Высокая скорость внедрения изменений позволяет получить продукт, который точно удовлетворит потребности клиентов.
Сокращение времени выхода на рынок: клиент может использовать наиболее важные функции проекта до того, как продукт будет полностью готов.
Своевременный прогноз и снижение рисков: в scrum мы знаем среднюю скорость команды по спринту, также во время планирования спринта члены команды оценивают сложность выполнения задач. На основе этого можно оценить, когда конкретная задача, которая находится в работе, будет выполнена. Вероятность сорвать дедлайны снижается.
Недостатки Scrum
Нет ничего идеального, и методология Scrum не исключение. В некоторых случаях Scrum сочетается с другими методами управления проектами, что поможет устранить некоторые из этих недостатков:
Scrum требует подготовки. Хотя использование фреймворка Scrum потенциально может дать быстрые и качественные результаты, для его правильной реализации требуется хорошо обученная и квалифицированная команда. Прежде чем перейти к Scrum, каждый в команде должен понять преимущества и особенности этого подхода, чтобы проект был успешным.
Сложность масштабирования. Использование подхода Scrum для крупных проектов может оказаться сложной задачей — реализация в больших масштабах требует интенсивного обучения и точной координации.
Может потребоваться реорганизация. Принятие фреймворка Scrum иногда означает, что компании необходимо пройти некоторые организационные преобразования. Для некоторых проектов нужно, чтобы разные отделы сотрудничали и работали в команде. При этом компании необходимо организовать это сотрудничество таким образом, чтобы удобно было всем.
Тяжело интегрировать с классическим подходом к управлению проектами. Несмотря на то, что Scrum подходит для проектов, требующих постоянных корректировок, он может не подойти для проектов, требующих предсказуемости и четкого плана. В таких случаях понадобится гибридное решение, которое включает в себя некоторые преимущества классического долгосрочного планирования и фреймворка Scrum.
«Расползание» сроков проекта. Scrum включает в себя короткие спринты, но не предполагает никаких дедлайнов для всего проекта. Здесь все участники работают в меру своих возможностей, поэтому Владельцам продукта важно постоянно держать «руку на пульсе», чтобы не уходить от запланированных сроков.
Работает только с небольшими командами. Методология Scrum лучше всего работает с командами, состоящими не менее чем из трех человек, но не более чем из 10. Команды с большим количеством участников сложнее координировать.
Профессионализм членов команды. Принятие методологии Scrum предполагает длительные периоды интенсивной работы, и каждый участник должен иметь опыт и навыки, чтобы быстро и успешно выполнять задачи. Каждый в команде должен быть в состоянии выполнить и предоставить обоснованную обратную связь о результатах и общем процессе.
Почему работа по Scrum может быть неэффективной
Мы уже упомянули, что Scrum сейчас считается одним из самых эффективных подходов в управлении проектами. Тогда почему, когда мы пытаемся внедрить его, то терпим неудачу? На то есть разные причины:
Владелец продукта не вовлечён в процесс настолько, насколько должен, и у него нет клиентского мышления.
Членам команды не хватает опыта — они проваливают спринты.
Scrum-мастеру не удаётся устранить препятствия, с которыми сталкивается команда.
Нет чёткого разделения ролей.
Команда не осведомлена об общей картине и вслепую дополняет пользовательские истории.
Отсутствие стратегии тестирования.
Большинство этих проблем можно свести к отсутствию коммуникации. Встречи и обсуждения должны приносить пользу: у команды должно быть четкое представление о том, что они создают, владелец продукта не должен тестировать продукты или вести обсуждения с разработчиками один на один, Scrum-мастер должен выполнять свою роль «человека-посредника» .
Крупным компаниям сложнее интегрировать Scrum в свою структуру: у них разные бизнес-подразделения, больше процессов и, что часто встречается, не гибкая корпоративная культура.
Как внедрить Scrum-методологию в организации?
Хотя фреймворк Scrum прост, его внедрение в компании — непростая задача. При принятии решения о внедрении Scrum стоит учитывать технические и организационные детали.
Важность Scrum-мастера
При внедрении Scrum, ключевая фигура — опытный Scrum-мастер. Он несет единоличную ответственность за правильное понимание метода всеми участниками. Кроме того, он оценивает и корректирует все операции в соответствии с принципами и ценностями Scrum. Наем Scrum-мастера с опытом имеет решающее значение. Особенно, если сотрудники компании ранее не работали с принципами Scrum. У них, вероятно, будет много вопросов, что потребует подробного руководства со стороны Scrum-мастера. Поэтому прежде чем приступать к другим действиям, ответьте на вопрос: можете ли вы найти и нанять подходящего Scrum-мастера?
Междисциплинарность. Как собрать Scrum-команду?
Следующий вопрос, на который должен ответить специалист по внедрению Scrum:
Есть ли в компании люди, которые вместе могут стать самодостаточной междисциплинарной командой?
Все члены Scrum Team должны быть профессионалами в своей области. И их компетенции должны дополнять друг друга. Слаженная междисциплинарная команда не должна зависеть от помощи внешних специалистов. Это особенно важно, если команда работает с конфиденциальными проектами, которыми нельзя делиться с людьми за пределами организации. Использование внешней помощи также нарушает один из столпов Scrum — прозрачность.
Проблемы с внедрением Scrum могут возникнуть, если компания разделена на строго обособленные отделы. Если каждый член Команды работает в другом отделе, потребуется реорганизация. Ещё предстоит позаботиться об общем рабочем пространстве для междисциплинарной команды.
Scrum-ритм и защита Scrum-команды
Еще один ключевой вопрос, который возникнет при внедрении Scrum, — это создание своего рода «щита», чтобы оградить команду Scrum от наплыва внешних задач. Скорее всего, в вашу команду войдут люди, которые работали над другими проектами и задачами в компании. По привычке люди, с которыми работали участники Scrum Team, будут продолжать обращаться к ним за помощью. Это может порождать конфликты, создавать наплыв дополнительных задач и нарушать ритм работы.
Коучинг и изменение мышления
Использование Scrum или других подходов Agile требует изменения мышления и привычек. Мы знаем, что мозг прибегает к старым привычкам, особенно в условиях стресса. Чтобы команда развивалась и становилась гибкой важно обучать их. Коучинг нужен больше всего в первые пару спринтов. В среднем, после 4-6 спринтов команды способны к самоорганизации и продолжают развиваться и совершенствоваться. Здесь им может понадобиться лишь небольшое руководство. Однако именно в первые несколько спринтов людям нужна поддержка, чтобы изменить свое мышление и привычки. Обычно коучингом команды занимается Scrum-мастер — ещё одна причина нанять на эту роль профессионального человека.
Пилотный переход от традиционного подхода к SCRUM может быть выполнен за 10-12 недель. Но для полноценной трансформации организации может уйти от шести месяцев до года и более.
Какие сферы применяют Scrum
Scrum наиболее популярен в сфере IT и разработки программного обеспечения. Со многими компаниями, которые работают по scrum-методу, вы регулярно взаимодействуете: Google, Apple, Facebook, Netflix.
SCRUM также широко применяется и в других отраслях. Например, в маркетинге и продажах. В SCRUM подчеркивается тот факт, что команды должны быть междисциплинарные. Поэтому, среди людей, составляющих ядро команды могут быть, например: графический дизайнер, контент-райтер, маркетолог, специалист по продажам, менеджер по работе с ключевыми клиентами и менеджер по реализации проекта. Последний может выступать в роли SCRUM-мастера. Здесь следует помнить, что должности, связанные с управлением (например, менеджер по маркетингу) и продажами (менеджер по продажам), де-факто равны. Решения принимаются с членами команды, и один человек может участвовать во многих проектах команды и выполнять множество ролей, в зависимости от знаний, опыта и вовлеченности.
Владельцем продукта может быть директор по продажам или генеральный директор. Его роль определить объём задач проекта, в данном случае это может быть постановка цели продаж и маркетинга с разбивкой по рынкам и конкретным продавцам, отвечающим за данные области.
О спринтах. Если процесс от первого касания с клиентом до покупки длится от трёх до шести месяцев, этот период можно разбить, например, на двухнедельные спринты. Так будет легче отслеживать прогресс и затраты, связанные с продажами для определённого клиента. Ещё это позволит остановить проект в момент, когда завершение продажи становится маловероятным. В таком подходе можно обсудить прогресс с потенциальным клиентом во время обзора спринта, а во время ретроспективы, например, указать три наиболее важных элемента, которые необходимо улучшить во время коммуникации и процесса привлечения клиентов.