1. Введение в методологию Agile-разработки и пользовательские истории
Методология Agile-разработки за последнее десятилетие стала все более популярной в области разработки программного обеспечения. Agile-разработка — это итеративный и гибкий подход, который делает акцент на сотрудничестве и участии клиента на протяжении всего процесса разработки. Одним из ключевых принципов Agile является фокус на предоставлении ценности клиенту за счёт создания рабочего программного обеспечения.
Пользовательские истории являются критически важным компонентом Agile-разработки. Это краткий и понятный способ описания требований и потребностей пользователя. Пользовательские истории помогают обеспечить, что усилия по разработке направлены на предоставление ценности пользователю, предоставляя чёткое понимание того, что нужно сделать и почему.
В этом руководстве мы рассмотрим ключевые концепции и методы написания эффективных пользовательских историй в проектах Agile-разработки. Мы рассмотрим, как создавать пользовательские персонажи для представления различных типов пользователей, анатомию эффективной пользовательской истории, а также методы улучшения пользовательских историй на основе обратной связи и приоритизации. Также мы рассмотрим важность создания критериев приемки и способы эффективного взаимодействия с заинтересованными сторонами и командой разработки.
К концу этого руководства вы получите прочное понимание того, как писать эффективные пользовательские истории, которые помогут вашей команде Agile-разработки предоставлять ценность клиенту.
2. Понимание потребностей пользователей и создание пользовательских персонажей
Прежде чем мы сможем писать эффективные пользовательские истории, нам нужно понять потребности и требования пользователей. Это включает в себя создание пользовательских персонажей, представляющих различные типы пользователей, и понимание их целей, мотиваций и болевых точек.
Почему понимание потребностей пользователей важно
Потребности пользователей имеют решающее значение для успеха любого проекта разработки программного обеспечения. Понимание потребностей пользователей помогает нам убедиться, что мы создаем программное обеспечение, отвечающее потребностям пользователя и приносящее ему ценность. Создавая пользовательские персонажи и понимая их цели, мы можем обеспечить, что пользовательские истории направлены на предоставление ценности пользователю.
Создание пользовательских персонажей
Пользовательские персонажи — это вымышленные образы различных типов пользователей. Они помогают нам понять потребности, цели и поведение пользователей, для которых мы разрабатываем программное обеспечение. Пользовательские персонажи обычно включают демографическую информацию, такую как возраст и пол, а также информацию о профессии пользователя, его целях и болевых точках.
Для создания эффективных пользовательских персонажей нам нужно собирать информацию из различных источников. Это может включать проведение интервью с пользователями, анализ данных пользователей и наблюдение за пользователями в их естественной среде. Мы также можем использовать инструменты, такие как опросы и анкеты, для сбора информации о потребностях пользователей.
Советы по созданию эффективных пользовательских персонажей
При создании эффективных пользовательских персонажей следует учитывать следующие советы:
- Используйте реальные данные, когда это возможно: используйте реальные данные из интервью и опросов пользователей для создания реалистичных персонажей, точно отражающих потребности и поведение пользователей.
- Фокусируйтесь на целях и поведении: пользовательские персонажи должны фокусироваться на целях и поведении пользователя, а не только на демографической информации.
- Поддерживайте персонажи в актуальном состоянии: потребности и поведение пользователей могут меняться со временем, поэтому важно поддерживать персонажи в актуальном состоянии, чтобы они точно отражали пользователя.
Понимая потребности пользователей и создавая эффективные пользовательские персонажи, мы можем писать более эффективные пользовательские истории, ориентированные на предоставление ценности пользователю.
3. Анатомия эффективной пользовательской истории
Как только у нас будет чёткое понимание потребностей и целей пользователей, мы можем приступить к написанию эффективных пользовательских историй. Пользовательские истории — это краткие и простые описания функции или функциональности с точки зрения пользователя. Обычно они следуют формату «Я, как [пользователь], хочу [цель], чтобы [причина]».
Формат «Я как, я хочу, чтобы»
Формат «Я как, я хочу, чтобы» — простой и эффективный способ структурирования пользовательских историй. Вот пример:

«Как часто путешествующий, я хочу просматривать свой маршрут полёта на мобильном устройстве, чтобы легко отслеживать свои планы поездок.»
- «Как» представляет пользовательский персонаж
- «Я хочу» представляет цель или потребность пользователя
- «Чтобы» представляет выгоду или ценность для пользователя
Использование этого формата помогает обеспечить, что пользовательские истории ориентированы на предоставление ценности пользователю.
Три C (Карточка, Разговор и Подтверждение)
три C (Карточка, Разговор и Подтверждение) для пользовательской истории «Снятие наличных»:
- Карта: система банкомата должна проверить, что карта пользователя действительна и авторизована для снятия наличных. Это включает проверку даты окончания действия карты, обеспечение того, что карта не была объявлена утерянной или украденной, а также проверку соответствия PIN-кода пользователя тому, который связан с картой.
- Разговор: система банкомата должна сопровождать пользователя в процессе снятия наличных с четкими инструкциями и подсказками. Это включает отображение доступных вариантов снятия наличных, подтверждение суммы наличных, которую пользователь хочет снять, а также предоставление обратной связи о статусе транзакции.
- Подтверждение: система банкомата должна предоставить пользователю подтверждение успешной обработки снятия наличных. Это включает отображение суммы выданной наличных, предоставление чека за транзакцию и обновление баланса счета пользователя с учетом снятия.

Написание эффективных пользовательских историй: использование критериев INVEST для достижения успеха
Чтобы обеспечить эффективность пользовательских историй, они также должны соответствовать критериям INVEST:
- Независимость: пользовательские истории должны быть независимыми друг от друга, чтобы их можно было разрабатывать и тестировать отдельно.
- Обсуждаемость: пользовательские истории должны быть обсуждаемыми и открытыми для обсуждения и изменений.
- Ценность: пользовательские истории должны приносить ценность пользователю и бизнесу.
- Оценка: пользовательские истории должны быть оценены с точки зрения времени и усилий, необходимых для их выполнения.
- Маленькие: пользовательские истории должны быть достаточно маленькими, чтобы быть завершенными в рамках одного спринта.
- Проверяемость: пользовательские истории должны быть проверяемыми, чтобы их можно было проверить и подтвердить.
Обеспечивая соответствие пользовательских историй критериям INVEST, мы можем создавать более эффективные пользовательские истории, ориентированные на предоставление ценности пользователю и бизнесу.
4. Техники разделения крупных пользовательских историй на более мелкие и управляемые
Разбиение крупных пользовательских историй на более мелкие и управляемые может помочь повысить эффективность разработки и обеспечить, что каждая пользовательская история приносит ценность пользователю. Вот некоторые техники разделения крупных пользовательских историй:
- Используйте модель «INVEST»: эта модель предполагает, что пользовательские истории должны быть независимыми, обсуждаемыми, ценными, оценяемыми, небольшими и проверяемыми. Фокусируясь на этих характеристиках, мы можем разбить крупные пользовательские истории на более мелкие и управляемые.
- Используйте подход «вертикального среза»: этот подход предполагает разбиение пользовательских историй на тонкие вертикальные срезы, которые можно разрабатывать и тестировать независимо. Этот подход может помочь обеспечить, что каждая пользовательская история приносит ценность пользователю и может быть быстро протестирована и выпущена.
- Используйте технику «картографии пользовательских историй»: картография пользовательских историй включает создание визуального представления пути пользователя через систему, что может помочь выявить пробелы и возможности для разделения крупных пользовательских историй.
5. Стратегии приоритизации пользовательских историй на основе потребностей пользователей и ограничений проекта
Приоритизация пользовательских историй необходима для обеспечения того, что усилия по разработке направлены на предоставление максимальной ценности пользователю. Вот некоторые стратегии приоритизации пользовательских историй:
- Используйте метод «MoSCoW»: этот метод предполагает категоризацию пользовательских историй как «обязательно», «должно быть», «может быть» или «не будет». Этот подход может помочь обеспечить, что усилия по разработке сосредоточены на наиболее важных функциях.
- Используйте модель Кано: этот подход предполагает категоризацию потребностей пользователей как «базовые», «производительность» или «удовольствие». Этот подход может помочь обеспечить, что усилия по разработке сосредоточены на удовлетворении наиболее важных потребностей пользователей.
- Привлекайте заинтересованные стороны к приоритизации: получение обратной связи от заинтересованных сторон, включая пользователей и команду разработки, может помочь обеспечить, что усилия по разработке сосредоточены на наиболее важных функциях и потребностях пользователей. Вы можете использовать картографию пользовательских историй в качестве инструмента приоритизации своих пользовательских историй
Основная цель картографии пользовательских историй — помочь командам создать общее понимание потребностей пользователей и требований к продукту, а также соответствующим образом приоритизировать усилия по разработке. Разбивая крупные пользовательские истории на более мелкие и управляемые и располагая их в логическом порядке, команды могут лучше визуализировать путь пользователя через продукт и выявить области, где можно внести улучшения. Это помогает обеспечить, что продукт соответствует потребностям пользователя, а также соответствует бизнес-целям и техническим ограничениям. Картография пользовательских историй также способствует улучшению коммуникации и сотрудничества между членами команды и заинтересованными сторонами, обеспечивая, что все находятся на одной волне и работают в одном направлении. В конечном итоге цель картографии пользовательских историй — создать качественный продукт, который приносит ценность пользователю и соответствует потребностям бизнеса.

