Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Пользовательские истории (User Story) как способ описания требований, Acceptance Сriteria (AC)

Лекция



Привет, Вы узнаете о том , что такое пользовательские истории, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое пользовательские истории, user story, acceptance сriteria, ac , настоятельно рекомендую прочитать все из категории Разработка программного обеспечения и информационных систем.

пользовательские истории (англ. User Story) — способ описания требований к разрабатываемой системе, сформулированных как одно или более предложений на повседневном или деловом языке пользователя. Пользовательские истории используются гибкими методологиями разработки программного обеспечения для спецификации требований (вместе с приемочными испытаниями ruen). Каждая пользовательская история ограничена в размере и сложности. Часто история пишется на маленькой бумажной карточке. Это гарантирует, что она не станет слишком большой. В Экстремальном программировании пользовательские истории пишутся пользователями (заказчиками) системы. В методологии SCRUM — проходят проверку пользователем в роли «Владелец продукта» (англ. Product Owner). Для заказчиков (пользователей) пользовательские истории являются основным инструментом влияния на разработку программного обеспечения.

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

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

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

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

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

  1. Роль (Role): Кто будет использовать функцию или какую роль она затрагивает (например, "пользователь", "администратор", "гость" и т.д.).

  2. Действие (Action): Что пользователь или роль планирует сделать с системой или функцией (например, "просматривать", "создавать", "редактировать" и т.д.).

  3. Цель (Goal): Зачем пользователь или роль хочет выполнить это действие (например, "просмотреть список товаров", "создать новую задачу", "редактировать профиль пользователя" и т.д.).

  4. Польза (Benefit): Какую пользу получит пользователь или роль от выполнения этой задачи или действия (например, "быстрый доступ к необходимой информации", "повышение производительности" и т.д.).

User Story (US) – это краткая формулировка того, что мы будем разрабатывать в системе, что привнесет ценность в пользовательский опыт (решит его проблему).

US формулируются по такому шаблону:

Я как персона/пользователь системы
ХОЧУ желание/потребность/функциональность
ЧТОБЫ получить ценность/решить проблему

Однако, не всегда одного текста US достаточно. Поэтому для того, чтобы разработчик понял, что нужно сделать, а тестировщик смог проверить результат, в дополнении к User Story пишутся критерии приемки. (см. ниже подробнее)

Принцип

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

Общие шаблоны

Пользовательские истории могут следовать одному из нескольких форматов или шаблонов.

Наиболее распространенным является шаблон Connextra , указанный ниже. Майк Кон предположил, что предложение «so that» является необязательным, хотя все равно часто полезным.

Как <роль> я могу <возможность>, чтобы <получить выгоду> 
As a  I can , so that 

Крис Мэттс предположил, что «поиск ценности» является первым шагом на пути к успешной поставке программного обеспечения, и предложил следующую альтернативу:

Чтобы <получить выгоду> как <роль>, я могу <цель/желание>
In order to  as a , I can 

Другой шаблон, основанный на « Пяти W», определяет:

Как <кто> <когда> <где>, я хочу <что>, потому что <почему>
As   , I want  because 

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

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

As a disgruntled employee, I want to wipe out the user database to hurt the company

Создание пользовательских историй

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

Как только клиент создает историю, она записывается на небольшой карточке (например, 8x13 см) с названием и описанием, которое сформулировал клиент. Если разработчик и клиент видят, что история их не устраивает (слишком большая, сложная, неточная), она переписывается, пока это не удовлетворит обе стороны. Однако, Экстремальное программирование подчеркивает, что пользовательские истории не должны быть окончательно определенными на момент записи, так как требования имеют тенденцию изменяться со временем в процессе разработки.

Пример пользовательской истории:

 
Как пользователь, я хочу просматривать список товаров,

чтобы мне было удобно выбирать и покупать необходимые товары онлайн.

Примеры

Отборочный тест (эпическая история)

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

Викторина отзыв

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

Ограниченное резервное копирование

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

Пользовательские истории (User Story) как способ описания требований, Acceptance Сriteria (AC)

Использование

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

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

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

Критерии приемки acceptance сriteria (AC)

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

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

Критерии приемки или Acceptance Сriteria (AC) – это структурированные, подробные пункты требований к создаваемой системе, которым должна соответствовать User Story, чтобы работа по ней считалась завершенной с точки зрения клиента / владельца продукта.

Идеальные критерии приемки:

  • Бинарные
  • Полные
  • Подтверждаемые
  • Однозначные
  • Непротиворечивые

А также все AC совместно с US должны удовлетворять критериям INVEST:

  • Independent – независимая,
  • Negotiable – обсуждаемая,
  • Valuable – ценная,
  • Estimable – возможная для оценки,
  • Small – компактная
  • Testable – тестируемая.

