
Метод управления проектами SCRUM

Как часто проекты в вашей компании не укладываются в выделенные временные рамки? И это несмотря на тщательное планирование, распределение задач и времени на графике Ганта. К тому же в конце срока, чтобы ускориться, в проект обычно привлекают дополнительные ресурсы, что увеличивает его стоимость.
Хотите выполнять проекты в срок и без дополнительных затрат? Сегодня мы поговорим об инструменте, который может вам помочь – SCRUM.

Что такое SCRUM
Метод SCRUM – часть идеологии Agile, представленной в начале этого века группой независимых разработчиков ПО. Она объединяет несколько гибких методик управления, основанных на эффективной организации труда небольших групп специалистов. SCRUM из них самая распространенная – её в том или ином виде используют около 90% IT-компаний нашего рынка. Главным идеологом является Джеф Сазерленд. Метод оказался настолько эффективным, что применяется и за пределами сферы разработки ПО: везде, где есть проекты, жёсткие сроки, небольшая команда и возможность разбивки проекта на составные, логически завершенные, части.
Если вы не знакомы с методиками Agile, то пока этот набор формулировок может звучать не совсем понятно. Дальше в статье мы подробно разберем основные элементы метода и как все это работает.
Спринты – основа SCRUM-метода
Весь проект в СКРАМ делится на итерации длительностью кратной неделе. Наиболее распространенное время – от 1 до 4 недель. Каждая итерация называется «спринт».
Цель спринта – за отведенное время создать продукт (или часть продукта), которая готова к демонстрации заказчику или потребителю. Например, в случае с разработкой ПО это может быть отдельный работающий функционал: форма регистрации или личный кабинет.
Особенность спринтов в том, что одновременно решается только одна задача. Параллельная работа сразу в нескольких направлениях не допускается, даже если в процессе работы клиент захочет что-то добавить. Новые задачи будут решаться уже в рамках одного из следующих спринтов.
Длительность спринта – очень важный фактор. Спринт нужно делать как можно короче. Тогда за определённое время вы сможете сделать больше итераций и презентаций продукта. Если поступят какие-то замечания, то изменения гораздо легче внести в небольшую часть работы, чем потом изменять весь проект.
После каждой итерации вы получаете отзыв о том, движетесь ли вы в том направлении, которое нужно конечному потребителю: чем меньше вы отклонились от нужного пути, тем легче вернуться на правильный курс. Это и есть главное преимущество SCRUM – гибкость в разработке благодаря постоянной обратной связи.
Если проект делается без спринтов, весь сразу, то есть вероятность, что от него придется отказаться, если в итоге выяснится, что продукт имеет критические недостатки. Те проблемы, которые можно выявить на ранних стадиях, используя SCRUM, могут быть слишком поздно обнаружены при использовании каскадных методов. Времени и ресурсов на полную переработку попросту не останется.
Роли в СКРАМ
Каждый человек, участвующий в проекте SCRUM, выполняет только отведенную ему роль. Обязанности и полномочия каждой роли строго определены. Чаще всего этих ролей три: владелец продукта, СКРАМ-мастер и команда. Иногда добавляются дополнительные, но для классического варианта достаточно этих трех.
Владелец продукта
Владелец продукта, он же PO (Product Owner), не является в прямом смысле собственником. Это менеджер, через которого идет связь между клиентом или потребителем и командой, делающей продукт.
Главная его задача – коммуникация с заказчиком и оперативное донесение информации до исполнителей. Также он должен «переводить» пожелания клиента в четкие технические задания. Приведем пример по аналогии с ремонтом квартиры. Клиент говорит: «Я хочу иметь возможность принять душ». Владелец продукта ставит задачи:
- купить душевую кабину;
- закупить материалы для водопровода;
- подвести холодное и горячее водоснабжение;
- установить и подключить кабину.
В самом процессе работы над проектом PO не участвует и не может отдавать прямые распоряжения членам команды.
SCRUM-master
SCRUM-master является частью команды, но со специфическими обязанностями. Его основная задача – обеспечить рабочий процесс, т.е. предоставить всё, в чем нуждается команда во время работы. Также он берет на себя роль модератора во время совещаний, разрешает противоречия в команде и следит за исполнением принципов метода.