- Картография пользовательских историй — это визуальный процесс
- Помогает захватывать и организовывать требования пользователей
- Направлена на создание общего понимания целей продукта
- Вовлекает ключевых заинтересованных сторон, таких как владельцы продукта, разработчики и конечные пользователи
- Помогает разбивать крупные пользовательские истории на более мелкие и управляемые
- Располагает пользовательские истории в логическом порядке для создания «карты истории»
- Описывает путь пользователя через продукт
- Позволяет командам приоритизировать усилия по разработке на основе потребностей пользователей
- Обеспечивает соответствие продукта бизнес-целям и техническим ограничениям
- Часто используется в методологиях разработки Agile
- Сфокусирован на предоставлении высококачественных продуктов, соответствующих потребностям пользователей и доставляемых вовремя
6. Техники уточнения пользовательских историй на основе обратной связи от заинтересованных сторон и членов команды разработки
Уточнение пользовательских историй на основе обратной связи от заинтересованных сторон и членов команды разработки является важным для обеспечения четкости пользовательских историй и их ценности для пользователя. Вот некоторые техники уточнения пользовательских историй:
- Используйте «рабочие встречи по пользовательским историям»: на этих встречах собираются заинтересованные стороны и члены команды разработки для уточнения пользовательских историй на основе обратной связи и обсуждения. Этот подход может помочь обеспечить четкость пользовательских историй и их соответствие потребностям пользователя.
- Используйте «нарезку историй»: этот подход предполагает разделение пользовательских историй на более мелкие и управляемые части на основе обратной связи от заинтересованных сторон и членов команды разработки. Этот подход может помочь обеспечить четкость пользовательских историй и их ценность для пользователя.
- Используйте «тестирование прототипа»: этот подход предполагает создание прототипа системы и его тестирование с участием пользователей для сбора обратной связи и уточнения пользовательских историй на основе потребностей пользователей.
7. Создание критериев приемки для пользовательских историй
Создание критериев приемки является важным для обеспечения четкости пользовательских историй и их готовности к разработке. Вот несколько советов по созданию критериев приемки:
- Используйте утверждения «Дано-Когда-То»: эти утверждения обеспечивают четкую структуру для описания критериев приемки. Утверждение «Дано» описывает начальное состояние, утверждение «Когда» описывает выполняемое действие, а утверждение «То» описывает ожидаемый результат.
- Привлекайте заинтересованные стороны к созданию критериев приемки: сбор обратной связи от заинтересованных сторон, включая пользователей и команду разработки, может помочь обеспечить четкость критериев приемки и их соответствие потребностям пользователя.
- Используйте критерии приемки для управления разработкой: критерии приемки должны использоваться для руководства разработкой и обеспечения полной реализации и тестирования каждой пользовательской истории перед выпуском.
8: Совместная работа над пользовательскими историями с заинтересованными сторонами
Создание эффективных пользовательских историй требует совместной работы с заинтересованными сторонами, включая пользователей, владельцев продукта, разработчиков и тестировщиков. Совместная работа помогает обеспечить четкость пользовательских историй и их соответствие потребностям всех заинтересованных сторон.
Совместная работа с пользователями
Пользователи являются ключевой заинтересованной стороной в процессе разработки, поскольку они предоставляют ценную обратную связь по удобству использования и функциональности программного обеспечения. Совместная работа с пользователями включает сбор обратной связи по пользовательским историям и интеграцию этой обратной связи в процесс разработки.
Способы совместной работы с пользователями включают:
- Проведение интервью и опросов пользователей для сбора обратной связи по потребностям и проблемам пользователей.
- Проведение тестов удобства использования для сбора обратной связи по удобству использования и функциональности программного обеспечения.
- Привлечение пользователей к обзорам спринтов и демонстрациям для сбора обратной связи по программному обеспечению в процессе его разработки.
Совместная работа с владельцем продукта
Владелец продукта отвечает за определение и приоритизацию пользовательских историй. Совместная работа с владельцем продукта включает понимание их видения продукта и совместную работу по определению пользовательских историй, которые приносят ценность пользователю и бизнесу.
Способы совместной работы с владельцем продукта включают:
- Проведение регулярных сессий по уточнению бэклога для обзора и приоритизации пользовательских историй.
- Привлечение владельца продукта к совещаниям по планированию спринтов для обеспечения четкости и приоритизации пользовательских историй.
- Предоставление регулярных обновлений о ходе работы владельцу продукта для обеспечения соответствия процесса разработки их видению продукта.
Совместная работа с разработчиками и тестировщиками
Разработчики и тестировщики играют ключевую роль в процессе разработки, поскольку отвечают за реализацию и тестирование пользовательских историй. Совместная работа с разработчиками и тестировщиками включает взаимодействие с ними для обеспечения четкости и технической осуществимости пользовательских историй.
Способы взаимодействия с разработчиками и тестировщиками включают:
- Привлечение разработчиков и тестировщиков к планированию спринтов для обеспечения четкого определения пользовательских историй и их технической осуществимости.
- Предоставление регулярных обновлений о ходе работы разработчикам и тестировщикам, чтобы убедиться, что у них есть информация, необходимая для реализации и тестирования пользовательских историй.
- Проведение регулярных проверок кода и сессий тестирования для обеспечения правильной реализации пользовательских историй и соответствия потребностям пользователя.
Взаимодействуя со заинтересованными сторонами на протяжении всего процесса разработки, мы можем обеспечить четкое определение пользовательских историй, удовлетворение потребностей всех заинтересованных сторон и создание ценности для пользователя и бизнеса.
9. Советы по написанию эффективных пользовательских историй
Написание эффективных пользовательских историй требует тщательного внимания к деталям и фокуса на создании ценности для пользователя и бизнеса. Вот несколько советов по написанию эффективных пользовательских историй:
Держите все просто и сосредоточенно
Пользовательские истории должны быть простыми и ориентированными на создание ценности для пользователя. Избегайте добавления избыточной сложности или функций, которые не приносят ценности.
Используйте ясный и краткий язык
Пользовательские истории должны использовать ясный и краткий язык, понятный всем. Избегайте использования технической терминологии или аббревиатур, которые могут быть незнакомы пользователям.
Включите критерии приемки
Критерии приемки — это конкретные условия, которые должны быть выполнены, чтобы пользовательская история считалась завершенной. Включение критериев приемки помогает обеспечить четкое определение пользовательских историй и ясное понимание того, что необходимо сделать всеми участниками.
Используйте персонажи пользователей
Персонажи пользователей — это вымышленные образы пользователей, которые помогают определить их потребности, цели и поведение. Использование персонажей пользователей помогает обеспечить фокус на создании ценности для конкретных пользователей.
Приоритизируйте пользовательские истории
Приоритизация пользовательских историй помогает обеспечить, что наиболее важные функции разрабатываются в первую очередь. Приоритизация должна основываться на ценности, которую пользователь и бизнес получают, а также на технической осуществимости.
Используйте карту историй
Карта историй — это метод визуализации пользовательских историй и их взаимосвязей. Карта историй помогает обеспечить четкое определение пользовательских историй и ясное понимание общей картины продукта всеми участниками.
Оставайтесь гибкими
Разработка по методологии Agile является итеративной и гибкой, и пользовательские истории должны отражать это. Пользовательские истории должны быть открытыми для обсуждения и изменений, а также адаптируемыми к меняющимся потребностям пользователей и бизнес-целям.
Следуя этим советам, мы можем писать более эффективные пользовательские истории, которые создают ценность для пользователя и бизнеса.
10. Распространенные ошибки, которые следует избегать при написании пользовательских историй
Хотя написание пользовательских историй является важной частью разработки по методологии Agile, существуют распространенные ошибки, которые могут привести к неэффективным пользовательским историям. Вот некоторые распространенные ошибки, которые следует избегать:
Написание чрезмерно сложных пользовательских историй
Пользовательские истории должны быть простыми и ориентированными на создание ценности для пользователя. Избегайте добавления избыточной сложности или функций, которые не приносят ценности. Сложные пользовательские истории могут привести к путанице и отсутствию понимания со стороны заинтересованных сторон.
Написание неясных пользовательских историй
Пользовательские истории должны быть четко определены и конкретны. Избегайте написания неясных пользовательских историй, которые не дают четкого понимания того, что нужно сделать. Неясные пользовательские истории могут привести к неверному пониманию и отсутствию ясности среди заинтересованных сторон.
Отказ от приоритизации пользовательских историй
Приоритизация пользовательских историй необходима для обеспечения того, что наиболее важные функции разрабатываются в первую очередь. Отказ от приоритизации пользовательских историй может привести к потере времени и ресурсов на менее важные функции.
Неудача в сотрудничестве со заинтересованными сторонами
Сотрудничество со заинтересованными сторонами является необходимым условием для обеспечения четкого определения пользовательских историй и соответствия потребностям всех заинтересованных сторон. Неудача в сотрудничестве со заинтересованными сторонами может привести к отсутствию понимания и недопониманию между заинтересованными сторонами.
Неудача в включении критериев приемки
Критерии приемки являются необходимыми для определения того, что должно быть выполнено, чтобы пользовательская история считалась завершенной. Неудача в включении критериев приемки может привести к путанице и отсутствию понимания со стороны заинтересованных сторон.
Неудача в адаптации к меняющимся потребностям пользователей и бизнес-целям
Разработка по Agile является итеративной и гибкой, и пользовательские истории должны отражать это. Неудача в адаптации к меняющимся потребностям пользователей и бизнес-целям может привести к тому, что пользовательские истории перестанут быть актуальными или эффективными.
Избегая этих распространенных ошибок, мы можем создавать более эффективные пользовательские истории, которые приносят ценность пользователю и бизнесу.
11.: Лучшие практики по уточнению и поддержанию пользовательских историй
Уточнение и поддержание пользовательских историй — это непрерывный процесс, требующий тщательного внимания к деталям и фокуса на предоставлении ценности пользователю и бизнесу. Вот некоторые лучшие практики по уточнению и поддержанию пользовательских историй:
Непрерывно пересматривать и приоритизировать пользовательские истории
Пользовательские истории должны непрерывно пересматриваться и приоритизироваться, чтобы обеспечить их актуальность и соответствие потребностям пользователя и бизнеса. Это помогает обеспечить, что ресурсы направляются на наиболее важные функции.
Уточнять пользовательские истории по мере необходимости
Пользовательские истории должны уточняться по мере необходимости, чтобы обеспечить их четкое определение и соответствие потребностям всех заинтересованных сторон. Уточнение пользовательских историй может включать добавление или удаление функций, обновление критериев приемки или уточнение потребностей пользователей.
Тестировать пользовательские истории, чтобы убедиться, что они соответствуют критериям приемки
Тестирование пользовательских историй является необходимым условием для обеспечения соответствия критериям приемки и готовности к выпуску. Это помогает обеспечить, что пользовательские истории приносят ценность пользователю и бизнесу.
Сообщать заинтересованным сторонам о изменениях
Изменения в пользовательских историях должны быть сообщены всем заинтересованным сторонам, чтобы обеспечить, что все имеют четкое понимание того, что разрабатывается. Это помогает обеспечить, что все находятся в едином ключе и не возникает неожиданностей в ходе разработки.
Использовать метрики для измерения успеха
Метрики могут использоваться для измерения успеха пользовательских историй и выявления областей для улучшения. К таким метрикам могут относиться удовлетворенность пользователей, показатели внедрения или выручка, генерируемая продуктом.
Использовать ретроспективы для непрерывного улучшения
Ретроспективы являются важной частью разработки по Agile и могут использоваться для непрерывного улучшения пользовательских историй. Ретроспективы включают анализ того, что хорошо сработало, и того, что можно улучшить, с целью уточнения и оптимизации процесса разработки.
Следуя этим лучшим практикам, мы можем уточнять и поддерживать пользовательские истории, которые приносят ценность пользователю и бизнесу.
12. Инструменты и методы написания и управления пользовательскими историями
Существует несколько инструментов и методов, которые можно использовать для написания и управления пользовательскими историями в проекте разработки по Agile. Вот некоторые популярные варианты:
Картирование пользовательских историй
Картирование пользовательских историй — это визуальный метод, который помогает организовать и приоритизировать пользовательские истории. Карта пользовательских историй обычно включает создание матрицы, отображающей цели пользователей, задачи пользователей и пользовательские истории, что может помочь выявить пробелы и приоритизировать функции.
Создание персонажей
Персонажи — это вымышленные личности, представляющие различные типы пользователей, которые будут использовать систему. Создание персонажей может помочь обеспечить четкое определение пользовательских историй и соответствие потребностям всех пользователей.
Интервью с пользователями
Интервью с пользователями могут предоставить ценные сведения о потребностях пользователей и помочь выявить пользовательские истории, приносящие ценность пользователю. Интервью с пользователями могут проводиться лично или удаленно, в зависимости от требований проекта.
Инструменты управления проектами в Agile
Инструменты управления проектами в Agile, такие как JIRA или Trello, и Visual Paradigm можно использовать для управления пользовательскими историями и отслеживания прогресса. Эти инструменты обычно позволяют пользователям создавать, приоритизировать и назначать пользовательские истории членам команды, а также предоставлять реальное время отслеживания статуса проекта.
Непрерывная интеграция и развертывание
Непрерывная интеграция и развертывание (CI/CD) — это практика разработки программного обеспечения, которая включает непрерывную интеграцию изменений кода и их развертывание в производственную среду. Этот подход может помочь обеспечить быструю и надежную доставку пользовательских историй.
Автоматическое тестирование
Автоматическое тестирование можно использовать для обеспечения соответствия пользовательских историй критериям приемки и готовности к выпуску. Автоматическое тестирование может помочь снизить риск ошибок и обеспечить быструю обратную связь по изменениям.
Используя эти инструменты и методы, мы можем эффективнее писать и управлять пользовательскими историями, а также обеспечивать, чтобы они приносили ценность пользователю и бизнесу.
13. Заключение
Написание качественных пользовательских историй является важным аспектом разработки по Agile, а критерии INVEST предоставляют полезную основу для создания четко определенных, ценных и легко реализуемых пользовательских историй. Процесс картографирования пользовательских историй и планирования релизов также помогает командам приоритизировать усилия по разработке на основе потребностей пользователей и ограничений проекта, а также формировать общее понимание требований к продукту среди членов команды и заинтересованных сторон. Следуя этим лучшим практикам, команды разработки могут создавать высококачественные продукты, отвечающие потребностям пользователей и приносящие ценность бизнесу. Эффективное взаимодействие с заинтересованными сторонами и командой разработки также критически важно для успеха, и команды должны быть инициативными в поиске обратной связи и интеграции её в процесс разработки. Обладая этими инструментами и методами, команды могут создавать продукты, отвечающие потребностям своих пользователей и способствующие успеху бизнеса.
Ресурсы
- Что такое разработка программного обеспечения по Agile?
- Что такое пользовательская история?
- Что такое картографирование пользовательских историй?
- Пользовательская история против использования случая в разработке программного обеспечения по Agile
- Подход, основанный на использовании случая, для разработки по Agile
- Лучший автоматизированный инструмент для фреймворка LeSS в управлении проектами по Agile