Теперь правила, которые мне помогают в написании критериев приемки. Для себя я их сформулировала так:

  1. Используй опорный критерий

  2. Структурируй

  3. Пиши и сокращай

  4. Помни о правилах INVEST и хороших AC

  5. Перечитай сам и дай другу

  6. Используй лайфхаки

Приступим к разбору каждого правила на рабочих примерах.

Приступим к разбору каждого правила на рабочих примерах.

Правило №1: Используй опорный критерий

Если абстрагироваться от теории, то US + AC – это та же самая статья, в начале которой описывается краткая суть, краткое содержание того, чем вы хотите поделиться с читателем. Любому потребителю вашего документа важно однозначно понимать краткое содержание описываемого функционала. Это и есть опорный критерий.

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

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

Пользовательские истории (User Story) как способ описания требований, Acceptance Сriteria (AC)

Как выглядят критерии приемки без опорного критерия:

Пользовательские истории (User Story) как способ описания требований, Acceptance Сriteria (AC)

Теперь посмотрим на критерии приемки с опорным критерием:

Пользовательские истории (User Story) как способ описания требований, Acceptance Сriteria (AC)

Как мы видим, опорный критерий помогает нам достичь однозначности и определенности. Об этом говорит сайт https://intellect.icu . Мы сразу понимаем, что на главной странице есть функциональность отображения списка магазинов и ресторанов, а также у пользователя есть возможность поиска для сокращения времени на выбор позиций для покупки. Да, это другая User Story, но мы обозначаем, что она есть, т. к. эта функциональность напрямую помогает работать пользователю со списком ресторанов/магазинов.

Правило №2: Структурируй

Мы всегда должны понимать, кем и как используется наш документ. В нашей команде тестировщик использует US + AC для составления тест-кейсов, разработчик – для написания кода будущего функционала, а также в качестве критериев Definition Of Done после написания кода.

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

Рассмотрим пример написания критериев приемки без структуры и с ней. User Story описывает функциональность онбординга (инструкции использования) пользователя в мобильном приложении «Профиль клиента».

User Story:

Пользовательские истории (User Story) как способ описания требований, Acceptance Сriteria (AC)

Как выглядят критерии приемки без структуры:

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

Блок основной информации на странице 1 содержит информацию об управлении профиля, на странице 2 – информацию о возможности подключения сервисов, на странице 3 – информацию о способах оплаты, на странице 4 – об обращении в службу поддержки. Подробное описание основной информации всех страниц смотри на Макетах

кнопки навигации: на 1, 2, 3 страницах отображается кнопка «Вперед», нажимая на которую, открывается следующая страница. На 2, 3, 4 страницах отображается кнопка «Назад», нажимая на которую, открывается предыдущая страница. На странице 4 отображается кнопка «Готово», нажимая на которую» открывается Главная страница мобильного приложения. Если пользователь авторизуется в МП не в первый раз, то онбординг не открывается, открывается сразу главная страница мобильного приложения.

Как выглядят структурированные критерии приемки:

Пользовательские истории (User Story) как способ описания требований, Acceptance Сriteria (AC)

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

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

Правило №3: Пиши и сокращай

Если вы еще не читали книгу «Пиши и сокращай» Максима Ильяхова, то советую вам это сделать.

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

User Story:

Пользовательские истории (User Story) как способ описания требований, Acceptance Сriteria (AC)

Один из критериев выглядел так:

Пользовательские истории (User Story) как способ описания требований, Acceptance Сriteria (AC)

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

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

Как можно было бы переписать этот критерий:

Пользовательские истории (User Story) как способ описания требований, Acceptance Сriteria (AC)

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

Правило №4: Помни про INVEST и о критериях хороших AC

Здесь я не буду приводить примеры. Правило заключается лишь в том, что после написания всех критериев необходимо перечитать весь текст на предмет выполнения INVEST’а (о нем я говорила в начале статьи).

Да, часто бывает так, что какой-то из критериев не выполняется (как правило, это независимость от других US). Но важно это обсудить с командой и принять общее решение – разрабатывать задачу с учетом этих рисков или нет.

О критериях хороших AC я также говорила в самом начале статьи (бинарность, полнота, подтверждаемость, однозначность, непротиворечивость).

Что касается инструкций, я также, как и с критериями INVEST, прохожусь по всем критериям приемки и проверяю их на соблюдение каждого «критерия хороших AC».

Правило №5: Перечитай сам и дай прочитать другому

Делитесь документом с коллегами. В моей команде, прежде чем отдать документ разработчикам, я прошу проверить его на адекватность владельца продукта, тестировщика и системного аналитика. Вы – часть команды. А ответственность за результат лежит на всех ее участниках. Поэтому не бойтесь делиться и принимать комментарии и замечания от коллег. Помните, что принятие обратной связи – это шаг вперед в развитии вашей компетенции, а также в развитии вашего проекта/продукта. Ну и элементарно: мнение со стороны помогает ничего не упустить и быть правильно понятым.

