Kto powinien uczestniczyć w szacowaniu czasu?


9

W projekcie IT:

  1. Kto powinien uczestniczyć w szacowaniu czasu? Deweloper, lider zespołu, scrum master itp.?
  2. Czyj głos należy liczyć najbardziej?

2
Jeśli wykonujesz Scrum : (a) nie ma lidera zespołu. (b) zespół powinien oszacować zbiorowo za pomocą Planning Poker. (c) i facet, który prawdopodobnie wykona zadanie, powinien być śledzony. Zespół Scrumowy jest funkcjonalny i zadania nie są przydzielane, ale jeśli facet, który opanuje DB, powie, że powinno to zająć 3 dni. Prawdopodobnie powinno to zająć 3 dni.

1
Należy pamiętać, że oszacowanie nie jest decyzją, ale (często trudną) prognozą. Nie ma hierachy. Brak głosów.
user281377,

@ammoQ Problem polega na tym, że wielu liderów projektu ma taką decyzję!
Amir Rezaei,

2
Tak, to powszechne nieporozumienie. Oczywiście możesz podjąć decyzję o terminie, ale zamiast tego musisz oszacować (tj. Przewidzieć) możliwą do uzyskania jakość i kompletność.
user281377,

@ user281377 Podoba mi się to, co masz: zasada niepewności Heisenberga przy tworzeniu oprogramowania.
K.Steff

Odpowiedzi:


8

Nie chodzi tylko o zaangażowanych ludzi, ale o umiejętności, które muszą być obecne:

  • Dobre zrozumienie dziedziny problemu - jest to szczególnie ważne, gdy wymagania są niejednoznaczne lub na wysokim poziomie. Jako programista, który nigdy nie pracował w podróży, aby oszacować pracę dotyczącą klas biletów w samolocie i założy, że są 3 lub 4 (ekonomia, biznes, najpierw itd.), Ale jeśli pracowałeś w podróży, będziesz wiedział że są dziesiątki. Może to oznaczać zaangażowanie analityka biznesowego lub eksperta, choć z czasem sami programiści zdobędą taką wiedzę.

  • Zrozumienie technologii i pracy, która będzie zaangażowana - zwykle programista, choć menedżer z niedawnym doświadczeniem, który ma pewność zespołu, często może wykonać tę pracę. Idealnie byłoby, gdybyś dostał osobę, która faktycznie wykona pracę w ten sposób, że została kupiona w oszacowaniu.

  • Zrozumienie procesu szacowania - to klucz. Konieczne jest zrozumienie, jak dokonać przyzwoitej oceny, jak upewnić się, że jest poprawna, sprawdzić odpowiedni poziom nieprzewidzianych okoliczności, sprawdzić podwójne liczenie lub zbyt duże wypełnienie. Zazwyczaj przynosi to PM, kierownik ds. Rozwoju lub starszy programista, chociaż w niektórych procesach solidny szablon szacowania może dostarczyć niezbędnych wskazówek.

Umiejętności te mogą dotyczyć jednej osoby, chociaż czasami będą potrzebować trzech lub więcej, ale kluczowe jest upewnienie się, że umiejętności te są obecne, a nie że konkretni ludzie są obecni.

To powiedziawszy, choć ogólnie szukam więcej niż dwóch osób, ponieważ potrzebujesz dodatkowej gwarancji, że dwie lub więcej osób sprawdza siebie nawzajem.

Jeśli chodzi o to, czyj głos jest liczony najbardziej, tak to nie działa. To dyskusja i negocjacje. Jeśli menedżer uważa, że ​​ocena deweloperów jest zbyt wysoka, musi wyjaśnić powód i rzucić wyzwanie (nie naciskać) deweloperowi, aby uzasadnił to i musi osiągnąć konsensus. W przypadku, gdy nie możesz osiągnąć tego porozumienia, z doświadczenia powiedziałbym dwie rzeczy:

(a) Nie idź z liczbą, którą „chcesz”, to po prostu prośba o kłopoty, a to, czego chcesz, nie ma istotnego wpływu na to, jak szybko można wykonać pracę.

(b) Prawie w każdym przypadku, w którym widziałem, w którym deweloper został rozstrzygnięty w oparciu o dane szacunkowe, ostateczna liczba zbliżyła się do tego, co myślał deweloper, niż ktokolwiek nad nimi rządził - głównie dlatego, że zignorowali punkt (a) powyżej.

(To powiedziawszy w Agile, a na pewno w XP, reguła jest taka, że ​​programiści kontrolują oszacowania i to jest ostateczne. Jeśli użytkownicy chcą obniżyć oszacowania, muszą zmienić wymóg czegoś prostszego.)


+1 za liczbę, którą „chcesz”. Zobacz tutaj .
Spencer Rathbun

1
Coś bardziej szczegółowego na temat „liczby, której chcę”: Gry szacunkowe
K.Steff,

2

Nie wiem, czy odpowiedź na to pytanie jest jak najbardziej uniwersalna. Tam, gdzie pracuję, zwykle dwóch inżynierów z zespołu wdraża funkcję / poprawkę, która zapewnia oszacowanie. Każdy z dwóch inżynierów zapewnia oszacowanie „min”, „maks” i „oczekiwany”. Zazwyczaj spodziewalibyśmy się, że oba oszacowania będą racjonalnie spójne, więc jeśli są bardzo różne, wówczas może być wymagana dalsza dyskusja (być może jeden inżynier przyjął założenia, że ​​drugi nie, itp.).

