Traktowanie sprintów jako dwutygodniowych deadline'ów - jak uniknąć tych firm.

4

@Klojtex:

Osobiście uważam, że planowanie w punktach "pracochłonności" to też jakaś bzdura, bo znajomość projektu w zespole nie musi się rozkładać równomiernie. Nie czytałem przy tym SG, więc mogę pomijać założenia, ale z mojej perspektywy, jeśli cele nie zostały osiągnięte, po prostu po winna się pojawić dyskusja pt. "Co poszło nie tak" i na bazie tego powinny zostać podjęte odpowiednie kroki. Ma to sens? Bo ja dotąd z "książkowym scrumem" to się spotkałem tylko raz, reszta to takie "custom kanban" i to podejście (z reguły) działało lepiej.

Teraz będę trochę pisał jak ten gość z mema, którego wkleiłem parę postów wcześniej. SP, to nie jest jednostka pracy,. pracochłonności, złożoności. W sumie to nie jest żadna dająca się zdefiniować jednostka. Ponieważ po dość długim czasie ogarniania o co w tym chodzi, chyba doszedłem do momentu, w którym rozumiem, to się podzielę, bo nie podzieli się tym z wami żaden ScrumMaster po politologii, czy innej kosmetologii.

Właściwie, to wystarczyłoby liczyć ile tasków średnio zespół ogarniał w jednostce czasu. Jeżeli taski będą podobne, to i liczba zamkniętych tasków w okresach, dajmy na to 2 tygodniowych będzie zbliżona. Ale wiadomo, że taski są różne, więc jeżeli do prawidłowo zdefiniowanych tasków, czyli takich, w których wiadomo co ma zostać zrobione poprosi się zespół o podanie czy ten task jest mniejszy, większy czy taki zwykły, nada tym odpowiedziom wartości liczbowe, to uzyska się trochę lepszą stabilność wyników/przewidywalność. Czyli zbieramy zespół, mówimy, że np. 1sp to takie najmniejsze możliwe do wyobrażenia zadanie, 3 to takie "zwykłe" itd, Właściwie nie ma znaczenia od czego się wystartuje, ważne jak się kończy, jak zwykł mawiać pan premier. A kończy się to tak, że ludzie w zespole po jakimś czasie nadal nie wiedzą, czym ten story point jest, ale potrafią wycenić zadania w miarę jednomyślnie w SP. W tym momencie wystarczy już jedynie wyciągać średnią prędkość za ostatni okres(y), i jesteśmy w stanie szacować ile i jakiej roboty zostanie dowiezione.
Żeby to działało, trzeba spełnić kilka warunków:

  • kazać się zamknąć ambitnemu team leaderowi, który nadal wszystko by tylko szacował nisko, bo "przecież to łatwe", może dla niego i owszem, ale nie dla reszty zespołu, która nie potrafi przeczytać jego "clear code"

  • nie rozliczać zespółu z "commitmentów" i innego g...a, w tym również pozytywnie "o jaki piękny burndown chart wam wyszedł"

  • nie urządzać dramatów, że "się czegoś nie dowiozło"

  • robić retrospektyw z pytaniem "dlaczego się czegoś nie dowiozło"

  • nie rozliczać pracowników z liczby przepalonych story pointów

  • trzymać z dala od zespołu, wszystkich, którzy mają jakieś wąty

  • odrzucać zadania, które trzeba jeszcze uszczegółowić, albo rozpisać

    Jeżeli się tych warunków (i pewnie wielu innych) nie spełnia, to SP staje się naprawdę nic nie znaczącą jednostką. Jeżeli się ich przestrzega, to jesteśmy w stanie powiedzieć "OK, za c.a. 4 tygodnie będzie zrobione, chyba, ze nie będzie".
    Do tego trzeba trochę kanbana mieć - taski muszą być ułożone pod względem pilności. Jak coś jest ważne/pilne, to powinno być robione przed tym, co jest mniej ważne/pilne - wydawałoby się oczywiste, a jednak nie jest. Trzeba też traktować zespół jak dorosłych, znających się na swojej robocie ludzi, a nie bandę wyrobników kopiących od kołka do wieczora.

