{"id":73,"date":"2017-05-31T15:54:15","date_gmt":"2017-05-31T13:54:15","guid":{"rendered":"http:\/\/rafallancucki.pl\/?p=73"},"modified":"2017-07-21T07:44:34","modified_gmt":"2017-07-21T05:44:34","slug":"backlog-drobno-czy-grubo","status":"publish","type":"post","link":"https:\/\/rafallancucki.pl\/index.php\/2017\/05\/31\/backlog-drobno-czy-grubo\/","title":{"rendered":"Backlog \u2013 drobno czy grubo?"},"content":{"rendered":"<p style=\"text-align: justify;\">W tej ods\u0142onie bloga chcia\u0142bym zaj\u0105\u0107 si\u0119 tematem backlog-u a konkretnie element\u00f3w backlog-u. Jest wiele opracowa\u0144 m\u00f3wi\u0105cych o elementach backlog-u ale troch\u0119 gorzej z praktycznymi poradami jak sobie radzi\u0107 i wykrywa\u0107 problemy. Pomin\u0119 tu oczywiste aspekty opisane w Scrum Guide jak to, \u017ce elementy backlog-u powinny by\u0107 czytelne, u\u0142o\u017cone w celu maksymalizacji warto\u015bci itp. R\u00f3wnie\u017c problemem w pisaniu og\u00f3lnych wskaz\u00f3wek jest fakt, \u017ce ka\u017cdy produkt, zesp\u00f3\u0142 i w\u0142a\u015bciciel produktu jest inny wi\u0119c stworzenie og\u00f3lnego przewodnika jest niemo\u017cliwe. Wi\u0119c chcia\u0142em tylko wrzuci\u0107 kilka porad z mojej praktyki co jest sygna\u0142em, \u017ce backlog mo\u017cna by\u0142oby poprawi\u0107.<\/p>\n<p style=\"text-align: justify;\"><!--more--><\/p>\n<p style=\"text-align: justify;\">Zacznijmy od tego, \u017ce ca\u0142y sekret tkwi w ziarnisto\u015bci element\u00f3w backlog-u. Zacytuj\u0119 tu za jednym z moich ulubionych film\u00f3w \u201eHelikopter w ogniu\u201d: nie za grubo i nie za drobno. Wiem, \u015bmiejecie si\u0119, bo to zn\u00f3w oczywiste, powiedz nam co\u015b, czego nie wiemy. Wi\u0119c do rzeczy:<\/p>\n<p>Co jest symptomem, \u017ce elementy backlog-u s\u0105 zbyt drobno \u201ezmielone\u201d:<\/p>\n<ul style=\"padding-left: 20px;\">\n<li style=\"text-align: justify;\">Takim najbardziej oczywistym wska\u017anikiem jest fakt, \u017ce przypominaj\u0105 konkretne zadania do wykonania. Na refinement zesp\u00f3\u0142 zaczyna si\u0119 nudzi\u0107, elementy s\u0105 tylko omawiane (bez wi\u0119kszej dyskusji \u2013 raczej tylko kilka pyta\u0144) i estymowane, po pewnym czasie pojawia si\u0119 coraz wi\u0119ksza niech\u0119\u0107 do przychodzenia na refinement<\/li>\n<li style=\"text-align: justify;\">Drobno zmielone elementy backlog-u na dalsz\u0105 przysz\u0142o\u015b\u0107 s\u0105 wskaz\u00f3wk\u0105, \u017ce zaczynamy i\u015b\u0107 w stron\u0119 kaskadowego modelu ze Scrum w \u015brodku<\/li>\n<li style=\"text-align: justify;\">Mniej oczywist\u0105 wskaz\u00f3wk\u0105 s\u0105 kr\u0105\u017c\u0105ce po zespole stwierdzenia typu \u201egdyby\u015bmy wiedzieli wcze\u015bniej jak to jest u\u017cywane to inaczej by to by\u0142o zrobione\u201d. Tu nie zawsze trzeba reagowa\u0107, bo mo\u017ce by\u0107 to efektem zmian w backlog-u, ale je\u015bli w kolejnych sprintach takie opinie si\u0119 pojawi\u0105 a elementy w backlog-a by\u0142y ju\u017c znane wcze\u015bniej to jest to wyra\u017any sygna\u0142<\/li>\n<li style=\"text-align: justify;\">Inn\u0105 nieoczywist\u0105 wskaz\u00f3wk\u0105 jest konieczno\u015b\u0107 zmiany modelu danych\/element\u00f3w oprogramowania w kolejnych sprintach przez nowe wymagania \u2013 czy na pewno dobrze podzielili\u015bmy wymaganie je\u015bli kolejne \u201eklocki\u201d wywracaj\u0105 implementacj\u0119?<\/li>\n<li style=\"text-align: justify;\">Kolejnym sygna\u0142em jest informacja zwrotna z przegl\u0105du sprintu \u2013 je\u015bli z drobnych wymaga\u0144 z\u0142o\u017cona zosta\u0142a wi\u0119ksza funkcjonalno\u015b\u0107 i interesariusze zaczynaj\u0105 narzeka\u0107 i m\u00f3wi\u0107 o niskiej u\u017cyteczno\u015bci to mo\u017ce to by\u0107 sygna\u0142, \u017ce dekompozycja wymaga\u0144 by\u0142a niew\u0142a\u015bciwa<\/li>\n<li style=\"text-align: justify;\">No i kolejny sygna\u0142 r\u00f3wnie\u017c z zespo\u0142u lub interesariuszy \u2013 je\u015bli po oddaniu wi\u0119kszego kawa\u0142ka funkcjonalno\u015bci wida\u0107, \u017ce implementacja jest przerysowana (powsta\u0142a armata do zabicia muchy) i trudna w u\u017cyciu<\/li>\n<\/ul>\n<p>Co mo\u017ce \u015bwiadczy\u0107 o zbyt \u201egrubym\u201d podej\u015bciu do wymaga\u0144:<\/p>\n<ul style=\"padding-left: 20px;\">\n<li style=\"text-align: justify;\">Realizacja przestaje si\u0119 mie\u015bci\u0107 w sprincie.<\/li>\n<li style=\"text-align: justify;\">Podczas prezentacji w\u0142a\u015bcicielowi produktu gotowych cz\u0119\u015bci pojawia si\u0119 dyskusja i du\u017ca ilo\u015b\u0107 zmian \u2013 to niekoniecznie \u015bwiadczy o zbyt du\u017cej \u201egrubo\u015bci\u201d, mo\u017ce by\u0107 po prostu sygna\u0142em o jeszcze niedostatecznym zgraniu lub zbyt kr\u00f3tkim refinement<\/li>\n<li style=\"text-align: justify;\">Zesp\u00f3\u0142 nie jest w stanie stworzy\u0107 sobie zada\u0144 na iteracj\u0119 na podstawie wymagania pomimo dobrze zrobionego refinementu \u2013 by\u0107 mo\u017ce zesp\u00f3\u0142 jeszcze nie jest do\u015bwiadczony na tyle, \u017ceby przej\u015b\u0107 na taki poziom lub faktycznie wymagania s\u0105 zbyt og\u00f3lnie sformu\u0142owane<\/li>\n<li style=\"text-align: justify;\">Bardzo intensywny kontakt z w\u0142a\u015bcicielem produktu, du\u017co dopytywania a efekt ko\u0144cowy odbiega od oczekiwa\u0144 \u2013 to te\u017c sygna\u0142, \u017ce mo\u017ce trzeba bardziej dekomponowa\u0107<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Po samym uruchomieniu Scrum nie warto po\u015bwi\u0119ca\u0107 zbyt du\u017co czasu na d\u0105\u017cenie do idea\u0142u \u2013 i tak nie wiemy jak on wygl\u0105da. Inspekcja i adaptacja za\u0142atwi temat w kr\u00f3tkim czasie. Natomiast warto zwr\u00f3ci\u0107 uwag\u0119, aby w\u0142a\u015bciciel produktu nie zaplanowa\u0142 zbyt szczeg\u00f3\u0142owo backlog-u \u2013 z do\u015bwiadczenia wiem, \u017ce trudno p\u00f3\u017aniej dokonywa\u0107 zmian, je\u015bli od pocz\u0105tku powsta\u0142 szczeg\u00f3\u0142owy plan. Lepiej zacz\u0105\u0107 od \u201egrubszych\u201d element\u00f3w i dopracowa\u0107 sobie dekompozycj\u0119 podczas kolejnych refinement\u00f3w.<\/p>\n<p style=\"text-align: justify;\">Chcia\u0142bym zaznaczy\u0107, \u017ce w miar\u0119 nabierania do\u015bwiadczenia przez zesp\u00f3\u0142 i w\u0142a\u015bciciela produktu warto zmienia\u0107 ziarnisto\u015b\u0107 na coraz grubsz\u0105. To w wi\u0119kszym stopniu daje poczucie wsp\u00f3\u0142uczestniczenia przez ca\u0142y zesp\u00f3\u0142 w tworzeniu produktu i jest jednym z g\u0142\u00f3wnych czynnik\u00f3w motywuj\u0105cych.<\/p>\n<p style=\"text-align: justify;\">I jeszcze na koniec \u2013 dekompozycja wymaga\u0144 przez ca\u0142y zesp\u00f3\u0142 Scrum jest w jednym z podstawowych wymaga\u0144 je\u015bli d\u0105\u017cymy do uzyskania pe\u0142nych efekt\u00f3w Agile. Je\u015bli tylko w\u0142a\u015bciciel produktu dekomponuje wymagania to \u015bwiadczy to o powa\u017cniejszym problemie.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>W tej ods\u0142onie bloga chcia\u0142bym zaj\u0105\u0107 si\u0119 tematem backlog-u a konkretnie element\u00f3w backlog-u. Jest wiele opracowa\u0144 m\u00f3wi\u0105cych o elementach backlog-u ale troch\u0119 gorzej z praktycznymi poradami jak sobie radzi\u0107 i wykrywa\u0107 problemy. Pomin\u0119 tu oczywiste aspekty opisane w Scrum Guide jak to, \u017ce elementy backlog-u powinny by\u0107 czytelne, u\u0142o\u017cone w celu maksymalizacji warto\u015bci itp. R\u00f3wnie\u017c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[6],"tags":[],"_links":{"self":[{"href":"https:\/\/rafallancucki.pl\/index.php\/wp-json\/wp\/v2\/posts\/73"}],"collection":[{"href":"https:\/\/rafallancucki.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rafallancucki.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rafallancucki.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rafallancucki.pl\/index.php\/wp-json\/wp\/v2\/comments?post=73"}],"version-history":[{"count":1,"href":"https:\/\/rafallancucki.pl\/index.php\/wp-json\/wp\/v2\/posts\/73\/revisions"}],"predecessor-version":[{"id":74,"href":"https:\/\/rafallancucki.pl\/index.php\/wp-json\/wp\/v2\/posts\/73\/revisions\/74"}],"wp:attachment":[{"href":"https:\/\/rafallancucki.pl\/index.php\/wp-json\/wp\/v2\/media?parent=73"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rafallancucki.pl\/index.php\/wp-json\/wp\/v2\/categories?post=73"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rafallancucki.pl\/index.php\/wp-json\/wp\/v2\/tags?post=73"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}