W naszej sytuacji nikt nie głosuje jako taki. Zazwyczaj po prostu uśredniamy dwa oszacowania (pamiętaj, że jeśli nie są jeszcze w tym samym parku, odrzucamy oba i rozpoczynamy od dyskusji, więc obliczenie średniej nie jest dużym skokiem). Szacunki są przecież tylko szacunkami, więc nie muszą być dokładne .


1

Z mojego doświadczenia wynika, że ​​szacunki zwykle wykonuje osoba, która najprawdopodobniej sama wykona zadanie. Zespoły SCRUM powinny dążyć do interdyscyplinarności, ale po pewnym czasie niektóre rodzaje zadań są zwykle wykonywane przez te same osoby.

Niezwykle ważne jest uzyskanie zgody zespołu na wszystkie szacunki. Jeśli deweloper uzna, że ​​jest właścicielem prognozy, będzie starał się ją zrealizować. Jeśli programiści otrzymają oszacowanie, że nie zrobili tego sami i nie mieli na to wpływu ani wpływu, nie będą odczuwać tego samego poziomu odpowiedzialności, a przekroczenie stanu konta zostanie wyjaśnione słowem „Powiedziałem, że to potrwa dłużej”.


0

Projekt ma wymagania biznesowe i terminy z góry na dół. Są to „dane szacunkowe” dla pierwszej iteracji.

Wymagania te należy podzielić na największe zadania o 100% znanym koszcie (np. „Włącz rejestrowanie” = 2 godziny = „pobierz log4j / SLF4J i podłącz”).

Oszacowania należy dokonać na najwyższym możliwym poziomie, który ma już wystarczającą wiedzę techniczną, aby to zrobić.

Skorygowane szacunki muszą cofnąć się w górę w postaci „widocznej dla firmy funkcji” = „tyle czasu”, aż dotrą do właściciela firmy na odpowiednim poziomie, w stanie porzucić / zmienić wymagania lub złagodzić terminy. Potem z powrotem w dół. Do ostatecznej konwergencji. W praktyce ludzie zwykle ignorują tę fazę lub ją upraszczają, co z kolei może stwarzać ryzyko związane z niedotrzymywaniem terminów i szans.


1
„Projekt ma wymagania biznesowe + terminy z góry na dół. Są to„ dane szacunkowe ”dla pierwszej iteracji.” - Niestety, prawdziwa i odpowiedzialna za presję, która prowadzi innych do podania niedokładnych szacunków, gdy starają się dotrzymać tych terminów, pomimo tego, ile wiedzą, ile to naprawdę zajmie.
Jon Hopkins,

@Jon Hopkins - +1 punkt sprawiedliwe, ale opisałem idealny proces, w rzeczywistości, jak pan powiedział, kierowników technicznych czasami wolą podjęciem APRIORI nierealistyczny harmonogram i znalezienie „uzasadnień” za opóźnienia jako projekt idzie
bobah

Nie krytykuję twojej odpowiedzi - po prostu mówię, że tego szczególnego elementu należy się wystrzegać i że osoby oceniające powinny, jeśli to możliwe, w pierwszej kolejności nie być informowane o tych terminach z obawy, że będą pod ich wpływem.
Jon Hopkins,

1
„Projekt ma wymagania biznesowe i terminy z góry na dół”. - O ile ludzie na szczycie nie są programistami z doświadczeniem „w okopach”, jest to przepis na DISASTER.
Wektor

Czy zauważyłeś kiedyś, że drużyny MLB zawsze mają byłego gracza jako menedżera w ziemiance? Jest tak, ponieważ tylko były gracz rozumie, co jest potrzebne do wykonania pracy, i ma pewność facetów, którzy podejmą wyzwanie.
Wektor

-1

Kto lub kogo powinien uczestniczyć w szacowaniu czasu? Deweloper, lider zespołu, scrum master itp.?

Wolę, aby wszyscy byli obecni w oszacowaniu czasu i robimy to samo tutaj

Kto lub czyj głos powinien być liczony najbardziej?

Deweloper, ale wciąż chodzi o pracę zespołową


-2

DEWELOPERZY WYKONANI Z REALIZACJĄ PROJEKTU! NIKT WIĘCEJ!

Jedynie programiści wykonujący rzeczywistą pracę i kierownicy zespołów programistycznych są w stanie właściwie oszacować, ile czasu to naprawdę zajmie. Tylko programiści znający rzeczywistą bazę kodu mogą zrozumieć potencjalne trudności i pułapki, które mogą wystąpić w trakcie programowania. Wszyscy inni są „widzami”.

Ponadto jedynym sposobem, w jaki można ufać programistom w podawaniu dokładnych szacunków, jest zaufanie przedsiębiorców i poleganie na ich wiedzy specjalistycznej, dzięki czemu programiści wiedzą, że nie zostaną ukarani, jeśli ich szacunki nie spełnią oczekiwań firmy.

Ogólna zasada: zajmie to co najmniej 3 razy więcej niż szacunek każdego kierownika projektu lub osoby nie znającej dokładnie wyzwań związanych z rozwojem i omawianej bazy kodu.

Jako osoba, która przez prawie 20 lat pracowała jako programista zarówno jako wolny strzelec, jak i pracownik w dużych korporacjach, mówię to z najwyższą pewnością i z dużym doświadczeniem gorzkim.


2
Popraw tę odpowiedź.
K.Steff
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.