2
tekan napisał(a):

screenshot-20230119175730.png

Ale ten obrazek jest cholernie prawdziwy.
Scrum z definicji spowalnia pracę i wymusza na ludziach obijanie się. Jeśli u kogoś w scrumie jest zapieprz i nadgodziny, to znaczy, że źle go wdrożył.

4
somekind napisał(a):

Ale ten obrazek jest cholernie prawdziwy.
Scrum z definicji spowalnia pracę i wymusza na ludziach obijanie się. Jeśli u kogoś w scrumie jest zapieprz i nadgodziny, to znaczy, że źle go wdrożył.

No nie zgadzam się - story pointy, velocity i inne pierdoły to narzędzia manipulacji, które w oczach menadżerów mają skłonić ludzi do zapieprzu poprzez budowanie poczucia winy itp., ale tak, żeby nie było widać bata.
Fakt, że to miecz obosieczny bo na cyników bez uczuć nie działa - po prostu podwyższamy estymaty (SP, które są w praktyce jednostką czasu tylko zakamuflowaną), olewamy cele sprintu, zwyczajnie nie dowozimy itp. Rygorystycznie przestrzegamy zasad ustalonych w DOD, dzięki czemu mamy spokój i luz.

I nie mamy z tym problemu. Ale inni programiści czasem mają.

1

@jarekr000000: To jaki system byś polecał najbardziej? Jakoś gdzieś te zadania trzeba przedyskutować, czyli spotkanie i tak musi się odbyć. Jakoś trzeba ocenić czy funkcję dowieziemy na czwartek, czy na środę, ale za dwa lata.
Nie to żebym był fanem scruma, ale jakoś tę taczkę pchać do przodu trzeba.

4
jarekr000000 napisał(a):

to narzędzia manipulacji, które w oczach menadżerów mają skłonić ludzi do zapieprzu poprzez budowanie poczucia winy itp., ale tak, żeby nie było widać bata.

nigdy nie zapomnę pomysłu pani ekspert z biznesu na retro (tak, biznes wzdzwaniał się na retro i inne daily i planingi)

wdzwaniajmy się z dodatkowo codziennie z programistami i pytajmy ich czemu jeszcze nie zrobili. Już samo to będzie wzbudzać wstyd

7
jurek1980 napisał(a):

@jarekr000000: To jaki system byś polecał najbardziej? Jakoś gdzieś te zadania trzeba przedyskutować, czyli spotkanie i tak musi się odbyć. Jakoś trzeba ocenić czy funkcję dowieziemy na czwartek, czy na środę, ale za dwa lata.
Nie to żebym był fanem scruma, ale jakoś tę taczkę pchać do przodu trzeba.

  1. Dlaczego spotkanie musi się odbyć - maile i komunikatory (async) nie działają?
    (oczywiście czasem warto (efektywniej) coś przegadać - to się robi spotkanie, ale osobiście zdecydowanie wole ad-hoc meeting na temat konkretnego problemu niż regularne spotkania na których sztucznie robi się problemy).
  2. No właśnie, to zwykle ważne czy coś będzie za rok dwa czy za tydzień. Natomiast przeważnie(!!!) zupełnie nieważne czy będzie za 3 dni czy za 5. Zawsze jak szacujesz to zadaj sobie pytanie co by się stało, gdyby zadanie trwało 3 razy dłużej i przeważnie odpowiedź jest - nic. Bo dość często zadania trwają 3 razy dłużej niż szacowano i jakoś świat się nie wali.

Jeśli szacowanie jest ważne - bo to budżet projekt czyli fixed - price (dla klienta) to z definicji nie ma tam miejsca na żadny scrum, i najlepiej jak szacowanie to mała grupa doświadczonych programistów i tyle.
Jak mamy umowę ramową i jakiś niby agile to szacowanie zwykle nie ma wielkiego sensu w ogóle - po prostu robimy soft i tyle. A jak już ten soft działa na produkcji i nie zamierzamy go zwinąć to sens szacowania zadań prawie zupełnie upada.

