To świetne pytanie. Teoria mówi, że historie użytkowników powinny być niezależne, ale nigdy nie byłem w stanie tego w pełni osiągnąć.
Moim zdaniem najważniejsze jest przekazanie zależności, aby zarówno zespół, jak i właściciel produktu byli tego świadomi. Zmusi to właściciela produktu do przedefiniowania historii użytkownika, aby usunąć zależność (na przykład poprzez scalenie historii użytkownika) lub do odpowiedniego zdefiniowania priorytetu biznesowego, aby historia użytkownika głównego została najpierw wdrożona.
W oparciu o decyzję o priorytecie i PO zaimplementujesz oba w tym samym sprincie lub zależny zostanie wdrożony później bez żadnego problemu, ponieważ zlecenie zostanie już wykonane.
W najgorszym przypadku A jest zależne od B, a B jest zależne od A. W takim przypadku historie użytkowników są najprawdopodobniej niepoprawnie zdefiniowane i powinny zostać przepisane do A i B (głównie niezależne lub zależne tylko w jednym kierunku), a C zależne od A i B.
Najlepszym rozwiązaniem jest podzielenie historii niezależnych użytkowników na mniejsze części, które mogą stać się możliwie najbardziej niezależne. Powinieneś zająć się historiami, od których najbardziej zależą pierwsze (jak powiedziałeś: te, które trzeba ukończyć jako pierwsze, aby kontynuować pozostałe). Utwórz coś w rodzaju indeksu zależności: jeśli w historii 3 jest więcej osób zależnych niż w historii 1, najpierw powinieneś przypiąć ją do historii 3.
Jeśli twoje zależności powodują zbyt wiele przestojów, dobrym pomysłem może być całkowite zaprzestanie pracy (tak w trakcie bieżącego sprintu) i ponowna ocena historii użytkowników priorytetowych i rozwiązanie ich w pierwszej kolejności
źródło