Agile - Определения пользовательских историй

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

Я (и я думаю, моя нынешняя организация!) всегда боролся со сбором требований в форме User Stories, которые принимают форму:

Как [Тип пользователя] я хочу [функцию], чтобы [какая-то польза]

Я всегда испытываю искушение пропустить начало и конец и просто оставить эту функцию - но это тогда просто становится требованиями, собирающим старый путь!

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

например.

Как диспетчер магазина, я хочу [увидеть список элементов запаса], чтобы...?

Является ли обычной практикой отказаться от предложения [так что]?

Ответ 1

Мы тоже пропустили это. И, оставив это, мы пропустили много. Чтобы правильно понять эту функцию, а не просто делать что-то правильно, но делать это правильно, важно знать, ПОЧЕМУ эту функцию, и для этого следующим ключом является ВОЗ (роль) В условиях DDD, заинтересованные стороны. Заинтересованные стороны могут быть разными, каждый, кто заботится. От программистов и администраторов db до всех типов пользователей.

Итак, сначала поймите, кто является заинтересованной стороной, тогда вы знаете 50% ПОЧЕМУ он заботится, то преимущество, а затем уже почти очевидно, ЧТО реализовать.

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

Возможно, вы можете реализовать что-то другое, что даст тому же заинтересованному лицу еще лучшую выгоду!!!

Ответ 2

Попробуйте, для достижения [Бизнес-ценности] Как [Пользователь] Мне нужна [Feature].

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

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

Ответ 3

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

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

Ответ 4

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

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

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

Ответ 5

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

Ответ 6

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

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

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