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

Шаблон Connextra

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

As a [user], I want to [capability], so that [receive benefit].

Вот разбивка каждой части:

  • "Как [пользователь]". Эта часть определяет роль или личность пользователя, для которого разрабатывается функция или функция.
  • «Я хочу [возможность]». В этой части описывается желаемое действие или возможность, которой хочет достичь пользователь.
  • "чтобы [получить выгоду]": в этой части объясняется мотивация или причина потребности пользователя в возможности, подчеркивая выгоду, которую он ожидает получить.

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

Приемочные испытания

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

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

Преимущества

Связывая пользовательские истории и приемочные тесты, Agile-команды могут получить несколько преимуществ:

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

Примеры из реальных проектов

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

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

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

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

  1. Сотрудничайте со своей командой, чтобы создавать пользовательские истории, которые четко определяют потребности пользователя, желаемые возможности и ожидаемые преимущества.
  2. Установите условия, которые должны быть соблюдены, чтобы пользовательская история считалась завершенной — мы называем эти условия критериями приемлемости. Эти критерии будут использоваться для создания приемочных испытаний.
  3. Используйте пользовательские истории и их критерии приемлемости для создания приемочных тестов, которые проверяют функциональность и гарантируют, что она соответствует требованиям пользователя.
  4. По мере разработки функций постоянно запускайте приемочные тесты и анализируйте результаты, чтобы убедиться, что реализованная функциональность соответствует пользовательским историям.
  5. Если приемочные тесты выявляют несоответствия между пользовательскими историями и разработанными функциями, команда разработчиков должна повторять и улучшать функции до тех пор, пока они не будут соответствовать критериям приемки.

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