Может ли один вариант использования быть частично реализован или реализован в несколько этапов? Как отслеживать и расставлять приоритеты компонентов?

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

Может ли вариант использования когда-либо быть частично реализован? Или это будет означать, что его следует разложить на более мелкие сценарии использования с extends / includes? Если это может быть частично реализовано, как вы отслеживаете отдельные функции, чтобы высокоприоритетные элементы не терялись?

Например, если у меня есть один вариант использования для проверки орфографии со следующим:

  1. Выявление потенциально неправильно написанных слов
  2. Визуальная идентификация слов с ошибками в качестве пользовательских типов
  3. Автокоррекция слов с ошибками при вводе пользователем
  4. Предоставление пользователю списка предлагаемых вариантов написания для отдельных слов
  5. Предоставление пользователю возможности массово исправлять опечатки
  6. Позволяет пользователю игнорировать потенциальные опечатки один раз
  7. Позволяет пользователю добавлять слова в словарь

Как мне определить приоритеты отдельных функций, а затем отслеживать реализацию функций 1 и 4 на одном этапе, 2, 3, 6 на втором, 5 на третьем и не внедрять 7? В этом примере это должны быть отдельные варианты использования или один с несколькими альтернативными потоками?

1 ответ

Решение

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

Да, вы можете разделить варианты использования с помощью include / extension. Это имеет большой смысл, когда вы показываете, как они разлагаются. Вы также можете нарисовать обобщения вариантов использования.

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

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

Другие вопросы по тегам