Правило №6: Используй лайфхаки

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

  1. Если вам необходимо описать, ЧТО происходит в системе в результате какого-либо события, то используйте принцип: ЕСЛИ произошло событие (если пользователь нажал на кнопку), ТО получаем результат (ТО система сохраняет данные в системе).

    Также можно вместо ЕСЛИ, ТО описать событие и выделить результат фразой «В РЕЗУЛЬТАТЕ». Эти конструкции помогут не наплодить несколько критериев в одном:

    Пользовательские истории (User Story) как способ описания требований, Acceptance Сriteria (AC)

  1. Общеизвестный формат описания Given When Then (по Геркину). Он похож на формат ЕСЛИ, ТО, только здесь еще прописывается состояние системы в начальный момент.

    В блоке ДАНО пишем состояние системы в начальный момент, в блоке КОГДА – действия пользователя, событие, и в ТОГДА – результат:

    Пользовательские истории (User Story) как способ описания требований, Acceptance Сriteria (AC)

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

    Пользовательские истории (User Story) как способ описания требований, Acceptance Сriteria (AC)

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

    Пользовательские истории (User Story) как способ описания требований, Acceptance Сriteria (AC)

User story + АС в виде списка или чек-листа

User story + АС в виде Gherkin (сценарно-ориентированный подход на Gherkin, основанный на методологии BDD.)

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

Он широко применяется в разработке программного обеспечения для:

  • Документирования пользовательских сценариев
  • Написания автоматизированных тестов
Таким образом, использование Gherkin позволяет сократить разрыв между бизнесом и разработчиками, улучшить понимание требований и облегчить процесс тестирования.
Синтаксис и примеры

В синтаксисе Gherkin есть несколько ключевых слов, которые указывают на особое поведение. Базовый синтаксис Gherkin достаточно прост.
Пользовательские истории (User Story) как способ описания требований, Acceptance Сriteria (AC)
Базовый формат операторов Given, When и Then часто обогащается операторами объединения.
Пользовательские истории (User Story) как способ описания требований, Acceptance Сriteria (AC)
Допустим, мы работаем над уже знакомой нам историей:
Как пользователь
Я хочу искать товар в пределах установленного диапазона стоимости
Чтобы найти подходящие мне товары в моей ценовой категории
Пример сценария, описанный в Gherkin, может иметь вид:
Пользовательские истории (User Story) как способ описания требований, Acceptance Сriteria (AC)
Каждый из пунктов — шаг сценария. В рамках одного сценария нельзя повторяться в выражениях. Обратите внимание, что язык не содержит оператора OR / ИЛИ. Тест должен давать конкретный результат, поэтому в таких ситуациях составляем еще один сценарий.
Пользовательские истории (User Story) как способ описания требований, Acceptance Сriteria (AC)
Расширенный синтаксис Gherkin имеет на сегодняшний день более 10 выражений, и язык продолжает развиваться.

Начиная с шестой версии в Gherkin добавлен Rule — набор сценариев, позволяющих проверить не одну, а несколько функций для одного бизнес-правила. Тогда общее предусловие Given выносится «за скобки» общего набора сценариев.
Пользовательские истории (User Story) как способ описания требований, Acceptance Сriteria (AC)
Мы можем использовать критерии приемки, описанные при помощи Gherkin, для разных целей: для автоматизации тестирования или для предоставления чëтких и понятных примеров тестировщикам и разработчикам. Важно, что независимо от того, как мы используем эти критерии, основная цель — донести логику процессов — будет достигнута.

Преимущества использования пользовательских историй

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

XP и другие гибкие методологии предпочитают общение лицом к лицу вместо всесторонней документации; быструю адаптацию к изменениям вместо фиксации на проблеме. Это достигается следующим:

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

Преимущества использования пользовательских историй:

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

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

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

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

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

Ограничения

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

Ограничения пользовательских историй включают в себя:

  • Проблема масштабирования : пользовательские истории, записанные на небольших физических карточках, трудно поддерживать, сложно масштабировать для крупных проектов и создавать проблемы для географически распределенных команд.
  • Неопределенные, неформальные и неполные : пользовательские истории считаются темами для разговора. Будучи неформальными, они открыты для множества интерпретаций. Будучи краткими, они не содержат всех деталей, необходимых для реализации функции. Поэтому истории не подходят для достижения официальных соглашений или написания юридических контрактов. [ 22 ]
  • Отсутствие нефункциональных требований : пользовательские истории редко включают сведения о производительности или нефункциональных требованиях, поэтому нефункциональные тесты (например, время отклика) могут быть упущены из виду.
  • Не обязательно представлять, как должна быть создана технология: поскольку пользовательские истории часто пишутся с точки зрения бизнеса, как только техническая команда начинает внедрять, она может обнаружить, что технические ограничения требуют усилий, которые могут быть шире, чем объем отдельной истории. Иногда разделение историй на более мелкие может помочь решить эту проблему. В других случаях наиболее подходящими являются истории «только технические». Эти истории «только технические» могут быть оспорены заинтересованными сторонами бизнеса, поскольку они не предоставляют ценности, которую можно продемонстрировать клиентам/заинтересованным сторонам.

