Атрибуты качества пользовательских историй (User Stories): модель INVEST от Билла Уэйка

В рамках гибкой методологии Agile Билл Уэйк (Bill Wake) предложил технику оценки качества пользовательских историй (User Stories) — модель INVEST.

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

Independent (независимая)

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

Negotiable (обсуждаемая)

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

Valuable (полезная)

Наиболее важный атрибут модели.

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

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

Estimable (оцениваемая)

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

Small (маленькая, компактная)

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

Testable (тестируемая)

Хорошая пользовательская история может быть протестирована, то есть для нее можно написать критерии приемки (Acceptance Criteria), например, в виде сценариев (Scenarios) для тестирования.

Смотрите также:

  1. «Магия» Impact Map.
  2. 5 признаков хороших пользовательских историй (User Stories) от Робертсонов.
  3. Приемочные тесты (Acceptance Tests) в виде сценариев для пользовательских историй (User Stories).

Источники:

  1. XP123: Exploring Extreme Programming.