Команда
Это те люди, которые непосредственно работают над проектом; все специалисты разных профилей. Кроме них никто не имеет права вмешиваться в процесс работы. Обычно размер команды от 4 до 6 человек. Последующее увеличение числа членов затрудняет коммуникацию между ними. Это увеличивает сроки работы и лучшее решение в этом случае – разделить коллектив на 2 небольших команды.
Все члены команды берут на себя коллективную ответственность за задачи спринта как единое целое.
Инструменты SCRUM
Основной инструмент работы в SCRUM – это бэклог (backlog). Именно сюда вносит задачи собственник продукта. Но не просто добавляет их, а сортирует в порядке приоритета, который определяет он сам. Здесь же отмечается какие задачи в работе, какие выполнены и какие требуют доработки.
Для демонстрации состояния текущей работы во время спринта используется SCRUM-доска. Она имеет столбцы «сделать», «в работе» и «готово». В разделы наклеиваются стикеры с задачами согласно тому, в какой стадии находится задача. Иногда добавляют дополнительные поля, например, «на доработке». Можно использовать как физическую версию доски, так и электронную. Рекомендуется именно классическая: она всегда находится перед глазами и позволяет видеть общую картину, в отличие от электронной, которую нужно открывать отдельно.
Совещания в SCRUM
В SCRUM проводится много совещаний, и они различаются по целям и продолжительности. Остановимся на основных их видах.
Планирование спринта
На этом совещании планируется весь объем работ, который будет выполняться за следующий спринт. Даже при самых объемных задачах и длительном спринте оно не должно длиться более 8 часов. Оптимальное время – не более 4 часов. Совещание проходит в присутствии собственника продукта, который ставит основные задачи.
Должны быть чётко поставлены цели спринта и определены методы достижения этой цели. Конечная цель – представить пользователю рабочую часть продукта.
Определяется трудоёмкость тех задач, которые запланированы на текущий спринт. Члены команды должны пояснить PO и SCRUM-master как они планируют работать, чтобы достичь цели.
Ежедневное совещание
«Текучка», которая проводится ежедневно в одно и то же время в одном месте, лучше утром. Каждый член команды отвечает SCRUM-master только на 3 вопроса:
- Что я сделал вчера?
- Что я делаю сегодня?
- Какие есть проблемы?
При этом решение проблем не ищется в рамках ежедневного совещания. Всё общение должно занять не более 15 минут.
Демонстрация продукта
Презентация законченной части продукта, которая проводится в присутствии всех заинтересованных сторон, включая клиента. После демонстрации клиент даёт обратную связь по продукту и PO обновляет бэклог, заново расставляя приоритеты. Иногда для упорядочивания бэклога вводят дополнительное совещание.
Подведение итогов спринта
Обсуждение того, чего удалось достичь и чего не получилось. Если какая-то задача не выполнена в рамках спринта, то она не переносится на следующий, а возвращается в бэклог, т.к. на следующий спринт собственник продукта будет заново выставлять приоритеты задач. Обсуждаются все трудности и проблемы, которые возникли в процессе работы, и как их удалось решить.
На основании этих сведений корректируются сроки выполнения конкретных задач, уточняется количество ресурсов, которые потребуется для завершения работы, меняется оценка трудозатратности некоторых задач.
На все отводится максимум 2 часа.
Ретроспективное совещание
Здесь должны быть получены ответы на 3 вопроса:
- Что у нас получилось хорошо во время спринта?
- Что у нас получилось плохо?
- Что мы можем улучшить в следующем спринте?
Все эти вопросы касаются процессов реализации и не затрагивают конкретных технических задач. Время совещания – максимум 2 часа.
Распространенные ошибки и трудности внедрения SCRUM
Внешность без содержания. Многие владельцы бизнеса, внедряя SCRUM, в точности повторяют внешние атрибуты, но совершенно забывают о сути – людях. Одна из ценностей Agile Manifesto звучит так: люди и взаимодействие важнее процессов и инструментов. Подбирайте людей, которые разделяют ваши ценности, цели и стремления. Людей, которые готовы брать на себя коллективную ответственность за результат. Если этого нет, и люди просто «отрабатывают часы», то «смена упаковки» никак не скажется на производительности.
«Много разговоров». Некоторые отказываются от внедрения уже на первых этапах из-за множества разнообразных видов совещаний в SCRUM. У руководства и исполнителей возникает вопрос «когда работать, если столько разговаривать?». На самом деле нужно «пережить» несколько первых спринтов, пока это не войдет в норму.
SCRUM «не работает». Собственники бизнеса ожидают, что с первых спринтов все пойдет так же гладко, как описано в книгах, и ждут моментального эффекта. Но редко всё получается сразу. Можно сравнить внедрение SCRUM с обучением вождению автомобилем: нужно научиться нажимать правильные педали, переключать скорости, следить за другими участниками движения, дорогой, пешеходами. Ни у кого не получается это сразу, обучение происходит постепенно. Так и команде нужно привыкнуть к новым методикам и инструментам. Дайте им время.
Изменение правил «игры». Иногда где-то вскрывается проблема, которая «кочует» из спринта в спринт. И возникает сильное желание «подправить» правила, чтобы эта проблема больше не беспокоила. На самом деле нужно работать над устранением самой проблемы и радоваться, что SCRUM помог ее вскрыть.
Неподходящий бизнес. SCRUM не может решить все проблемы абсолютно любого бизнеса. Например, метод не работает, если в вашей сфере задачи слишком короткие для спринтов либо, наоборот, очень длинные. Просто попробуйте другой метод гибкого управления, например, Канбан.
Резюме
SCRUM не панацея. Некоторым он не подойдет из-за специфики бизнеса. Некоторые откажутся из-за специфики управления компанией, но при правильном и терпеливом внедрении этот метод гибкого управления может вывести компанию на новый уровень, подняв производительность на 200–300%, и такой результат не редкость.