Temat: Zależność między historyjkami biznesowymi.
Długość Sprintu powinna być określana na postawie akceptowalnego poziomu ryzyka z jednej strony i czasu potrzebnego zespołowi na wytworzenie czegoś ukończonego z drugiej. Poziom ryzyka zależy od złożoności środowiska, w jakim pracujemy i horyzontu planowania.
Wielkość Zespołu Deweloperskiego to jeden z czynników składających się na złożoność środowiska, ale nie jedyny. Te czynniki to: znajomość i zmienność wymagań, co ma odzwierciedlenie w Rejestrze Produktu i jego dynamice; technologia (nowa czy dobrze znana itd.); i ludzie (wielkość zespołu, doświadczenie i poziom umiejętności, zgranie itd.).
Jeśli więc mamy np. początek projektu, kiedy w wymaganiach jest dużo niewiadomych, często się zmieniają, zespół jest duży (np. 9 osób), świeżo skompletowany i do tego pracuje w nowej technologii, której nie zna, to mamy do czynienia z bardzo złożonym środowiskiem. Obranie więc 30-dniowego horyzontu planowania w takiej sytuacji spowoduje prawdopodobnie to, że poziom ryzyka będzie nie do przyjęcia. Chcąc go zmniejszyć można redukować złożoność albo ograniczać horyzont planowania.
Oczywiście redukując i ograniczając do minimum możemy dojść do sytuacji, kiedy taki "zespół" nie będzie w stanie niczego wytworzyć. To ta druga strona determinująca minimalną długość iteracji.
Tak więc to wszystko zależy do bardzo wielu czynników i nie ma prostej odpowiedzi na optymalną długość Sprintu, chociaż ogólne wzorce można określić:
Dla krótkiego projektu (np. 2-miesięcznego) lepsze będą krótkie iteracje (np. 1-2 tygodniowe), bo długich (miesięcznych) będzie po prostu za mało i będziemy mieli zbyt mało okazji do inspekcji i adaptacji. W długich projektach można zaryzykować dłuższe iteracji, bo krótkie mogą okazać się zbyt dużym narzutem organizacyjnym.
Jeżeli mamy do czynienia z mało zaangażowanym klientem, lepsze mogą być znowu krótsze iteracje, bo zmusi go to do częstszych kontaktów z zespołem. Z zaangażowanym, ulokowanym w pobliżu zespołu Właścicielem Produktu umiejącym wykorzystywać Scrum w swojej pracy, można spróbować dłuższych.
Dla świeżych i niedoświadczonych zespołów znowu lepsze mogą być krótsze iteracje, żeby zespół nauczył się wytwarzać coś małego ale ukończonego. Długie iteracje to zbyt duże ryzyko, że więcej czasu i pracy się zmarnuje. Zgrany zespół wyjadaczy może się pokusić o miesięczne Sprinty.
Jeżeli wymagania są słabo znane, może być potrzeba wprowadzania częstszych zmian, a więc krótsze iteracje. Stabilny, dobrze przygotowany Rejestr Produktu, mało zmian — można dłuższe.
itd.
Ważne jest, żeby zdawać sobie sprawę z tych wszystkich czynników i przy określaniu długości Sprintu brać je wszystkie pod uwagę, a najlepiej długość określać empirycznie, tj. wypróbowując różne "ustawienia", pamiętając jednocześnie, że zbyt częste zmiany "ustawień" to znowu zwiększanie złożoności :)
Bogdan B. edytował(a) ten post dnia 02.09.11 o godzinie 13:13