Управление проектами скрам

Содержание

История

Схватка (Scrum) в регби между Newport и London Welsh в 1904

Подход впервые описали Хиротака Такэути (en:Hirotaka Takeuchi) и Икудзиро Нонака(en:Ikujiro Nonaka) в статье The New Product Development Game (Harvard Business Review, январь-февраль 1986). Они отметили, что проекты, над которыми работают небольшие команды из специалистов различного профиля, обычно систематически производят лучшие результаты, и объяснили это как «подход регби».

В 1991 году ДеГрейс и Шталь в книге «Нечестивые проблемы, праведные решения» ссылались на этот подход, как на SCRUM (толкотня; схватка вокруг мяча (в регби)), спортивный термин, приведенный в статье Такэути и Нонакой. Кен Швабер (en:Ken Schwaber) в начале 1990-х использовал подход, который привел SCRUM в его компанию. Впервые методология SCRUM была представлена на общее обозрение задокументированным, четко сформированным и описанным совместно Швабером и Джефом Сазерлендом (en:Jeff Sutherland) на OOPSLA’95 в Остине. Швабер и Сазерленд на протяжении следующих лет работали вместе, чтобы обработать и описать весь их опыт и лучшие практические образцы для индустрии в одно целое, в ту методологию, что известна сегодня как SCRUM. Швабер объединил усилия с Майком Бидлом (Mike Beedle) в 2001 году, чтобы детально описать метод в книге «Agile Software Development with SCRUM».

Определения

Скрам-процессы

SCRUM

SCRUM (SCRibing Unified Methodology или SCRapbooking Unified Methodology или Sprint Continious Rugby Unified Methodology) — набор принципов, ценностей, политик, ритуалов, артефактов, основанных на скрайбинге и скрапбукинге, на которых строится процесс SCRUM-разработки, позволяющий в жестко фиксированные и небольшие по времени итерации, называемые спринтами (sprints), предоставлять конечному пользователю работающий продукт с новыми бизнес-возможностями, для которых определен наибольший приоритет. Методология основана на лего-фасилитации, тактиках и стратегиях из регби и бега на короткие дистанции (спринта), с помощью артефактов и ритуалов скрайбинга и скрапбукинга. Возможности к реализации в очередном спринте определяются в начале спринта на совещании Sprint Planning Meeting планирования методом Planning Poker и не могут изменяться на всем его протяжении. При этом строго фиксированная небольшая длительность спринта придает процессу разработки предсказуемость и гибкость.

Спринт

Спринт — итерация в скраме, в ходе которой создается инкремент бизнес-продукта. Жестко фиксирован по времени. Длительность одного спринта от 1 до 4 недель. Чем короче спринт, тем более гибким является процесс разработки, релизы выходят чаще, быстрее поступают отзывы от потребителя, меньше времени тратится на работу в неправильном направлении. С другой стороны, при более длительных спринтах скрам-команда уменьшает издержки на совещания, демонстрации продукта и т. п. Разные команды подбирают длину спринта согласно специфике своей работы, кросс-функциональности команд и требований, часто методом проб и ошибок. Для оценки объема работ в спринте можно использовать предварительную оценку, измеряемую в очках истории. Предварительная оценка длины спринта фиксируется в бэклоге проекта.

Артефакты SCRUM

Диаграмма сгорания задач (Burndown chart)

Основная статья: Диаграмма сгорания задачДиаграмма отображает завершенный спринт. Показывает оставшиеся нерешенные задачи и трудозатраты, необходимые для их завершения в расчете на 21 рабочий день.

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

Данные диаграммы необходимо ежедневно обновлять, чтобы в реальном времени показывать подвижки и издержки в работе над спринтом и проектом, доступные для всех членов SCRUM-команды: скрам-мастера и скрам-владельца продукта.

Диаграмма сгорания работ для спринта — показывает, сколько задач сделано и сколько еще остается сделать в текущем спринте.

Журнал пожеланий проекта

Журнал пожеланий проекта (англ. Project backlog) — это список требований к функциональности, упорядоченный по их степени важности, подлежащих реализации. Элементы этого списка называются пользовательскими историями (user story) или элементами беклога (backlog items). Журнал пожеланий проекта открыт для редактирования для всех участников скрам-процесса. Project backlog ведется SCRUM Product Owner.

Журнал пожеланий спринта

Журнал пожеланий спринта (англ. Sprint backlog) — содержит функциональность, выбранную владельцем продукта из журнала пожеланий проекта. Все функции разбиты по задачам, каждая из которых оценивается скрам-командой. На Sprint Planning Meeting команда оценивает объем работы, который нужно проделать для завершения спринта методом Planning Poker.

Канбан-доска

Канбан-доска должна состоять как минимум из трех колонок: «сделать» (англ. to-do), «в процессе» (in progress), «сделано»(done). При разработке ПО SCRUM канбан-доска обычно включает следующие колонки в соответствии со статусом задач: обсуждается (backlog), согласовано (ready), кодируется (coding), тестируется (testing), подтверждается (approval) и сделано (done). На доску в соответствующий столбец прикрепляются канбан-карточки. Вместо специальных канбан-карточек, которые обычно обозначают потребность или пропускную способность, вместе с доской используются магниты, пластиковые фишки, цветные шайбы или стикеры для представления рабочих элементов и процессов. Каждый из этих объектов представляет собой этап производственного процесса и движется по доске, по мере прогресса. Такое движение соответствует движению SCRUM-процесса производства по Burndown Chart сверху вниз. Часто используется электронная Канбан-доска.

