Основы Agile-методологий

Атрибуты Scrum

В материале рассматриваются ключевые артефакты и техники Scrum для управления требованиями и визуализации работы. Логика изложения строится от общего к частному: сначала описывается визуальный каркас продукта (Story Mapping), затем — способы описания его элементов (User Stories). Далее разбираются методы приоритезации задач (Матрица Эйзенхауэра, АБВ, MoSCoW) и инструменты контроля: Доска задач, Бэклог продукта и Бэклог спринта. Завершающим звеном выступает принцип прототипирования, увязывающий пошаговую разработку с немедленной поставкой ценности бизнесу.

Основные мысли

В результате изучения лекции слушатель будет способен:
1. Объяснить назначение техники Story Mapping и описать процесс построения карты историй.
2. Сформулировать пользовательскую историю (User Story), отличая ее от традиционных требований.
3. Сравнить техники приоритезации (Матрица Эйзенхауэра, метод АБВ, MoSCoW) и выбирать подходящую для командной работы.
4. Разработать структуру Доски задач (Task Board) для визуализации потока работ в спринте.
5. Структурировать Бэклог продукта (Product Backlog), разделяя элементы по степени детализации и приоритетности.
6. Определить состав Бэклога спринта (Sprint Backlog) как обязательства команды на итерацию.
7. Проанализировать требования к продукту с точки зрения инкрементальной поставки ценности в соответствии с принципом прототипирования.
Показывать лекцию целиком
Краткое изложение

8.1. Story mapping

Story mapping (англ. "карта историй") - техника визуального и физического представления последовательности действий, которые должны быть реализованы в разрабатываемом командой программном продукте.

Story mapping - инструмент, помогающий в осмыслении функциональности ПО и "правильном" проектировании способов его использования.

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

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

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

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

Рис. 8.1. Представление карты историй

Рис. 8.1. Представление карты историй

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

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

Процесс построения карты историй:

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

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

Story mapping - это архитектурное представление задач пользователя.

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

8.2. Пользовательские истории (User story)

В практике подготовки требований, которые в дальнейшем будут составлять каркас разрабатываемого программного продукта, в Scrum принято использовать один из стандартизированных подходов для их описания - User Story ("пользовательские истории").

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

В разработке программного обеспечения этот способ разработки и управления требованиями часто применяют для проектирования и описания взаимодействия пользователя и системы, поэтому название User Story часто воспринимают как синоним требования человека-пользователя к решению определенной задачи в системе.

Пользовательские истории формулируются как одно или более предложений на "повседневном" языке пользователя. Они получаются относительно небольшие по объему, что удобно как для составления, так и для их обсуждения, приоритизации, планирования, оценки и дальнейшей работы с ними. Пользовательские истории получаются в виде алгоритма действий пользователя с реализуемым программным продуктом. Таким образом, каждый квадратик в Story Mapping можно представить в виде User Story . Если владелец продукта отнесется к приоритизации пользовательских требований со всей необходимой серьезностью и значимостью, то Scrum-команда может сконцентрироваться на наиболее значимых и важных User Story , что будет влиять на инкрементальность создаваемой информационной системы. Адекватная оценка трудоемкости историй позволяет планировать сроки ее реализации, тем самым управляя содержимым спринтов. Разработать оптимальную пользовательскую историю не так просто, нужен определенный навык, который позволит создать качественное описание требований пользователей к реализуемому программному продукту, но в награду за это получаются следующие преимущества:

Чем более компактный объем имеет пользовательская история, тем проще выполнять ее оценку. Это приводит к более верным оценкам сроков реализации программного продукта и к более понятному планированию выполняемых работ. При этом важно знать меру в уменьшении и дроблении User Story. Если сделать их слишком много, то у вас получится огромный список задач в бэклоге продукта, и процесс управления ими и фиксации на карте историй усложнится.

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

Важно отдавать себе отчет в том, что пользовательские истории не обеспечивают полноту всех функциональных требований и имеют ряд недостатков:

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

8.3. Определение приоритетов пользователей

