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

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

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

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

Должен ли я просто продолжить работу с моими схемами проектирования классов и диаграммами последовательности, а также документировать детали реализации в другом месте?

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

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


person Nikos    schedule 21.07.2014    source источник


Ответы (1)


Я думаю, что пользовательские истории замедляют вас, потому что их трудно освоить, если вы исходите из водопада «вариантов использования».

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

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

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

В этом случае у вас может быть одна история

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

чтобы построить пользовательский интерфейс на основе фиксированного, неизменного, минималистского индекса, но тогда у вас может быть другая история (для сканера)

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

а потом дальше истории

как пользователь я хочу искать PDF-файлы, чтобы...",

для расширения обходчика.

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

person Sklivvz    schedule 21.07.2014
comment
Да, основное приложение отвечает за обработку данных, некоторую статистику и безопасность, а сканер получает свежие данные. Так должен ли я поместить последние 2 пользовательские истории, которые вы упомянули, в отдельное приложение для краулера, поскольку они представляют реальную ценность для пользователей основного приложения? - person Nikos; 21.07.2014
comment
Вы уверены, что это не представляет никакой ценности? Если да, то у вас нет причин это делать. - person Sklivvz; 21.07.2014