Требования к канбан-доске и канбан-карточкам:

  • стирание надписей происходит легко даже спустя несколько недель
  • карточка легко магнитится к любым металлическим доскам и поверхностям
  • края карточки не расходятся при многократном снятии с доски
  • Для надписей используется маркер на водной основе

Цель спринта (Sprint Goal)

Это краткое описание бизнес-цели, ради которой выполняется данный спринт. Цель на спринт помогает команде принимать бизнес-обоснованные решения. Этот артефакт необходим для того, чтобы команда проекта могла самостоятельно принимать решение в случае появления альтернативных путей решения бизнес-задачи.

Инкремент продукта

Инкремент Продукта — это готовый продукт в конце спринта. Показывают заинтересованным на демонстрации, чтобы собрать отзывы и решить, что делать с продуктом дальше.

История пользователя (User Story)

Требуемую бизнес-функциональность, которую добавляют в бэклог, часто называют историей. Зачастую история имеет следующую структуру: «Будучи пользователем <тип пользователя> я хочу сделать <действие>, чтобы получить <результат>». Такая структура удобна тем, что понятна как разработчикам, так и заказчикам.

Остановка спринта (Abnormal Termination)

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

Очки за пользовательскую историю (Story Points)

Абстрактная метрика оценки сложности истории, которая не учитывает затраты в человекочасах. Обычно используют одну из следующих шкал:

  • ряд Фибоначчи (1,2,3,5,8,13,21,34,55);
  • линейную шкалу (1,2,3,4 … n);
  • степень двойки (1,2,4,8 … 2n);
  • размеры одежды (XS, S, M, L, XL).

Задачи истории спринта (Sprint Story Tasks)

Добавляются к историям спринта. Выполнение каждой задачи оценивается в часах. Каждая задача не должна превышать 12 часов (зачастую команда настаивает, чтобы максимальная продолжительность задачи равнялась одному рабочему дню).

Критерий готовности (Definition of Done, DoD)

Критерии, определяющие степень готовности элемента из журнала пожеланий пользователя.

Скорость скрам-команды (Velocity)

Общее количество очков, набранных скрам-командой за предыдущий спринт. Данная метрика помогает команде понять, сколько историй она может сделать за один спринт.

Роли в скрам-процессе

По методике Scrum в производственном процессе есть определенные роли, разбитые на две группы «свиней» и «кур». Эти названия были использованы из-за шутки

Свинья идет по дороге. Курица смотрит на нее и говорит: «А давай откроем ресторан!» Свинья смотрит на курицу и отвечает: «Хорошая идея, и как ты хочешь его назвать?» Курица думает и говорит: «Почему бы не назвать „Яичница с беконом“?». «Так не пойдет, — отвечает свинья, — ведь тогда мне придется полностью посвятить себя проекту, а ты будешь вовлечена только частично».

Свиньи создают продукт, тогда как куры заинтересованы, но не настолько — ведь им все равно, будет ли проект удачным или нет, на них это мало отразится. Требования, пожелания, идеи и влияние кур принимаются во внимание, но им не разрешают непосредственно включаться в ход скрам-проекта.

Основные роли (Core roles) в методологии скрам («Свиньи»)

«Свиньи» полностью включены в проект и в скрам-процесс.

Скрам-мастер (SCRUM Master) — проводит совещания (Scrum meetings) следит за соблюдением всех принципов скрама, разрешает противоречия и защищает команду от отвлекающих факторов, проводит фасилитацию митингов, отвечает за учет, хранение и выдачу SCRUM-инвентаря. Данная роль не предполагает ничего иного, кроме корректного ведения скрам-процесса. Таким образом скрам-мастер есть сервант-лидер (Servant Leader) команды.

Главным инструментом скрам-мастера является чемодан фасилитатора, куда входят коробочки для карточек, для аксессуаров, для маркеров, клейкие карты, булавки, маркеры, канцелярский нож, клейкая лента.

Скрам-владелец продукта (SCRUM Product Owner) — представляет интересы конечных пользователей и других заинтересованных в продукте сторон.

Скрам-команда (SCRUM Team) — кросс-функциональная команда разработчиков проекта, состоящая из специалистов разных профилей: тестировщиков, архитекторов, аналитиков, программистов и т. д. Размер команды составляет от 5 до 9 человек. Команда является единственным полностью вовлеченным участником разработки и отвечает за результат как единое целое. Никто, кроме скрам-команды, скрам-мастера и владельца продукта не может вмешиваться в процесс разработки на протяжении спринта. Кросс-функциональность команды позволяет максимально эффективно планировать затраты на реализацию бизнес-требований и в сжатые сроки поставлять реально работающие бизнес-приложения в полном соответствии с изменяющимися требованиями заказчика.

Дополнительные роли (Ancillary roles) в методологии скрам («Куры»)

  • Пользователи (Users)
  • Стекхолдеры (Stakeholders) — лица, которые инициируют проект (бизнес-заказчики) и для кого скрам-проект будет приносить выгоду. Они вовлечены в скрам только во время обзорного совещания по спринту (Sprint Review).

Пользовательские истории