После того как процесс работы с требованиями в Agile-методологиях стал более очевиден, упрощен и понятен в сравнении со стандартными, классическими подходами к созданию информационных систем, целесообразно обсудить техники, которые помогут облегчить процесс определения приоритетов отдельных задач для их последующего включения в спринты Scrum-команды.

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

Рассмотрим наиболее эффективные из них:

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

8.4. Доска задач

После того как мы определились с "спринтовой" моделью организации работ в Scrum и разобрались с тем, как необходимо работать с требованиями и задачами, настало время рассмотреть еще один очень важный артефакт каждой Scrum-команды, цель которого - визуализировать состояния задач в Scrum. Речь идет о Scrum-доске.

Каждый рабочий день все члены команды собираются на 15-минутное daily, на котором они обмениваются информацией по состоянию текущих дел ("Что сделано с момента предыдущей встречи?", "Чем планирую заниматься сегодня?", "Какие есть препятствия?").

На доске команды развешены задачи, каждой из которых выделен бумажный стикер, на котором написано, в чем состоит суть задачи (рис. 8.3).

Рис. 8.3. Доска задач

Рис. 8.3. Доска задач

Доска задач должна минимум делиться на три колонки:

На момент планирования задач, которые предстоит взять в спринт, все карточки помещаются в колонку "Запланировано". Каждый день, когда член команды берет в работу определенную задачу, он говорит: "Я начал работать над…" и перемещает карточку в столбец "In Progress". После того как задача выполнена, исполнитель говорит о том, что работа над задачей закончена, и карточка перемещается в соответствующую колонку "Завершено".

Использование доски задач полностью соответствует принципам прозрачности работ, которые являются одним из главных преимуществ Agile в сравнении с альтернативными подходами к разработке программного обеспечения. Участники daily каждый день собственными глазами видят, как идет прогресс в работе над тем или иным типом задачи. Они не только погружаются в значимые детали работ, но и получают ценный опыт. Неоспоримыми выгодами, которые получает команда от использования доски задач, являются:

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

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

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

8.5. Бэклог продукта

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

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

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

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

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

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

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

Техники сбора требований схожи при традиционной и гибкой работе, как можно увидеть на следующих примерах:

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

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

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

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

После того как необходимые требования к продукту собраны, их необходимо зафиксировать и "взять на учет" для дальнейшей реализации. Для этого в Scrum есть артефакт, который называется бэклог продукта (Product Backlog, PB).

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

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

PB никогда не является полным. В начале (сверху) - только первоначально известные и наиболее понятные требования. Бэклог постоянно обновляется по мере обновления самого продукта и окружающей его среды, поэтому PB "живет" вместе с продуктом. PB является динамическим, постоянно изменяющимся для соответствия требованиям продукта, его конкурентоспособности и пригодности. PB существует ровно до тех пор, пока существует и сам продукт:

  1. PB содержит все "фичи", функции, требования, усовершенствования и информацию по исправлению дефектов, то есть те данные, которые и определяют изменения, необходимые в следующих релизах продукта. Каждому элементу PB присваивается описание, порядковый номер, оценка объема работы и ценность.
  2. Элементы бэклога продукта, расположенные сверху, должны быть более понятными и содержать больше деталей, чем те, которые расположены ниже. Более точные оценки даются требованиям, которые являются более четкими и содержат больше дополнительной информации.
  3. Чем ниже находятся требования, тем меньше деталей. Бэклог спринта представляет собой репозиторий задач, реализация которых позволит инкрементально двигаться к достижению желаемого конечного результата от разработки конкретного программного продукта.

8.6. Бэклог спринта

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

Бэклог спринта (Sprint Backlog SB) - это набор элементов Product Backlog, выбранных для выполнения в текущем спринте.

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

Бэклог спринта:

Бэклог спринта должен быть достаточно "глубоко" детализирован по сравнению с задачами в Product Backlog, чтобы прогресс работы над ним можно было видеть ежедневно, не уделяя дополнительное время сбору необходимых деталей.

Scrum-команда работает над бэклогом спринта на всем его протяжении, и он постоянно изменяется вместе с прогрессом команды.

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

