Jak planować zależności w Scrumie, gdy kilka zespołów pracuje nad jednym produktem?

Cykl: Zwinna Firma
20 marca 2019

3

Kilka, a nawet kilkanaście zespołów scrumowych pracuje nad rozwojem jednego produktu. Wcześniej czy później pojawiają się elementy backlogu produktu, których dostarczenie zależy od pracy innych zespołów. Jak je planować?

Dzisiaj pokażę wam prostą technikę, która – z jednej strony – pomoże wam, identyfikować zależności w zespołach scrumowych, z drugiej ułatwi ich planowanie.

Planowanie do przodu

„Planowanie do przodu” polega na tym, że w trakcie planowania bieżącego sprintu, planujecie także dwa kolejne sprinty, z wyprzedzeniem.

Wbrew pozorom, takie rozwiązanie wcale nie oznacza, że planowanie sprintu zajmie wam trzy razy więcej czasu, niż normalnie. Obiecuję, że jeżeli będziecie stosować tę praktykę zgodnie z moimi zaleceniami, to zaplanowanie dwóch kolejnych sprintów nie zajmie Wam dłużej niż 10 minut 😊

Jak się za to zabrać?

Planowanie do przodu zaczynamy tak samo, jak każde inne planowanie sprintu w Scrumie. Innymi słowy, pierwszy sprint planujecie normalnie – na podstawie historycznej prędkości zespołu lub na podstawie zobowiązania.

Jeśli chodzi o planowanie sprintu, ja jestem zdecydowanym fanem tego drugiego podejścia – na podstawie zobowiązania zespołu. Zaczynamy od najważniejszej historyjki w backlogu produktu, rozbijamy ją na małe zadania i szacujemy te zadania w idealnych godzinach. Jeżeli zespół stwierdzi, że daną historyjkę jest w stanie zrobić w sprincie, to zabiera się za planowanie kolejnej, i kolejnej. Robi tak, aż do momentu, kiedy stwierdzi, że już nic więcej do sprintu nie wejdzie.

Jeden zespół i bezludna wyspa

Gdybyśmy byli jednym zespołem scrumowym, który pracuje na bezludnej wyspie, to takie podejście do planowania mogłoby nam w zupełności wystarczyć. Ale tak nie jest. Jak doskonale wiecie, produkty w naszych firmach rozwijane są (coraz częściej) przez kilka, a nawet kilkanaście zespołów na raz. Czasem nawet, część z nich (np. dostawcy) wcale nie pracują w Scrumie. Czy da się to jakoś ogarnąć? Co z zależnościami? Jak je zaplanować?

Planowanie do przodu jest jednym z możliwych rozwiązań, które może wam w tym pomóc. O ile, do zaplanowania bieżącego sprintu zdecydowanie polecam planowanie na podstawie zobowiązania zespołu, o tyle w przypadku planowania do przodu, możecie spokojnie posłużyć się prędkością historyczną.

Innymi słowy, po szczegółowym zaplanowaniu bieżącego sprintu, do kolejnych dwóch sprintów dobieracie tyle historyjek, na ile pozwoli wam średnia prędkość waszego zespołu w sprincie.

Pamiętajcie, że planowanie na podstawie prędkości zespołu jest planowaniem bardzo ogólnym, takim trochę na oko, i absolutnie nie wiąże się z żadnym zobowiązaniem zespołu do realizacji przyjętego planu.

Robicie to tylko po to, żeby mniej więcej przewidzieć z jakimi zależnościami przyjdzie wam się mierzyć w kolejnych sprintach i jakie historyjki inny zespół (lub zespoły) musi wam wcześniej dostarczyć, żebyście mogli zrealizować plan swojego sprintu.

Jak to wygląda w praktyce?

Pierwszy sprint (sprint „N”) planujemy bardzo szczegółowo na podstawie zobowiązania zespołu. Efektem takiego planowania jest bardzo konkretna lista zadań, oszacowanych w idealnych godzinach. Ich ziarnistość jest bardzo duża – najczęściej zajmują 1 lub 2 dni pracy.

Planowanie kolejnych sprintów nie musi być już tak szczegółowe. Sprinty „N+1” i „N+2” planujecie tylko na poziomie historyjek użytkownika. I nie musicie ich szczegółowo dekomponować na zadania.

Mija kilka tygodni – po tym, jak zakończycie sprint „N”, zabieracie się za planowanie sprintu „N+1”. Tym razem jednak, planujecie go bardzo dokładnie, bo to jest teraz wasz bieżący sprint. Podobnie jak wcześniej, planujecie również dwa kolejne sprinty do przodu. W tym wypadku jest to sprint „N+2” i sprint „N+3”. Tutaj schodzicie już tylko do poziomu historyjek użytkownika.

W trakcie planowania może się na przykład okazać, że wasz zespół, w sprincie „N+3”, będzie potrzebował pomocy innego zespołu scrumowego – bo inaczej nie zrealizuje planu swojego sprintu. Gdybyście nie planowali do przodu, tego typu zależności prawdopodobnie nie zostałyby tak szybko wychwycone. Istnieje duża szansa, że dowiedzielibyście się o nich dopiero w sprincie „N+3”.

Scenariusz w takich sytuacjach jest zawsze bardzo podobny – zespół prosi o pomoc inny zespół scrumowy. Niestety jest już grubo za późno, żeby taką pomoc otrzymać. Bo ten zespół dopiero co zaplanował swój sprint i nie upchnie już ani kawałka historyjki więcej. Oczywiście może pomóc, ale zrobi to najwcześniej dopiero w kolejnym sprincie.

Planowanie do przodu jest prostą techniką, która pomoże wam takich sytuacji uniknąć i umożliwi bardziej dokładne prognozowanie pracy.