Обязательные поля

  • ID — уникальный идентификатор, порядковый номер, применяемый для идентификации историй в случае их переименования.
  • Название (Name) — краткое описание истории. Оно должно быть однозначным, чтобы и разработчики, скрам-мастер, и владелец продукта могли понять, о чем идет речь и отличить одну User Story от другой.
  • Важность (Importance) — степень важности данной истории, по мнению владельца продукта. Обычно представляет собой иррациональное число, иногда для этой цели используются числа Фибоначчи. Чем больше значение, тем выше приоритет.
  • Предварительная оценка (initial estimate) — начальная оценка объема работ, необходимого для реализации истории по сравнению с другими историями. Измеряется в story point’ах. Приблизительно соответствует числу «идеальных человеко-часов».
  • Как продемонстрировать (how to demo) — краткое пояснение того, как завершенная задача будет продемонстрирована в конце спринта. Данное поле может представлять собой код автоматизированного теста для приемо-сдаточного испытания.
  • Критерии приемки (acceptance criteria) — значимые детали реализации истории, уточняющие требования владельца продукта, собранные всеми участниками SCRUM-команды при планировании спринта.

Дополнительные поля

Иногда также используются дополнительные поля в бэклоге проекта в основном для того, чтобы помочь SCRUM-владельцу продукта определиться с его приоритетами.

  • Категория (track). Например, «панель управления» или «оптимизация». При помощи этого поля скрам-владелец продукта может легко выбрать все пункты категории «оптимизация» и установить им низкий приоритет.
  • Компоненты (components) — указывает, какие компоненты (например, база данных, сервер, клиент) будут затронуты при реализации истории.
  • Инициатор запроса (requestor). владелец продукта может захотеть хранить информацию о всех заказчиках, заинтересованных в данной бизнес-задаче. Это нужно для того, чтобы держать их в курсе дела о ходе выполнения работ в ходе спринта.
  • ID в системе учета дефектов (bug tracking ID) — если вы используете отдельную систему отслеживания ошибок, тогда в описании истории полезно хранить ссылки на все баги, которые к ней относятся.

Совещания (ритуалы SCRUM)

В начале спринта SCRUM Product Owner вносит в Product Backlog новые User Story и удаляет сделанные. Затем проводятся совещания.

Планирование спринта (Sprint Planning Meeting)

Происходит в начале новой итерации спринта.

  • Из бэклога проекта выбираются задачи, обязательства по выполнению которых за спринт принимает на себя команда;
  • На основе выбранных задач создается бэклог спринта. Каждая задача оценивается в идеальных человеко-часах;
  • Решение задачи не должно занимать более 12 часов или одного дня. При необходимости задача разбивается на подзадачи;
  • Обсуждается и определяется, каким образом будет реализован этот объем работ;
  • Продолжительность митинга ограничена сверху 8 часами в зависимости от продолжительности спринта, опыта команды и т. п.
    • (первая часть совещания), участвуют скрам-мастер, владелец продукта и скрам-команда: выбирают задачи из бэклога продукта;
    • (вторая часть совещания), участвует только скрам-команда: обсуждают технические детали реализации, наполняют бэклог спринта.

Покер планирования (Planning Poker)

Основная статья: Покер планирования

Покер планирования (англ. Planning Poker, а также англ. Scrum poker) — техника оценки, основанная на достижении договоренности, главным образом используемая для оценки сложности предстоящей работы или относительного объема решаемых задач при разработке программного обеспечения.

Planning Poker проводится на Sprint Planning Meeting.

Для проведения покера планирования необходимо подготовить список обсуждаемых функций и несколько колод пронумерованных карт. Колода карт содержит карты 0, ?, 1, 2, 3, 5, 8, 13, 20, 40, 100, «?», «Чашка кофе». Знак вопроса означает, что «игрок» не понял до конца смысл обсуждаемого или не обладает достаточной информацией, чтобы оценить ее. Чашка кофе, в свою очередь, означает «Я устал, давайте передохнем».

Каждому участнику обсуждения выдается по одной колоде карт. Все колоды идентичны друг другу.

Обсуждение проводится следующим образом.

Скрам-мастер, не участвующий в обсуждении, ведет собрание.

Владелец продукта представляет краткие обзоры каждого из пунктов. Команда может задавать вопросы и вести обсуждение предложений и рисков. Итог обсуждения записывается скрам-мастером. Участники выбирают по одной карте и кладут их рубашкой вверх, показывая таким образом, что выбор сделан. Числовые достоинства карт могут использоваться по-разному: они могут означать количество дней, наиболее подходящие дни или относительные единицы сложности (англ. story points).

Каждый участник называет свою карту и переворачивает ее.

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

Таймер используется для обеспечения структурированности обсуждения; скрам-мастер может в любое время перезапустить таймер, по истечении времени все обсуждения должны быть прекращены, затем начинается новый круг покера.

Ежедневное стоячее SCRUM-совещание (Daily SCRUM)

  • начинается в одно и то же время в одном месте;
  • все могут наблюдать, но только «свиньи» говорят;
  • в митинге участвуют SCRUM Master, SCRUM Product Owner и SCRUM Team;
  • длится ровно 15 минут;
  • все участники во время Daily SCRUM стоят (митинг в формате Daily Standup).