Если возникает необходимость в дополнительном объеме работы, то эти задачи добавляются в бэклог продукта и планируются к выполнению в следующих спринтах.

После того как они выполнены, оценки оставшегося объема работ обновляются.

Если некоторые задачи считаются уже неактуальными, то их удаляют.

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

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

Цель команды Scrum в отдельно взятом спринте - предоставлять работающий инкремент продукта.

Работающий "прирост" продукта (инкремент) - обязательный результат каждого спринта Scrum.

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

Инкремент по своей сути - это продукт, который будет приносить бизнес-пользу (рис. 8.4) в момент своей разработки после того, как результаты определенного спринта реализованы Scrum-командой и приняты заказчиком.

Рис. 8.4. Наглядное изображение инкремента в строительстве

На рис. 8.4 приведены две иллюстрации.

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

На второй (правая) продемонстрирован инкрементальный процесс строительства. После того как первый этаж будет готов, в доме можно начинать жить и при этом продолжать строительство второго этажа.

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

По окончании спринта инкремент должен быть пригодным к использованию и приносить реальную и ощутимую прибыль PO.

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

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

8.8. Принцип прототипирования

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

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

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

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

8.9. Краткие выводы

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

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

1. Story Mapping (Карта историй)
Это техника визуальной декомпозиции продукта от высокоуровневого представления до конкретных задач. Она помогает спроектировать каркас продукта.
• Проблема: Миф о неделимости крупных требований, особенно в больших компаниях, мешает поэтапной разработке.
• Решение Scrum: Инкрементальная разработка, разбивающая идею на задачи, каждая из которых приносит ценность.
• Структура карты:
1. Сверху (горизонтально) — ключевые виды деятельности (стадии процесса).
2. Снизу (вертикально) — каждая стадия раскладывается на составляющие задачи в логическом порядке.
Получается матричный вид, где верхний уровень — это каркас, а под ним — детальные требования.

2. User Stories (Пользовательские истории)
Это пошаговая техника описания взаимодействия участников на повседневном языке пользователя. Каждый элемент Story Mapping может быть представлен как User Story.
• Суть: Отвечают на вопрос «что должен делать продукт», но не «как».
• Преимущества: Краткость, незатратность в создании, вовлечение пользователей в диалог, облегчение оценки задач.
• Недостатки:
o Не масштабируются для крупных проектов, где важны формальные процедуры.
o Не обеспечивают полноту требований — разработчикам приходится додумывать внутреннюю логику.

3. Техники приоритезации
Необходимы для отбора задач в спринт.
• Матрица Эйзенхауэра: Делит задачи по осям «Важно/Неважно» и «Срочно/Несрочно». Эффективна для индивидуальной работы, но не для командных приоритетов продукта. Лучшие команды фокусируются на квадранте «Важно, но не срочно».
• Методика АБВ: Категории А (15-20% задач, дающих 60% результата), Б (20% задач и 20% результата) и В (60% задач-«пожирателей времени», дающих 15% пользы).
• Метод MoSCoW: Лучший метод для работы в условиях ограниченного времени спринта. Задачи делятся на:
o MUST: Критически необходимые, без них продукт не имеет смысла.
o SHOULD: Важные, но не срочные, имеют альтернативы.
o COULD: «Хотелось бы», менее критичные.
o WON’T: Отказ в текущем спринте.

4. Доска задач (Task Board)
Инструмент визуализации и самоконтроля, работающий на принципах прозрачности.
• Структура: Минимум три колонки: «Запланировано», «В работе», «Завершено».
• Использование: Карточки задач перемещаются по колонкам. Ежедневно на встрече команда обсуждает, что сделано, планы и препятствия.
• Выгоды: Наглядность прогресса, быстрый контроль загрузки, выявление проблем. Начинать лучше с физической доски для дисциплины.

5. Бэклог продукта (Product Backlog)
Единственный упорядоченный источник всех требований к продукту. За его наполнение и приоритезацию отвечает Владелец продукта.
• Свойства: Динамический, постоянно меняется и «живет», пока жив продукт.
• Содержит: Функции, исправления, улучшения.
• Принцип: Элементы сверху списка проработаны детально и готовы к скорой реализации. Чем ниже, тем меньше деталей.

