2009/11/6 Daniel Drozdzewski <daniel.dr...@gmail.com>:
> Osobiscie uwazam, ze ocenianie bugow jako zero nie jest najlepsze -
[...]
> o te konkretne rzeczy zapytac. Starajac sie "kodowac" czy cos jest
> bugiem czy nie w ilosci punktow, jest wedlug mnie zamglaniem obrazu.
W pełni się zgadzam. My stosowaliśmy taką praktykę w paru projektach,
że bugi duże były wrzucane na backlog i podlegały normalnemu
procesowy, natomiast na bugi małe (zwłaszcza wykrywane podczas
sprintu) alokowaliśmy explicite czas tworząc meta-backlog-item "Bugs
for sprint XX" i pod niego podczepialiśmy w naszym narzędzi
(http://www.bananascrum.com/) meta-taski z zaalokowaną ilością godzin
na bugi. W trakcie sprintu członkowie zespołu zmniejszali te
"meta-godziny" a dopisywali jako zamknięte taski zrobione bugi.
Nieco wysiłku, ale:
- wszystkie bugi przepływają przez sprinty jawnie,
- historia jest prawidłowa, duże bugi mają estymaty w Story Points,
które potem można wziąść i zobaczyć w historii sprintów, uwzględnić
przy velocity itp.,
- podobnie czas na bugi małe jest brany pod uwagę np. w burndown,
- alokowanie z góry czasu na małe bugi pomaga nie rozmieniać się na
drobne w trakcie sprintu.
--
Regards,
Andy
http://www.codesprinters.com/
http://www.andybrandt.net/
Wave to me: akbr...@googlewave.com
2009/11/7 Paweł Lipiński <lipinsk...@gmail.com>:
> Andy, po co wam w ogóle te bugi w historii? Może czegoś nie dostrzegam.
Chodzi mi o to, że jawne planowanie bugów "większych" włącznie z
szacowaniem w SP powoduje, że widoczna w historii velocity (rozumiana
jako ile SP było w poprzednich sprintach) jest bliższa rzeczywistości.
Oczywiście, to jest religijna dyskusja czy velocity ma nam pokazywać
naszą prędkość działania ogólnie czy tylko w odniesieniu do product
backlogu w sensie ścisłym. Ja uważam, że ogólnie - w końcu poprawianie
błędów to także praca.
Nota bene jawne alokowanie z góry czasu na sprintach na "małe" bugi
wynikło z takiej sytuacji, że w długich projektach dzieje się zwykle
tak, że gromadzą się różne "małe" bugi, głównie niekrytyczne
niekompatybilności z przeglądarkami i inne takie rzeczy. Je też trzeba
"sprzątać", ale w pewnym momencie było tak, że parę sprintów okazało
się przeszacowanych i pod koniec nie było co robić. Zamiast spojrzeć
na backlog czy nie dałoby się czegoś stamtąd wziąść zespół robił sobie
przez ostatnie dni sprintu same "małe" bugi. Wyznaczenie górnego
limitu czasu na to spowodowało, że było tu więcej dyscypliny i nie
było krycia tego, że się nie ma co robić pod "robieniem bugów".
Zarazem, dzięki temu w sprintach dopakowanych zawsze jednak parę
"małych" bugów zostało załatanych, co uważam za dobrą rzecz bo jednak
dług techniczny trzeba spłacać.
> PS. wiem, że to moja Warszawska złośliwość, ale po naszemu jest wziąć
> a nie wziąść. Choć nie wiem co wy tam w tym Krakowie macie :-P
Mi się wydaje, że wziąść jednak ale ja się nie znam. Z tym, że ja w
zasadzie to nie jestem z Krakowa. :) Ja ty tylko mieszkam, a Krakusem
trzeba się urodzić.
Ale velocity służy przecież do planowania wykonania backlogu, terminów
wdrożeń, określenia co da się na kiedy itp.
Jeśli dorzucasz i szacujesz bugie, to zakładasz, że będzie ich cały
czas średnio tyle samo (tych dużych). Co pewnie nie jest prawdą, jeśli
dbasz o jakość. Do tego uniewidaczniasz wtedy co jest nową przynoszoną
wartością, a co fixami. Tak więc wszystkie planowania, które będziesz
bazował na tych danych będą przeszacowane (jeśli nie będzie jednak
tylu grubych błędów). W najlepszym wypadku skutkuje to po prostu
zmniejszeniem dokładności oszacowań i zwiększeniem ryzyka pomyłki (i
to tym większym im bardziej długosiężne te plany będą).
Poprawianie błędów to oczywiście także praca, ale jednak
"niezasłużona" bo nie przynosząca nowej wartości - jeśli pracujecie
T&M to nie powinniście za nią pobierać pieniędzy, nie? Wliczając to w
zwykły backlog gubicie tę informację (chyba, że jakoś oddzielnie ją
śledzisz).
Inna kwestia to czy to faktycznie duże bugi czy po prostu nowe/
zmienione wymagania / niezrozumienie ich w pierwszej wersji. Wtedy
jest to dodawanie wartości, a więc "normalna" praca.
A może jakoś inaczej to liczycie?
> Zarazem, dzięki temu w sprintach dopakowanych zawsze jednak parę
> "małych" bugów zostało załatanych, co uważam za dobrą rzecz bo jednak
> dług techniczny trzeba spłacać.
A od kiedy bugi to dług techniczny? (Uppps religijna dyskusja...) Dług
techniczny (tak jak ja go rozumiem) to wtedy, gdy mówimy: mamy mało
czasu, więc świadomie omijamy jakąś praktykę np. pair programming czy
tdd (świadomie zaniżając tak jakość). Albo gdy podejmujemy świadomie
decyzje techniczne np. pisze się kawałek UI w php, bo to szybciej niż
w javie. Albo w końcu (niskopoziomowo) np. rezygnuje z pełnego parsera
tekstu na rzecz wykrywania magicznych ciągów znaków, a "kiedyś zrobi
się to dobrze".
A bugi to bugi a nie dług.
(Tak, tak, wiem, że to jest czepiactwo, ale "Dług Techniczny" stał się
słowem-kluczem do tłumaczenia niedbałości i śmietnika w kodzie, więc
nazywajmy rzeczy po imieniu.)
> Mi się wydaje, że wziąść jednak ale ja się nie znam. Z tym, że ja w
> zasadzie to nie jestem z Krakowa. :) Ja ty tylko mieszkam, a Krakusem
> trzeba się urodzić.
Jednak to jest "wziąć" (nawet mój słownik mailowy tak mówi, a on nie z
Warszawy)
pozdrawiam
Paweł
2009/11/7 Paweł Lipiński <lipinsk...@gmail.com>:
>>> Andy, po co wam w ogóle te bugi w historii? Może czegoś nie
>>> dostrzegam.
>>
>> Chodzi mi o to, że jawne planowanie bugów "większych" włącznie z
>> szacowaniem w SP powoduje, że widoczna w historii velocity (rozumiana
>> jako ile SP było w poprzednich sprintach) jest bliższa rzeczywistości.
>> Oczywiście, to jest religijna dyskusja czy velocity ma nam pokazywać
>> naszą prędkość działania ogólnie czy tylko w odniesieniu do product
>> backlogu w sensie ścisłym. Ja uważam, że ogólnie - w końcu poprawianie
>> błędów to także praca.
>
> Ale velocity służy przecież do planowania wykonania backlogu, terminów
> wdrożeń, określenia co da się na kiedy itp.
[...]
> Poprawianie błędów to oczywiście także praca, ale jednak
> "niezasłużona" bo nie przynosząca nowej wartości - jeśli pracujecie
> T&M to nie powinniście za nią pobierać pieniędzy, nie? Wliczając to w
> zwykły backlog gubicie tę informację (chyba, że jakoś oddzielnie ją
> śledzisz).
Niewątpliwie coś w tym jest, co piszesz. Ale jak pisałem wyżej - to
jest kwestia "religijna" - ważne jest raczej, żeby mieć tego
świadomość. Tak w ogóle przejrzałem sobie backlogi historyczne z paru
projektów i prawdę pisząć nie znalazłem więcej niż parę "dużych"
błędów na backlogu jawnie - a i te nie były nasze (praca na kodzie,
którego nie zaczynaliśmy). Więc chyba nie jest tak źle.
>> Zarazem, dzięki temu w sprintach dopakowanych zawsze jednak parę
>> "małych" bugów zostało załatanych, co uważam za dobrą rzecz bo jednak
>> dług techniczny trzeba spłacać.
>
> A od kiedy bugi to dług techniczny? (Uppps religijna dyskusja...)
Dobra, ja to widzę jako dług techniczny na zasadzie, że coś robiliśmy
ale nie wyłapaliśmy i trzeba poprawiać. Coś takiego jak świadome
zaniżanie jakości to nie jest żaden dług tylko po prostu wymuszone
polityką (a czasem wprost przez klienta) zgniłe kompromisy. Ale jako
się rzekło - nie będę się upierał.
> (Tak, tak, wiem, że to jest czepiactwo, ale "Dług Techniczny" stał się
> słowem-kluczem do tłumaczenia niedbałości i śmietnika w kodzie, więc
> nazywajmy rzeczy po imieniu.)
To jest problem wszystkich słów-kluczy.
>> Mi się wydaje, że wziąść jednak ale ja się nie znam. Z tym, że ja w
>> zasadzie to nie jestem z Krakowa. :) Ja ty tylko mieszkam, a Krakusem
>> trzeba się urodzić.
> Jednak to jest "wziąć" (nawet mój słownik mailowy tak mówi, a on nie z
> Warszawy)
Wychodzi na to, że masz rację: http://www.wsp.krakow.pl/konspekt/19/jezyk19.html
Ale biorąc pod uwagę zacne towarzystwo (Mickiewicz, Asnyk, no no)
wstydzę się tylko trochę.