SCRUM-мастер задает каждому члену SCRUM-команды три вопроса:

  • что я сделал с момента прошлой встречи для того, чтобы помочь команде разработки достигнуть цели спринта?
  • что я сделаю сегодня для того, чтобы помочь команде разработки достичь цели спринта?
  • вижу ли я препятствия для себя или команды разработки, которые могли бы затруднить достижение цели спринта? (Над решением этих проблем методом фасилитации работает скрам-мастер. Обычно это решение проходит за рамками ежедневного совещания и в составе лиц, непосредственно затронутых данным препятствием.)

Скрам над скрамом (SCRUM of SCRUMs)

Если коллектив больше 11 человек то команда больше рекомендуемого SCRUM размера. Для расширения SCRUM предложена методика SCRUM of SCRUMs.

Тогда коллектив разбивается на несколько SCRUM-команд. В каждой cвой скрам-мастер и скрам-владелец продукта.

Команды проводят Daily SCRUM.

После ежедневного скрам-совещания проводится митинг SCRUM of SCRUMs (SoS). Это значит следующее. От каждой команды выбирается по представителю. Представители разбиваются по 5-9 человек. Каждой группе назначается главный скрам-мастер (Chief SCRUM Master) и главный скрам-владелец продукта (Chief SCRUM Product Owner) из числа скрам-мастеров и скрам-владельцев продукта, участвующих в проекте. Команда представителей из разных SCRUM Team называется SCRUM of SCRUMs Team. В таком составе проводят 15-минутный стоячий скрам-митинг — SCRUM of SCRUMs (SoS) или Meta SCRUM или Scaled Daily SCRUM(SDS).

Кен Швабер рекомендует проводить SCRUM of SCRUMs каждый день.

Однако некоторые команды SCRUM of SCRUMs проводят не каждый день, а 2—3 раза в неделю. Это нарушает базовые принципы SCRUM и является классическим примером SCRUMbut. Это не позволяет в полной мере использовать все преимущества SCRUM.

SCRUM of SCRUMs позволяет нескольким скрам-командам обсуждать работу, фокусируясь на общих областях и взаимной интеграции. Главный скрам-мастер задает всем членам SCRUM of SCRUMs-команды четыре вопроса, три первых вопроса повторяют вопросы Daily SCRUM:

  • Что каждая команда сделала с момента предыдущего совещания SCRUM of SCRUMs для достижения цели спринта?
  • Что каждая команда сделает к следующему ежедневному совещанию SCRUM of SCRUMs для достижения цели спринта?
  • Есть ли проблемы, мешающие команде достичь цели спринта?
  • Нужно ли другой команде сделать что-то из задач вашей команды для того чтобы помочь ей достичь цели спринта?

Если SCRUM of SCRUMs не охватывает весь коллектив, может быть проведен митинг SCRUM of SCRUM of SCRUMs (SCRUM-3, SoSoS), SCRUM of SCRUM of SCRUM of SCRUMs (SCRUM-4, SoSoSoS), и так далее. Последний MetaSCRUM называется Executive Meta SCRUM(EMS) или Executive Action Team(EAT). Такой подход позволяет всего за час организовать работу 4096 человек.

Порядок проведения SCRUM of SCRUMs такой же как у Daily SCRUM —

  • в одно и то же время, в одном и том же месте,
  • все могут наблюдать, но только «свиньи» говорят,
  • в митинге участвуют Chief SCRUM Master, Chief SCRUM Product Owner и SCRUM of SCRUMs Team,
  • длится ровно 15 минут,
  • все участники SCRUM of SCRUMs стоят (митинг в формате Daily Standup).

Обзор итогов спринта (Sprint review meeting)

Проводится в конце спринта.

  • Команда демонстрирует прирост инкремента продукта всем заинтересованным лицам.
  • Все члены команды участвуют в демонстрации (один человек на демонстрацию или каждый показывает, что сделал за спринт).
  • Нельзя демонстрировать незавершенную функциональность.
  • Ограничена четырьмя часами в зависимости от продолжительности итерации и прироста функциональности продукта.

Груминг беклога (Grooming)

Беклог отправляется в парикмахерскую для того, чтобы скрам-команда и владелец продукта могли:

  • Добавить, убрать или разбить элементы беклога продукта (PBI).
  • Уточнить или дать новые оценки.
  • Изменить порядок следования элементов беклога продукта.
  • Обсудить и прояснить требования.

Ретроспективное совещание (Retrospective meeting)

Проводится в конце спринта.

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

Обучение и сертификация специалистов по SCRUM

В SCRUM важнейшую роль играют квалифицированные SCRUM Master, SCRUM Product Owner и SCRUM Team. Основатели SCRUM и сертифицированные тренеры (CST) проводят обучающие курсы с последующей сертификацией специалистов по SCRUM. Обязательную основу для всех составляют навыки скрам-мастера. Далее идет специализация на SCRUM Master, SCRUM Product Owner и SCRUM Developer (член SCRUM Team). Успешно сдавшим экзамен выдаются сертификаты: Certified SCRUM Master (CSM), Certified SCRUM Product Owner (CSPO), Certified SCRUM Developer (CSD), Professional SCRUM Master (PSM), Professional SCRUM Product Owner (PSPO), Professional SCRUM Developer (PSD).