6. Бэклог спринта (Sprint Backlog)
Обязательство команды на фиксированную итерацию. Это задачи из верхней части Product Backlog, отобранные для создания инкремента.
• Формирование: Происходит на планировании спринта и визуализируется на Доске задач.
• Изменения: В ходе работы могут добавляться новые задачи или удаляться неактуальные, но только по решению самой Scrum-команды.

7. Инкремент и принцип прототипирования
Инкремент — это самодостаточный, готовый к использованию результат спринта, который повышает суммарную ценность продукта и может приносить бизнес-пользу немедленно.
• Суть подхода: В отличие от «строительства сразу всего дома», Scrum возводит его поэтажно, заселяя каждый этаж по готовности.
• Принцип прототипирования: Архитектура системы изначально должна проектироваться так, чтобы каждый инкремент был ценен сам по себе и органично интегрировался с предыдущими. Это требует непрерывного рефакторинга и анализа влияния изменений на существующий функционал.

Выводы

1. Story Mapping — это метод визуальной декомпозиции, превращающий высокоуровневые идеи в матрицу активностей и задач, упорядоченных по пользовательской логике.
2. Миф о неделимости высокоуровневых требований тормозит разработку, и инкрементальный подход Scrum направлен на его преодоление.
3. User Stories формулируются на языке пользователя и описывают сценарии взаимодействия, что делает требования доступными для всех сторон.
4. Главное преимущество User Stories — компактность, позволяющая легко управлять требованиями, а главный недостаток — отсутствие системной полноты и слабая масштабируемость.
5. Матрица Эйзенхауэра помогает расставлять личные приоритеты по критериям важности и срочности, но менее пригодна для командной приоритезации задач продукта.
6. Методика АБВ конкретизирует принцип Парето, выделяя небольшое число критичных задач (А), дающих основной вклад в результат.
7. Метод MoSCoW (Must, Should, Could, Won’t) позволяет сфокусировать ограниченные ресурсы спринта на строго обязательной функциональности.
8. Доска задач является инструментом прозрачности, визуализируя поток работ в колонках «Запланировано», «В работе», «Завершено» и выявляя препятствия.
9. Product Backlog — это живой, постоянно приоритезируемый список всего, что необходимо продукту, за содержание и порядок которого отвечает Владелец продукта.
10. Sprint Backlog — это зафиксированное обязательство команды на одну итерацию, извлекаемое из верхней части Product Backlog.
11. Инкремент обязан быть самодостаточной, пригодной к использованию ценностью, которая повышает суммарную стоимость продукта шаг за шагом.
12. Принцип прототипирования в Scrum требует, чтобы архитектура продукта изначально проектировалась для обеспечения немедленной бизнес-отдачи от каждого инкремента.

Вопросы для самопроверки

1. Каким образом техника Story Mapping помогает справиться с комплексными и высокоуровневыми требованиями в крупных проектах?
2. В чем заключается коренное отличие инкрементального подхода к разработке от попыток реализации «всего и сразу»?
3. Из каких двух последовательностей состоит матричная структура Story Mapping?
4. Почему для описания требований в User Stories критически важно использовать повседневный язык пользователя, а не техническую терминологию?
5. Назовите ключевое ограничение пользовательских историй при их применении в больших и сложных продуктах?
6. Чем отличается подход к приоритезации по методу АБВ от подхода, предлагаемого Матрицей Эйзенхауэра?
7. В чем заключается практическая разница между задачами категории MUST и SHOULD при применении метода MoSCoW в условиях фиксированного срока спринта?
8. Каким образом перемещение физической карточки на Доске задач способствует решению проблем с прозрачностью и коммуникацией в команде?
9. Почему Бэклог продукта никогда не является статичным и должен «жить» вместе с продуктом?
10. Кто имеет право вносить изменения в Бэклог спринта и на каком основании?
11. Почему принцип прототипирования требует обязательного рефакторинга продукта?
12. Можно ли считать инкрементом функциональность, которая готова к использованию, но еще не дает полной бизнес-выгоды конечного продукта?
Вернуться к учебному плану