Когда прекратить писать истории пользователей и начать писать код?

9

Когда вы узнаете истории для первого спринта, как вы узнаете, когда прекратить писать и двигаться вперед?

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

Есть ли какой-нибудь стандартный способ узнать, когда прекратить писать истории пользователей, и если да, то, что является основанием для этого, и как это применимо к будущим спринтам?

просчеты
источник
2
Как только у вас кончится финансирование А.
Работа

Ответы:

15

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

Когда вы оцените достаточно для итерации, начните кодирование.

Одед
источник
+1 @Oded: Да, это один подход, с которым я столкнулся, хотя вы начинаете с поиска эпосов вначале, затем тем и, наконец, переходите к исполняемым историям после того, как «важные» эпики / темы «сделаны» ... или Вы пытаетесь найти как можно больше исполняемых историй и двигаться вперед?
промахи
1
Да, владелец вашего продукта (или кто бы то ни было) должен кормить вас этими историями в приоритетном порядке. Возможно, вы захотите немного пройти мимо того, что, по вашему мнению, вы можете сделать в спринте, поэтому у вас есть кое-что еще ... на всякий случай. В любом случае, это не напрасная работа, так как вам придется выполнять работу независимо, это просто вопрос того, когда она будет выполнена.
Брэндон
1
@blunders - Вы начинаете с наивысшего приоритета. Уточняйте, пока он не станет достаточно понятным для оценки и реализации. Промыть и повторять до тех пор, пока вы не оцените достаточно для итерации - в этот момент начните итерацию и кодирование
Одед
4

Когда у вас есть полное отставание продукта, и хорошие полные пользовательские истории всех дел. Затем разделите их на итерации и начните программировать.

1ntello
источник
2
+1 Спасибо, что поделились, и да, это один из подходов, который я слышал в контексте проекта с временными рамками; подумайте о консалтинговом проекте с фиксированной ставкой. Тем не менее, по моему мнению, Agile - это обучение, и если вы попытаетесь узнать все до начала, это действительно не гибкий подход.
промахи
1

Эти два действия не являются антагонистическими.

Написание историй - об определении желаемых потребностей в рамках ограничения стоимости бизнеса.

Начало кода происходит в середине спринта. Чтобы начать спринт, единственным предварительным условием является определенное отставание в спринте, приоритетом которого является ПО (автор истории) и который выбирается командой.

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

Вы должны начать кодировать в контексте спринта, когда история понята (анализ) и определены тестирование и реализация (дизайн) - классический подход к разработке программного обеспечения.

Oli
источник
0

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

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

hanzolo
источник
0

Есть ли какой-нибудь стандартный способ узнать, когда прекратить писать истории пользователей, и если да, то, что является основанием для этого, и как это применимо к будущим спринтам?

Я лично не знаю стандартного метода как такового. Это действительно сводится к сочетанию вашей методологии и ожиданий вашего клиента.

Я обнаружил, что лучше начать кодирование, как только у вас будет «достаточно» историй от вашего клиента, чтобы начать. Как уже говорили другие, это может быть для одной итерации, однако это может быть для большего. Ваша мера достаточности должна основываться на том, как часто вы собираетесь выпускать рабочий код для вашего клиента, а не на том, чтобы ваш клиент давал вам бесконечный список историй (многие из которых, вероятно, никогда не будут выполнены, или могут измениться, а могут и не измениться). сделать основной срок выпуска), лучше спросить вашего клиента о первых 3-5 наиболее важных и приоритетных функций. Когда это сделано и выпущено для вашего клиента, вы собираете следующие наиболее важные 3-5 функций и так далее. Попросите больше или меньше в зависимости от того, как долго ваши итерации могут быть.

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

Основным преимуществом этого подхода является то, что вы в конечном итоге доставляете клиенту наибольшую ценность, и, по мере роста проекта и времени, стоимость, которую вы предоставляете клиенту, уменьшается до той степени, в которой клиент может сделать решение о «последних 20% функций», которые они могли бы пожелать, и которые, возможно, никогда не будут использованы. Это также сокращает время, затрачиваемое на тривиальные и низкоприоритетные позиции, возлагая ответственность (и стресс) на установление приоритетов и планирование итераций обратно на клиента, и все это основано исключительно на потребностях клиента. Это, однако, не означает, что вы не должны давать указания клиенту, чтобы избежать трудностей в планировании узких мест, которые могут проявиться при обсуждении требований с клиентом.

Прочтите статью Lean Software Development от Poppendeicks, если вы хотите более подробное описание этого подхода в более широком контексте.

S.Robins
источник
0

Вы никогда не прекращаете писать истории ... Просто, когда у вас будет достаточно историй для спринта 1, вы будете планировать спринт, и ваша команда начнет работать в соответствии с отставанием спринта.

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

Асим Гаффар
источник