Возможно дальнейшее обучение с выдачей сертификата тренера по SCRUM — Certified SCRUM Trainer (CST) или Professional SCRUM Trainer (PST). К сертификации на CST допускаются лица, имеющие сертификат CSM или CSPO.

В рамках сертификации PST выделяются тренеры скрам-мастеров (PSSMT), скрам-владельцев продукта (PSPOT) и скрам-разработчиков (PSDT) . Для допуска к курсам тренеров — train-the-trainer (TTT) и сертификации требуются:

  • на PSSMT — сертификат PSM III
  • на PSPOT — сертификаты PSM I и PSPO I
  • на PSDT — сертификаты PSM I и PSD I.

SCRUMbut

Только следуя всем правилам SCRUM, можно прийти к успеху проекта. Каждый принцип SCRUM приносит прибыль, а отказ от него — убыток. В этом заключается особенность SCRUM.

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

Исследования показали, что SCRUMbut снижает ежегодную прибыль с 400 % до 0—35 %. При этом за 100 % принята производительность работы по «водопаду», а за 400 % — по SCRUM. Большое исследование причин и последствий SCRUMbut проведено в работе «ScrumBut in Professional Software Development».

Классические примеры SCRUMbut:

  • Проведение Daily SCRUM или SCRUM of SCRUMs не каждый день
  • Отсутствие ретроспектив
  • Спринты длиннее 4 недель
  • Отсутствие Definition Of Done

Большое число примеров SCRUMbut приведено на сайте Джеффа Сазерленда — SCRUM ALLIANCE.

Масштабирование SCRUM (Scaling SCRUM)

Кроме классической методики SCRUM of SCRUMs (SoS) применяют методики LeSS (от 2 до 8 команд), Nexus, RAGERAGE | Scaled Agile Transformations | Process | cPrime</ref>, DAD, APM, SAFe. Для очень больших проектов вместо LeSS применяют LeSS Huge(8+ команд). Только методики SoS и Nexus созданы Сазерлендом и Швабером и преподаются на сертификационных курсах CSM и PSM.

Примечания

  1. «scrum» перевод английский-русский. Lingvo.abbyyonline.com. Проверено 4 мая 2016.
  2. 1 2 3 5 ключевых инструментов метода SCRUM (27 апреля 2017). Проверено 21 октября 2018.
  3. Agile — гибкий подход к управлению проектами (4 ноября 2016). Проверено 21 октября 2018.
  4. https://www.scrumalliance.org/ScrumRedesignDEVSite/media/ScrumAllianceMedia/Global%20Scrum%20Gatherings/2017%20San%20Diego/Presentations/JusticeJoe_Agile_In_Military_Hardware_SGSD.pdf
  5. 1 2 5 ключевых инструментов метода SCRUM
  6. Leslie Hulet Stahl: Wicked Problems, Righteous Solutions: A Catalog of Modern Engineering Paradigms Yourdon Press Computing Series, 1990 (первое издание), ISBN 0-13-590126-X
  7. OOPSLA 2006
  8. Schwaber, Ken. Agile software development with Scrum / Ken Schwaber, Beedle. — Prentice Hall, 2002. — ISBN 0-13-067634-9.
  9. https://www.scribing.it
  10. https://www.scrapbooking.com
  11. Методология SCRUM. Управление проектами SCRUM
  12. Zillion — Презентации — Скрайбинг как способ визуального мышления
  13. Скрапбукинг: с чего начать создание открыток и альбомов
  14. http://lego-sp.ru
  15. Что такое Lego Serious Play? Блог о проактивном бизнесе
  16. Спринт — рывок; бросок; бег на короткую дистанцию.
  17. Ken Schwaber. Agile Project Management with Scrum. — Microsoft Press, 2004. — 163 с. — ISBN 073561993X.
  18. Материалы для фасилитации | Москва | FTools
  19. Онлайн-доска Kanban для бизнеса | Программное обеспечение визуального управления проектами | Kanban Tool
  20. Verhov Whiteboards — Маркерные карточки для досок Agile: Scrum, Kanban 4×7
  21. Что такое Скрам — Аджайл для новичков
  22. Критерии приемки для требований в Agile. Devprom ALM. Проверено 3 апреля 2016.
  23. (PDF) Scrum of Scrums Solution for Large Size Teams Using Scrum Methodology
  24. Scrum of Scrums (SoS) Definition | Innolution
  25. Role of a Chief Scrum Master | SCRUMstudy Blog
  26. Endava
  27. 1 2 The Scrum of Scrums meeting — Manifesto
  28. Jeff Sutherland launches the Scrum@Scale Guide | Henny Portman’s Blog
  29. 1 2 3 Scrum Alliance Member-Submitted Informational Articles
  30. 1 2 3 4 What is ScrumBut? | Scrum.org
  31. 1 2 ITKaiZenClub «Scrum, but..» или типичные проблемы при внедрении Scrum, 8 февраля | DOU
  32. 1 2 (PDF) Scrum+:: Is it «ScrumBut» or «ScrumAnd»
  33. The Scrum Team and Scrum of Scrums
  34. https://webcache.googleusercontent.com/search?q=cache:xATQq4wnz4wJ:https://www.slideshare.net/xdatap1/agile-organization-with-scrumscale-vimar-spa-a-real-example+&cd=7&hl=ru&ct=clnk&gl=ru&client=opera
  35. 1 2 Agile In Military Hardware. How the SAAB Gripen became the world’s most cost effective military aircraft / Sutherland and Joe Justice, 2017 (англ.)
  36. Scaling Agile Series Part 2: A look at Two of Four Popular Agile Scaling Frameworks: SoS and LeSS — Gorilla Logic
  37. » Ищем гребешок для причесывания Беклога Блог о проактивном бизнесе
  38. Certified Scrum Trainer (CST) Certification Application Process
  39. PSD Trainer Selection Process and Application | Scrum.org
  40. PSPO Trainer Selection Process and Application | Scrum.org
  41. PSM Trainer Selection Process and Application | Scrum.org
  42. https://projekter.aau.dk/projekter/files/239952102/Thesis___Final_2016_08_22.pdf
  43. Scrum Alliance Member-Submitted Informational Articles
  44. Large-Scale Scrum (LeSS) — Алексей Кривицкий — Agile-коуч и Scrum-тренер
  45. 1 2 3 Как масштабировать Agile? | Открытые системы. СУБД | Издательство «Открытые системы»
  46. Знакомство с LeSS — Large Scale Scrum (LeSS)
  47. LeSS — Scrum на больших масштабах — Блог ScrumTrek
  48. The Nexus Guide | Scrum.org
  49. http://www.disciplinedagiledelivery.com/introduction-to-dad/
  50. Agile project management — the what and the why | APM
  51. Agile project management with Scrum
  52. https://www.scaledagileframework.com/what-is-safe/
  53. Scrum of Scrums | Scrum.org
  54. The Nexus Guide | Scrum.org

