Scrum
Что такое Scrum
Scrum - это один из способов организации рабочего процесса с помощью определенных принципов и практик. Точнее, скрам предполагает гибкую систему, или фреймворк для разработки и управления проектами, а также командный подход и нестандартное распределение задач внутри коллектива.
Можно предположить, что Scrum - это аббревиатура, которая означает ключевые принципы скрам-методологии, однако все не совсем так. Само слово scrum пришло из такого спорта, как регби. Там оно означает схватку, во время которой игроки одной команды обхватывают друг друга руками, чтобы вместе двигать мяч вперед и противостоять соперникам. Так скрам выглядит и в бизнесе: команда сплачивается вокруг создания одного конкретного продукта.
Большинство стратегий продакт-менеджмента предполагает наличие четкого плана, сразу учитывающего все риски, сроки реализации и затраты. Однако такие стратегии быстро устаревают на практике и требуют регулярного пересмотра в связи с непредсказуемостью внешних факторов и самого процесса разработки. Так, Scrum-методология учитывает изменчивость мира и потому базируется на совершенно иных принципах. Согласно данной методологии, невозможно спланировать рабочий процесс до мельчайших деталей, поэтому уровень неопределенности и человеческого фактора играет большую роль в разработке. В связи с этим скрам, наоборот, приветствует изменения и предполагает эксперименты вместо четкого следования плану.
Поэтому скрам и называют «гибким» методом, ведь он позволяет создать новый продукт в постоянно меняющихся условиях без ущерба для бюджета, качества будущего продукта и сроков реализации.
Scrum vs Agile: в чем разница
Scrum и Agile - разные подходы, но у них действительно есть и много общего. Например, их объединяет то, что и то и другое - гибкие структуры, которые предполагают нестандартные подходы к работе и направлены на постоянное изменение и улучшение продукта, несмотря на постоянно меняющиеся и неопределенные обстоятельства.
Однако разница между этими подходами заключается в том, что Scrum является всего лишь одной из методологий, которая базируется на принципах Agile. Таким образом, Agile - это совокупность гибких подходов и методик, которые соответствуют тем ценностям, что отражены в «Манифесте Agile». Это основной документ, в котором описаны все те принципы, согласно которым существует Agile.
Итак, базовые принципы Agile, которые находят отражение и в Scrum-методологии, звучат так:
-
Люди важнее инструментов
То есть сотрудники компании и отношения между ними важнее рабочих процессов и самих инструментов, используемых для достижения цели. Ведь основой любой деятельности всегда является коммуникация. Если взаимопонимание отсутствует, то даже самые отлаженные процессы не будут приносить нужный результат. Поэтому необходимо создать благоприятный психологический климат в команде и такие условия, чтобы все ее участники могли быстро обмениваться информацией, а в идеале - понимать друг друга с полуслова. В таком случае ничто не сможет помешать сплоченной команде в реализации проекта.
-
Цель - качественный продукт
Технология Agile сконцентрирована, прежде всего, на конечном результате, то есть создании нового продукта, который будет полностью удовлетворять запросы заказчика и потребности аудитории. Так, команды, работающие по принципам Agile, сконцентрированы на том, чтобы продукт как можно быстрее был готов к использованию. А ради этого можно пренебречь многочисленной бумажной волокитой. Поэтому в процессе работы оформляется только самая необходимая документация, без бюрократических формальностей.
-
Больше сотрудничества с аудиторией и обратная связи от заказчика
Согласно принципам Agile, в процессе создания продукта участвуют не только сами разработчики, но и заказчик. Кроме того, эта технология предполагает активное вовлечение аудитории в разработку продукта на всех стадиях производства, например, при помощи AB-тестирования. Это помогает достичь большего взаимопонимания и в итоге получить желаемый результат. Поэтому обратная связь от заказчиков и потребителей будущего продукта - важнейший принцип Agile-методологии.
-
Эксперименты вместо четкого плана
Технологии Agile и непосредственно Scrum называют эмпирическими, потому что они основаны на наблюдении, опыте и экспериментировании. К тому же всегда нужно быть готовым к изменениям, ведь во время рабочего процесса все может пойти не по плану. Например, измениться могут требования к самому продукту или же условия его производства. Поэтому коррективы следует вносить на каждом этапе разработки.
Именно эти четыре постулата стали основой для появления философии Agile. Таким образом, Scrum реализуется в ее рамках, отражая базовые принципы. Иными словами, Agile можно назвать образом мышления, философией или идеей, к которой нужно стремиться. В то время как Scrum - это конкретная методика, предполагающая определенные шаги и действия для реализации этой идеи.
Scrum vs Kanban: общее и отличия
Kanban - это также один из методов Agile по управлению рабочим процессом, но основанный, прежде всего, на визуализации цели, задач и дальнейшего прогресса.
Канбан-методология основывается на четырех ключевых принципах:
-
Визуализация рабочих процессов
Важный инструмент для визуализации - доска. Каждый ее столбец представляет определенный этап работы. А рабочие задачи, которые нужно решить на этом этапе, - это карточки на доске. Для разработки небольших проектов можно создать канбан-доску, используя пробковую или маркерную доску и стикеры. А в более крупных и сложных проектах целесообразнее использовать виртуальные онлайн-доски, возможности которых значительно шире. В любом случае такой подход к визуализации обеспечивает полную прозрачность работы всей команды.
-
Ограничение работы
Кабан-методология предполагает ограничение одновременно выполняющихся задач. Проще говоря, устанавливается лимит на количество задач, которые находятся на доске в одной колонке, то есть на одном этапе. Это, в свою очередь, способствует тому, что команда не «перегружается» и полностью доводит стоящие задачи до конца, прежде чем приступить к следующим.
-
Управление потоком
Это означает своевременное устранение всех неполадок или ошибок, допущенных в разработке продукта. Кроме того, управление потоком предполагает и минимизацию различных рисков, таких как брак товара. Для того чтобы следить за этим, все участники команды должны регулярно поддерживать актуальность канбан-доски. Именно так возможно выявлять слабые места и устранять возникающие проблемы, при этом непрерывно продолжая рабочий процесс.
-
Постоянное совершенствование
Необходимо не только обновлять канбан-доску, но и следить за тем, как работает вся система, как на нее реагирует команда и сам заказчик. Получать обратную связь и постоянно искать способы улучшения процессов - важный принцип для всех Agile-методологий.
Таким образом, суть Kanban заключается в непрерывном потоке задач, визуализации рабочих процессов и дальнейшей работе по кабан-доске. А вот Scrum предлагает использовать гораздо больше различных инструментов и практик, о которых вы узнаете далее.
Основные принципы Scrum-методологии
Для того чтобы работа над продуктом была наиболее эффективной, команда должна руководствоваться следующими принципами методологии Scrum:
-
Работа короткими циклами
Такие циклы называются спринтами. То есть спринт - это короткий, ограниченный по времени период, когда scrum-команда работает над выполнением определенного объема работы. Все дальнейшие действия планируются исключительно в рамках одного такого спринта. Кроме того, перед каждым рабочим циклом ставятся определенные более узкие задачи и цели, которых необходимо достичь к завершению одного спринта. Иными словами, Scrum-методология предлагает планировать не весь проект сразу, а регулярно по одному рабочему циклу. Такой формат позволяет оперативно реагировать на возникающие трудности и при необходимости корректировать неполадки.
-
Гибкость
Гибкость процесса означает то, что команда всегда готова к изменениям, например, стратегии или условий разработки продукта. Для того чтобы не упустить момент, после каждого спринта необходимо проводить тестирование продукта. Только так можно выявить возникшие ошибки, которые учитываются при планировании следующего рабочего цикла. Именно эти действия помогают и рабочей группе, и самому проекту становиться мобильнее и гибче.
-
Участие заказчика и пользователей в работе над продуктом
Это базовый принцип, заимствованный из философии Agile, описанной выше. Обратная связь заказчика и пользователей позволяет понять, какие изменения следует внести в продукт для наибольшего удобства потребителей.
-
Тесное взаимодействие членов команды друг с другом
Это также основной постулат всех гибких методологий: участники команды работают вместе как единое целое. И даже достижение цели - это следствие работы нескольких человек на один результат.
Ценности Scrum-методологии
Scrum основан на пяти базовых ценностях:
-
Преданность, или приверженность. То есть в рамках методологии Scrum все сотрудники или члены команды должны осознавать общие цели, быть преданы им и оказывать друг другу поддержку для достижения этих целей.
-
Сфокусированность, или сосредоточенность. Главным для всех членов Scrum-команды должно быть достижение максимального прогресса на пути к цели. Для этого необходимо полностью сосредоточиться на разработке и дальнейшем улучшении продукта.
-
Открытость. Не только члены команды, но и руководство, заказчики, словом, все заинтересованные лица должны быть открыты к обсуждению всех возникающих вопросов и проблем.
-
Взаимоуважение. Все участники Scrum-команды уважают друг друга и не позволяют себе каких-либо неэтичных поступков.
-
Смелость. Это позволяет всем участникам команды предлагать самые смелые и необычные решения проблем, которые часто оказываются верными и наиболее эффективными.
Таким образом, вся деятельность сотрудников должна быть направлена именно на усиление этих ценностей, а не наоборот - пренебрежение ими. В том случае, если все участники команды разделяют базовые ценности, формируются три основных «столпа» Scrum-методологии, которые и поддерживают рабочий процесс:
-
прозрачность,
-
инспекция,
-
адаптация.
Прозрачность предполагает, что все участники Scrum-команды готовы делиться своими достижениями и, наоборот, сложностями, возникающими на пути к цели. Ведь методология Scrum нацелена на анализ и выявление причин как успеха, так и неудач. Необходимо помнить о том, что ключевая задача - качественный продукт, поэтому обращайте внимание на все тонкости производства, беспокоящие или вызывающие у вас вопросы. Не следует скрывать какие-либо проблемы или допущенные ошибки.
Следующий «столп» - инспекция. Иными словами, это проверка того, как протекает процесс разработки и улучшения продукта. Для этого необходимо ответить на вопросы: что дается легче всего, а что вызывает трудности, почему так происходит, как устранить эти неполадки и что предпринять для улучшения работы. Это позволит не только решить уже возникшие проблемы, но и устранить только назревающие, что в дальнейшем приведет к главной цели - качественному продукту.
Последний «столп» связан с адаптацией. Это означает, что все участники скрам-команды должны быть готовы адаптировать все процессы для решения выявленных проблем. То есть в том случае, если проблемы все-таки обнаружены, сразу следует подумать, как наиболее эффективно можно изменить ситуацию. Например, внести изменения в производство самого продукта, преобразовать условия труда для сотрудников, обсудить новые договоренности с заказчиком.
Эти три «столпа» тесно связаны друг с другом, поэтому не следует пренебрегать хотя бы одним из них. Согласитесь, если регулярно проводить инспекцию, но в дальнейшем не уделять внимания адаптации, то в этом не будет смысла, ведь конечная цель - создание максимально качественного продукта.
Состав скрам-команды
Scrum-командой называют рабочую группу, состоящую из 5-8 специалистов. Это наиболее оптимальное количество, однако встречаются группы и с меньшим числом участников. А вот если работников, наоборот, больше 8 человек, то взаимодействие между ними осложняется, что, в свою очередь, снижает работоспособность и продуктивность всей команды.
В состав команды входят:
-
Владелец продукта.
Это тот человек, который представляет продукт и по сути является посредником между заказчиком, пользователями и командой разработчиков. Но чаще всего участие в скрам-команде принимает и сам заказчик.
-
Scrum-мастер.
Это должен быть такой специалист, который способен привести команду к успеху. При этом он должен не только управлять рабочей группой, но и следить за исполнением принципов Scrum-методологии. Поэтому такому специалисту важно соблюдать баланс: не давить на сотрудников, но и не делать всю работу самому. При этом он также не обязан самостоятельно распределять обязанности между участниками команды - scrum-мастер исключительно помогает и направляет, при этом он способен решить все сложности, тормозящие процесс создания продукта.
-
Сами разработчики.
Состав scrum-команды предполагает нескольких специалистов с различными навыками и способностями. Поэтому наименование «разработчики» условное, ведь в составе рабочей группы могут быть и дизайнеры, и программисты, и маркетологи, в зависимости от самого продукта. Именно такое разнообразие позволяет одной команде из нескольких человек создать продукт с нуля. Кстати, это также важное уточнение: одна команда = один готовый продукт.
Этапы работы скрам-команды
Можно выделить следующие этапы создания скрам-команды и ее дальнейшей деятельности:
Этап 1. Сбор скрам-команды
Прежде всего, следует определить тех специалистов, которые и образуют состав скрам-команды, ведь именно от их слаженной работы будет зависеть качество будущего продукта. Помните, что при методе Scrum все участники группы работают как единое целое. Также состав команды не должен меняться, поэтому важно, чтобы в нее изначально входили профессионалы, которые разделяют все Scrum-ценности.
Этап 2. Определение владельца продукта
Это может быть заказчик или его представитель. В любом случае это должен быть тот человек, который готов взаимодействовать в команде, давать обратную связь, делиться своим опытом и предлагать новые интересные решения на всех этапах разработки.
Этап 3. Выбор scrum-мастера
Scrum-мастер - важнейшая часть команды, ведь именно от него зависит, насколько комфортно будет работать всем участникам команды. Кроме того, важно понимать, что у сложившейся команды не должно быть лидера. Вся деятельность строится на взаимном обмене мнениями и знаниями, а scrum-мастер выступает в роли куратора и только помогает коллективу сплотиться. Поэтому scrum-мастер должен быть опытным специалистом, знакомым со Scrum-методологией не только в теории, но и на практике.
Этап 4. Составление бэклога продукта
Бэклог - это упорядоченный перечень тех элементов, функций и задач, которые должен содержать в себе создаваемый продукт. Его необходимо составить прежде, чем приступить непосредственно к началу разработки. Иными словами, бэклог - это список всех желаемых возможностей продукта и требований к ним, которые необходимо согласовать с владельцем продукта и всеми участниками. В дальнейшем этого списка и следует придерживаться.
Этап 5. Планирование одного спринта
Все спринты начинаются с планирования. То есть в начале спринта проводится небольшое совещание по его планированию, на котором команды определяют, чего можно добиться в спринте и каким образом. Участники scrum-команды вместе анализируют бэклог продукта и принимают дальнейшие решения. В конце совещания по планированию каждый член рабочей группы должен четко представлять, что должно быть реализовано. Иными словами, на каждый спринт устанавливаются ключевая цель и задачи, которых разработчики должны достичь к концу этого рабочего цикла. Так получается бэклог самого спринта, то есть список задач на этот период. Кроме того, на данном этапе следует установить дедлайны для каждой из задач.
Этап 6. Проведение scrum-митинга, или stand up встречи
Daily scrum - это ежедневное короткое, 15-минутное (или даже меньше) собрание для обсуждения прогресса и выявления препятствий. Это может называться и daily stand-up, потому как его рекомендуют проводить стоя, чтобы не задерживать участников дольше положенного времени. Суть такой встречи заключается в анализе проделанной работы и выявлении прироста (так в Scrum-методологии называют шаг на пути к цели). Для этого каждый член группы должен ответить на несколько вопросов, например:
-
Что мне удалось сделать с момента прошлой встречи?
-
Чем необходимо заняться сегодня?
-
Какие есть препятствия или сложности?
В данном случае задача scrum-мастера состоит в том, чтобы понять, как обстоят дела, и если что-то идет не так, то помочь команде справиться с трудностями.
Этап 7. Подключение scrum-доски
Это один из приемов для визуализации рабочего процесса, который используется и в Kanban-методологии. Аналогично и scrum-команда вешает или создает виртуальную доску, которая делится на определенные части и отражает все этапы работы над проектом. Такой довольно простой способ помогает всем членам команды следить за общим ходом и прогрессом разработки.
Этап 8. Ретроспектива спринта
Обзор достигнутых результатов и тестирование продукта проводятся после того, как один спринт завершен. Тогда необходимо протестировать продукт и выяснить, выполнены ли все поставленные на этот цикл работы задачи. В зависимости от этого происходит планирование и генерация идей для следующего спринта, и так далее.
Scrum-методологию можно использовать в абсолютно любой сфере деятельности, а участники scrum-команд могут быть специалистами разных областей. Но наиболее часто Scrum используется в командах разработчиков программного обеспечения. Это позволяет командам быстрее реагировать на изменение требований и не выходить за рамки определенного бюджета. Так, у самого Scrum-подхода сложно выделить минусы, однако важно учитывать, в каком случае его использование будет наиболее целесообразно. Для того чтобы этот метод оказался эффективен, сотрудники должны быть готовы к экспериментам. В том случае, если компания успешно использует отлаженный алгоритм для создания новых продуктов, использование Scrum-методологии можно отсрочить.