Czy jest jakiś standardowy sposób, aby wiedzieć, kiedy przestać pisać historie użytkowników, a jeśli tak, to na jakiej podstawie i jak ma to zastosowanie do przyszłych sprintów?
Nie znam osobiście standardowej metody. To naprawdę sprowadza się do połączenia twojej metodologii i oczekiwań klienta.
Przekonałem się, że lepiej zacząć kodowanie, gdy tylko masz wystarczająco dużo historii od klienta, aby zacząć. Jak powiedzieli inni, może to dotyczyć pojedynczej iteracji, jednak może być dłuższe. Miarą wystarczającą powinno być kierowanie się tym, jak często zamierzasz udostępnić działający kod klientowi, a nie zlecać klientowi dostarczenie ci nieskończonej listy historii (z których wiele prawdopodobnie nigdy nie zostanie ukończonych, może się zmienić lub nie, wyznacz swój główny termin wydania), lepiej zapytać klienta o pierwsze 3-5 najważniejszych i najwyższych priorytetów. Gdy zostaną one wykonane i wydane klientowi, zbierasz kolejne najważniejsze 3-5 funkcji i tak dalej. Poproś o mniej więcej, w zależności od tego, jak prawdopodobne będą twoje iteracje.
Twój klient, umowa lub termin może być może wskazać, kiedy faktycznie przestać pytać o historie, ale w międzyczasie prosiłeś o historie i zatrzymywałeś się tak często, jak masz iteracje. Gdy w drodze porozumienia ty i klient poczujesz, że produkt jest wystarczająco kompletny, możesz zdecydować, co zrobić z pozostałymi historiami, których klient jeszcze nie dał.
Główną zaletą tego podejścia jest to, że ostatecznie dostarczasz klientowi największą wartość, a wraz z rozwojem projektu i upływem czasu ilość dostarczanej klientowi wartości spada do punktu, w którym klient może uzyskać decyzja o „ostatnich 20% funkcji”, których mogliby sobie życzyć, a których w rzeczywistości nigdy nie można wykorzystać. Skraca również czas marnowany na trywialne przedmioty o niskim priorytecie, nakładając odpowiedzialność (i stres) na ustalanie priorytetów i planowanie iteracji z powrotem na klienta, a wszystko to wyłącznie w oparciu o potrzeby klienta. Nie oznacza to jednak, że nie powinieneś udzielać wskazówek klientowi, aby uniknąć trudności w planowaniu wąskich gardeł, które mogą się ujawnić podczas rozmowy z klientem o wymaganiach.
Przeczytaj Lean Software Development Poppendeicks, jeśli chcesz bardziej szczegółowy opis tego podejścia w szerszym kontekście.