> См. также

  • Внедрение программного обеспечения

> Ссылки

  • The Official Scrum Rulebook
  • Обзор методологии SCRUM

Управление проектами: метод «Scrum»

Что такое Scrum. Суть методики

Те, кто занимается управлением проектами, да и просто управлением, хорошо знают, насколько сложно организовать слаженную командную работу. Из-за отсутствия слаженности постоянно нарушаются планы, происходит отставание от графика, бюджет проекта раздувается, деньги и время утекают сквозь пальцы, задачи разных подразделений дублируются, люди спорят и не помогают друг другу, хотя, казалось бы, их усилия направлены на достижение одной цели. Кроме того, заказчики часто бывают неудовлетворены окончательным вариантом созданного продукта.

Методика Scrum, которую разработали Джефф Сазерленд и Кен Швабер, призвана решить все эти проблемы. Scrum — это противоположность классическому поэтапному подходу, применяемому к реализации проектов. Методику Scrum взяли на вооружение многие компании как из технологических отраслей, откуда она сама родом, так и из традиционных и даже некоммерческих. Подход, лежащий в основе методики Scrum, можно применять в разных видах деятельности, в которых требуется коллективная работа.

Важными характеристиками Scrum является ее гибкость и ориентированность на клиента, так как она предполагает его (клиента) непосредственное участие в процессе работы.

Scrum не требует внедрения каких-либо дорогостоящих инструментов. Схему методики Scrum вкратце можно описать следующим образом:

1. Для начала необходимо выбрать «Владельца продукта» — человека, обладающего видением того, что вы собираетесь создать или достигнуть.

2. Затем нужно собрать «Команду», в которую войдут люди, непосредственно выполняющие работу. Они должны обладать навыками и знаниями, которые помогут воплотить идею владельца продукта в жизнь.

3. Нужно выбрать «Скрам-мастера» — того, кто будет следить за ходом реализации проекта, обеспечивать проведение коротких собраний и помогать команде устранять препятствия на пути достижения цели.

4. Приступая к работе, нужно создать максимально полный список всех требований, предъявляемых к продукту или цели. Пункты этого списка должны быть расставлены по приоритету. Список носит название «Бэклог продукта». Он может развиваться и изменяться на протяжении всего срока реализации проекта.

5. Участники команды должны оценить по своей системе оценок каждый пункт на предмет сложности и затрат, которые потребуются для его выполнения.

6. Затем участники, скрам-мастер и владелец продукта должны провести первоескрам-собрание, на котором они запланируют спринт — определенное время для выполнения части заданий. Продолжительность спринта не должна превышать один месяц. За каждый спринт команда нарабатывает определенное количество баллов. Команда должна постоянно стремиться к тому, чтобы превзойти в новом спринте количество наработанных баллов за предыдущий спринт, то есть ее цель — постоянно превосходить свои собственные результаты — «наращивать динамику производительности».

7. Чтобы все участники были в курсе состояния дел нужно завести скрам-доску с тремя колонками: «Нужно сделать, или бэклог»; «В работе»; «Сделано». На доску участники клеят стикеры с заданиями, которые в процессе работы поочередно перемещаются из колонки «Бэклог» в колонку «в работе», а затем в»сделано».

8. Ежедневно проводится скрам-собрание. По выражению Джеффа Сазерленда»это пульс всего процесса Scrum». Суть его проста — ежедневно, на ходу, пятнадцать минут на то, чтобы все дали ответы на три вопроса: «Что ты делал вчера, чтобы помочь команде завершить спринт?», «Что ты будешь делать сегодня, чтобы помочь команде завершить спринт?», «Какие препятствия встают на пути команды?».

9. По завершении спринта команда делает его обзор — проводит встречу, на которой участники рассказывают, что сделано за спринт.

