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