Пользовательские истории и сценарии использования

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

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

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

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

Связь с эпосами, темами и инициативами/программами

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

Пользовательские истории (User Story) как способ описания требований, Acceptance Сriteria (AC)

Карта историй в действии, с эпиками наверху для структурирования историй

В то время как некоторые предлагают использовать «эпик» и «тему» ​​в качестве меток для любого мыслимого вида группировки пользовательских историй, руководство организации склонно использовать их для сильной структуризации и объединения рабочих нагрузок. Например, Jira , похоже, использует иерархически организованный список дел , в котором они назвали первый уровень задач «пользовательская история», второй уровень «эпики» (группировка пользовательских историй) и третий уровень «инициативы» (группировка эпиков). Однако инициативы не всегда присутствуют в разработке управления продуктом и просто добавляют еще один уровень детализации. В Jira существуют «темы» (для целей отслеживания), которые позволяют перекрестно связывать и группировать элементы разных частей фиксированной иерархии . [

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

Тема ( Theme)

Несколько эпиков или много очень больших историй, которые тесно связаны, суммируются как темы. Распространенное объяснение эпиков также: так много работы, которая требует много спринтов, или в масштабируемых фреймворках — Release Train или Solution Train.

Инициатива (Initiative)

Несколько тем, эпосов или историй, сгруппированных иерархически.

Эпик( Epic)

Несколько тем или историй, сгруппированных по онтологией и/или семантическим связям.

Карта истории

Пользовательские истории (User Story) как способ описания требований, Acceptance Сriteria (AC)

Картографирование пользовательской истории

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

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

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

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

Таким образом, становится возможным описывать даже большие системы, не теряя общей картины.

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

Карта пути пользователя

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

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

Сравнение User Stories с вариантами использования (Use Cases)

Вариант использования (User Cases) описывается как «обобщенное описание набора взаимодействий между системой и одним или несколькими субъектами, где субъектом является либо пользователь, либо другая система».Хотя пользовательские истории и варианты использования имеют некоторые сходства, между ними есть и несколько различий.

Истории пользователей (User Stories ) Варианты использования (Use Cases)
Сходства
  • Обычно формулируются на повседневном языке пользователей. Они должны помочь читателю понять, что должно выполнять программное обеспечение.
  • Написано на повседневном деловом языке пользователей для облегчения общения заинтересованных сторон.
Различия
  • Предоставить небольшую и удобную для использования презентацию информации с небольшим количеством деталей, что позволит ее интерпретировать по-разному в ходе бесед с клиентами на месте.
  • Варианты использования организуют требования для формирования повествования о том, как пользователи относятся к системе и используют ее. Поэтому они фокусируются на целях пользователя и на том, как взаимодействие с системой удовлетворяет этим целям.
  • Потоки вариантов использования описывают последовательности взаимодействий и могут быть сформулированы в терминах формальной модели. Вариант использования призван предоставлять достаточно подробностей для того, чтобы его можно было понять сам по себе.
Шаблон Как <тип пользователя>, я могу <какая-то цель>, чтобы <какая-то причина>.
  • Название: «Цель, которую пытается удовлетворить вариант использования»
  • Основной сценарий успеха: пронумерованный список шагов
    • Шаг: «простое описание взаимодействия между субъектом и системой»
  • Расширения: отдельно пронумерованные списки, по одному на расширение
    • Расширение: «состояние, которое приводит к различным взаимодействиям из .. основного сценария успеха». Расширение от основного шага 3 имеет номер 3a и т. д.

Кент Бек , Алистер Кокберн , Мартин Фаулер и другие обсуждали эту тему далее в теме экстремального программирования

Пользовательские истории и прецеденты

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

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

Вау!! 😲 Ты еще не читал? Это зря!

Исследование, описанное в статье про пользовательские истории, подчеркивает ее значимость в современном мире. Надеюсь, что теперь ты понял что такое пользовательские истории, user story, acceptance сriteria, ac и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Разработка программного обеспечения и информационных систем

создано: 2023-10-10
обновлено: 2024-11-11
9



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Разработка программного обеспечения и информационных систем

Термины: Разработка программного обеспечения и информационных систем