10. После показа результатов работы за спринт участники проводят ретроспективное собрание, на котором обсуждают, что команда делала хорошо, что можно сделать лучше, что можно улучшить прямо сейчас.

Недостатки традиционного подхода к управлению проектами

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

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

Почему? Как отмечает Джефф Сазерленд, Генри Гант придумал такие диаграммы еще в 1910 году. Они получили широкое распространение в Первой мировой войне. Однако, «каждый, кто изучал историю этой войны, знает, что ни подготовка кадровых ресурсов, ни система организации никогда не были ее сильными сторонами. Мне не дано понять, почему концепт времен Первой мировой войны становится-де-фактоаналитическим инструментом проектирования и применяется даже в XXI веке. Мы отказались от принципов позиционной войны, но каким-то образом ее „окопные“организационные идеи остаются популярными и по сей день».

В современных условиях эта схема неуместна и похожа на модель Политбюро ЦК КПСС, которое «верило» отчетам, которые оно получало накануне крушения Советского Союза и которые имели мало общего с реальным положением дел.

Философия scrum

В методике Scrum нашло свое отражение увлечение автором книги японскими боевыми искусствами. По его словам, в Японии к «Scrum не относятся как к сиюминутной причуде. Японцы расценивают Scrum как подход к решению вопросов, как образ действий, как способ существования бытия — в общем, как образ жизни. Когда я обучаю людей этой методике, я часто рассказываю о своем многолетнем опыте занятий японским боевым искусством айкидо».

Общее у айкидо и Scrum то, что ими можно овладеть лишь в процессе работы, когда»ваше тело, ваш разум и ваш дух соединяются в единое целое через постоянную практику и стремление к совершенству. Занимаясь айкидо, мы постигаем понятие сюхари (Shu Ha Ri) — это одновременно и концепция боевых искусств, и показатель уровня мастерства».

Суть командной работы в Scrum

Scrum — это, прежде всего, командная работа. Автор выделяет три характеристики лучших коллективов:

  • непрекращающийся поиск совершенства;

  • автономность — способность к самоорганизации;
  • многофункциональность. Наличие разных специалистов и культура взаимодействия и взаимопомощи.

Какого размера должна быть команда? Джефф Сазерленд рекомендует малочисленные группы — около семи человек. Он приводит данные, что если группа состоит из более чем девяти человек, то скорость ее работы падает.

Кроме того автор напоминает о «законе Брукса»:

«Если проект не укладывается в сроки, то добавление рабочей силы задержит его еще больше».

Главный в команде — это скрам-мастер. Его обязанность — обеспечивать короткие собрания, их открытость, помогать группе идти сквозь помехи, которые мешают работе, вести команду по пути постоянного совершенствования»и регулярно искать ответ на вопрос «Как нам делать еще лучше то, что мы уже делаем хорошо?».

Нет мультизадачности

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

«Действуя традиционным методом, то есть пытаясь делать все и сразу, группа завершит свои три проекта до конца июля. Если группа подойдет к делу, вооружась гибкой стратегией, например, Scrum, и будет работать поочередно над каждым проектом, минимизируя затраты времени и сил на переключение контекста, она сможет закончить все к началу мая».

Суть работы — поток

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

Как его достичь? За состоянием потока стоит внутренняя дисциплина,

«Не должно быть ни одного движения впустую».

Скрам и счастье

Люди хотят быть счастливыми. Но Джефф Сазерленд уверен, что счастье — это не бездеятельное прозябание, а яркая, насыщенная и активная жизнь. Скрам вносит свой вклад в счастливую жизнь, так как помогает плодотворно работать и действовать.

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

Элементы скрам

Спринты

Как уже отмечалось выше, в начале спринта и для обеспечения открытости и наглядности, нужно завести специальную доску и поделить ее на три колонки:»Бэклог»; «В работе»; «Сделано». Перед каждым спринтом члены команды наклеивают в колонку «Бэклог» стикеры с задачами, которые, по их мнению, они могут выполнить за спринт. В течение спринта, любой член команды, взявшись за задачу, переклеивает стикер из раздела «Бэклог» в колонку»В работе». После выполнения задачи — в колонку «Сделано». Таким образом, каждый видит, над чем сейчас работают другие участники.

Однако есть важное замечание — «ничто не переносится в колонку „Сделано“ до тех пор, пока эта часть проекта не будет опробована клиентом».

«Еще один важнейший аспект спринта: как только команда утверждает список требований, задачи из этого списка „блокируются“. Никто не имеет права их менять или вносить добавления». Автор рекомендует это из-за того, что любое вмешательство замедлит работу команды.

Ежедневные собрания

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

Делайте до конца

В Scrum важно научиться чувствовать ритм команды. Наихудший вариант — когда по завершении спринта что-то остается сделанным наполовину. Уж лучше вообще тогда не начинать это дело.

«Израсходованы ресурсы, силы, время, деньги, но полностью функционирующий продукт не получен».

Планирование в Scrum

Как происходит процесс планирования в Scrum? Для начала нужно составить список всех вещей, которые влияют на вашу цель. После этого расставить их по приоритетности. В случае если вы не будете укладываться во временные и финансовые рамки, тогда вы легче сможете исключить последние пункты списка.