Oczywiście klient raz na jakiś czas chciałby dodać jakiś większy ficzer i zastanawia się czy warto i czy np. zdążymy na końcową wyprzedaż letnią czy inny termin - tu znowu IMO nie ma sensu szacowanie przez zespół - to jest duża grupa tasków, kilka doświadczonych osób musi to rozpisać na pomniejsze punkty i wyszacować zgrubnie. Wrzucanie tego na kark zespołu, gdzie większość i tak ma w dupie to co się wyświetla na ekranie jest bezsensowną stratą czasu.

U mnie w firmie stosuje się czasem (czasem!!!) szacowanie w niektórych projektach - generalnie jako sprawdzenie czy dobrze rozumiemy co jest do zrobienia i mamy 4 wartości:
1 - trywialne - godzina pracy, max dzień,
2 - dzień pracy, może kilka dni, zadanie jasne, ale trzeba troche nakodzić
3 - może tydzień pracy - zadanie ma jakieś ryzyko (mogą być niespodzianki)
5 - za dużo -podzielmy to

nikt nie komentuje i nawet specjalnie nie sprawdza ile faktycznie zeszło na taski, nie ma velocity,
a szacowanie służy w zasadzie w 100% do sprawdzania czy wszyscy programiści mniej więcej podobnie rozumieją co jest do zrobienia.

1

@jurek1980: Nie wiem jak Jarek, ale ja polecam nie mieć szefa-dzbana. A co do twoich "jakoś trzeba", to:

  • Jakoś gdzieś te zadania trzeba przedyskutować, czyli spotkanie i tak musi się odbyć.

Ale może powinno ono się odbyć wtedy jak jest potrzebne, a nie wtedy jak harmonogram sprintu pozwoli?

  • Jakoś trzeba ocenić czy funkcję dowieziemy na czwartek, czy na środę, ale za dwa lata.

    Dlaczego trzeba oceniać kiedy coś zostanie dostarczone?

0

@piotrpo:
Ja wolę jak mam zaplanowane w kalendarzu spotkanie. Widzę to tak, że pewnie w dużej części firm zrobiłby się chaos. Mniej zorganizowane osoby zaczęłyby robić takie spotkania z dnia na dzień, bez uprzedzenia i paradoksalnie mogłoby to zwiększać ich częstotliwość.

Co do szacowania terminu, no to jednak program poza opensource raczej pisany jest w celu zysku dla firmy i jednak trzeba troszkę szacować czy coś może kosztować x czy 10x.

@jarekr000000: dzięki, widzę miks podejść.

0
jurek1980 napisał(a):

@jarekr000000: To jaki system byś polecał najbardziej? Jakoś gdzieś te zadania trzeba przedyskutować, czyli spotkanie i tak musi się odbyć. Jakoś trzeba ocenić czy funkcję dowieziemy na czwartek, czy na środę, ale za dwa lata.
Nie to żebym był fanem scruma, ale jakoś tę taczkę pchać do przodu trzeba.

Ale czemu Cię interesuje co ile zajmie? Jeżeli ktoś skończy dane zadanie to skończy i weźmie następne. No chyba, że są priorytety i coś musi być zaraz wzięte więc trzeba na szybko inne oszacować czy się zdąży w międzyczasie, ale to inna sprawa.

2
jurek1980 napisał(a):

@piotrpo:
Ja wolę jak mam zaplanowane w kalendarzu spotkanie. Widzę to tak, że pewnie w dużej części firm zrobiłby się chaos. Mniej zorganizowane osoby zaczęłyby robić takie spotkania z dnia na dzień, bez uprzedzenia i paradoksalnie mogłoby to zwiększać ich częstotliwość.

Testowałem i zdecydowanie wolę spotkania ad-hoc, bez uprzedzenia.. Traci się o wiele mniej czasu. Jak mam zaplanowane spotkanie o jakiejś godzinie to wkurw rośnie mi już 40 minut przed i nie mogę się skupić na napierniczanu, a potem jeszcze przez godzinę po spotkaniu przeżywam jego bezsens. Jak mi się kolega wdzwoni z problemem to przynajmniej jest zaoszczędzone to pierwsze 40 minut wkurwu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1