Что делать потом? Каждый пункт списка нужно оценить на предмет того, сколько на его выполнение уйдет сил, времени и других ресурсов. Каким образом производить оценку? Автор предлагает шкалу относительных оценок. Например, можно сравнивать задачи «в собаках». Эта проблема — такса или ретривер? А может быть, дог?

Но в любом случае удобнее установить числовые значения. Например, «Такса —единица; дог — тринадцать; лабрадор стал пятеркой, а бульдог — тройкой».

Автор также предлагает использовать интересную методику покер планирования. Ее суть — каждому участнику процесса планирования дается колода карт с числами Фибоначчи — 1, 2, 3, 5, 8, 13 и так далее. Каждый пункт списка, единица работы, которая должна быть оценена, выкладывается на стол.

Требования — это истории

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

«Представьте, что вы составляете „пожелание пользователя Amazon.com“. Пробный вариант выглядит так: „Мне как потребителю нужен крупнейший в мире магазин книг, где я могу купить любую книгу в любое время“.Это описание вполне отвечает характеру Amazon, но история получилась слишком расплывчатой, чтобы с ней можно было что-то сделать. Нужно фрагментировать нашу историю. Сделать ее действительно очень конкретной и функциональной. Приведу несколько образцов пользовательских историй, которые вы можете написать, имея в виду книжныйинтернет-магазин:Как потребителю мне удобно искать книги по жанрам, чтобы быстро найти те, которые я люблю читать.Как потребитель я, отбирая книги для покупки, хочу класть сразу каждую в корзину.Как управляющий по выпуску новой продукции я хочу иметь возможность отслеживать покупки наших клиентов, чтобы быть в курсе, какие книги им можно предлагать.Вот профессионально сделанные пожелания пользователя, характер которых группа должна принять во внимание».

Пользовательская история должна быть завершенной, независимой от разных обстоятельств, реализуемой на практике. Эти критерии говорят о готовности истории. Также важно, чтобы историю можно было оценить на предмет ее выполнимости.

Как планировать спринт

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

После этого команда дружно произносит: «Вперед!» — и принимается за работу

Но что такое работа? Рутина, обязаловка? С точки зрения скрам, работа — это история. Что это значит? Это означает, что вам следует представить человека, которому нужно то, что вы делаете; потом то, что это такое, и, наконец, зачем людям это нужно.

Командам нужно хорошо узнать свою динамику — сколько работы она может выполнить за один спринт. Это поможет ей работать разумнее и устранять все помехи на своем пути.

«Динамика x время = результат. Узнав, насколько быстро вы продвигаетесь, вы сможете понять, когда окажетесь на финише».

Открытость во всем

Скрам предполагает прозрачность всех действий и процессов.

Это выражается в доске с тремя колонками, к которой имеют доступ все участники команды.

«Секретность — яд. Ничто не может держаться в тайне. Все должны знать всё, включая финансовые данные. Запутывание следов нужно только тем, кто ищет собственной выгоды».

Владелец продукта

В скраме предполагается три роли: скрам-команда — исполнители конкретных проектов; скрам-мастер — это тот, кто следит за ходом проекта и помогает команде решать проблемы, и владелец продукта — тот, кто решает вопросы концепции продукта и составляет бэклог.

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

Это может быть слишком большой зоной ответственности для одного человека, поэтому на больших проектах может работать бригада владельцев продукта.

Основные принципы организации работы в Scrum командах

  1. Организовываем процесс разработки приложений в небольших функциональных командах, которые содержат всех необходимых специалистов. Для этого выделяем человека – scrum-мастера, который будет отвечать за соблюдение процессов в команде и конструктивную атмосферу.

    Backlog — документ, который содержит список всех требований к проекту (виденье проекта, список того, что должно быть реализовано). Пункты списка упорядочены по степени важности. По ходу проекта список и приоритеты могут меняться, в зависимости от потребностей заказчика, новых идей или изменяющихся условий.

  2. Требования разбиваем на небольшие, ориентированные на пользователей, функциональные части, которые максимально независимы друг от друга, в результате чего мы получим беклог продукта. Затем упорядочите элементы беклога по их важности и произведите относительную оценку объемов каждой истории. Выделите отдельного человека – владельца продукта, который будет отвечать за требования и их приоритеты, замыкая на себя всех заинтересованных лиц.
  3. Всю работу ведем короткими от 1 до 4 недель фиксированными итерациями – спринтами, поставляя в конце каждого из них законченный функционал, который можно при необходимости вывести на рынок – инкремент продукта. Команда согласно своей скорости набирает задачи на неизменяемую по времени итерацию – спринт. Каждый день проводится скрам-митинг, на котором команда синхронизирует свою работу и обсуждает проблемы. В процессе работы члены команды берут в работу элементы беклога согласно приоритету.

    Спринт – короткий этап разработки проекта. Функции, которые нужно реализовать на каждом спринте — зафиксированы и их нельзя менять по ходу спринта. Они разбиты на задачи, а задачи имеют оценки и приоритеты. В классическом Scrum предполагается, что продолжительность спринта фиксирована и составляет от 2 до 4-х недель, в зависимости от опыта команды.

  4. В конце каждого спринта проводите обзор спринта, чтобы получить обратную связь от владельца продукта, и ретроспективу спринта, чтобы оптимизировать ваши процессы. После этого владелец продукта может изменить требования и их приоритеты и запустить новый спринт.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *