-
X-Received: by 10.157.17.23 with SMTP id g23mr898900ote.4.1494015884358; Fri, 05 May
2017 13:24:44 -0700 (PDT)
X-Received: by 10.157.17.23 with SMTP id g23mr898900ote.4.1494015884358; Fri, 05 May
2017 13:24:44 -0700 (PDT)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!c26no83820
1itd.0!news-out.google.com!x200ni3194itb.0!nntp.google.com!c26no838198itd.0!pos
tnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Fri, 5 May 2017 13:24:43 -0700 (PDT)
In-Reply-To: <d...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=77.254.34.0;
posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
NNTP-Posting-Host: 77.254.34.0
References: <m1bhowamnfu8$.dlg@tyczka.com>
<d...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <2...@g...com>
Subject: Re: Szacowanie czasu realizacji zadań
From: "M.M." <m...@g...com>
Injection-Date: Fri, 05 May 2017 20:24:44 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:210484
[ ukryj nagłówki ]On Friday, May 5, 2017 at 9:18:27 PM UTC+2, Wojciech Muła wrote:
> On Friday, April 28, 2017 at 1:04:39 PM UTC+2, Roman Tyczka wrote:
> > Jak u Was wygląda problem szacowania czasu realizacji zleconych zadań?
> > Przykładowo oczekuje się od Was by dodać do projektu jakąś nową
> > funkcjonalność, która wymaga zmian jednocześnie na poziomie bazy danych,
> > skryptów, kodu właściwego, GUI, jakiś innych związanych z projektem
> > przydupasów typu instalatory, autoupdaty, instrukcje, etc.
> >
> > Jak szacujecie ile to zajmie, gdy management żąda tej wiedzy by wyceny
> > dokonać?
> > Można owszem strzelać, ale każdy rozjazd jest źle postrzegany. Da się to w
> > ogóle jakoś sensownie i praktycznie ogarnąć?
>
> Estymacja to jest ładna nazwa dla zgadywania. Jeśli robisz coś
> po raz pierwszy, to skąd możesz wiedzieć ile Ci to zajmie? Jak
> robiłem powtarzalne rzeczy, to zwykle zgadywałem dobrze. Ale czasem
> okazywało się, że trafiłem na minę: bez poważnego refactoringu
> nie dawało się zrobić jakiejś pozornie łatwej rzeczy. I nagle
> z 4 godzin, robiło się kilka dni.
>
> Na szczęście obecnie mam szefa, który stąpa twardo po ziemi
> i np. pozwala robić prototyp. Na zasadzie: zacznij robić i jak
> po X dniach widzisz, że ci zajmie dużo więcej, to pomyślimy.
>
> Czasem zdarzają się też rzeczy mocno losowe; w zeszłym roku
> mieliśmy taki dzień, że co chwilę brakowało prądu. Tego nawet
> Wróżbita Wojciech (zbieżność imion przypadkowa) nie przewidzi. :)
Zaniki prądu, przewidywalne czy nie, albo na krótko zaburzają
pracę, albo stosuje się agregaty :) Natomiast ciężka choroba
25% krytycznej części personelu (np. jedna osoba o specyficznych
umiejętnościach w zespole czteroosobowym) może wydłużyć
czas o miesiąc, dwa, albo trzy - tyle potrzeba czasami na
zatrudnienie specjalisty, wyzdrowienie lub wyszkolenie
innego pracownika.
Inna sytuacja, choruje znowu jedna osoba
która znowu stanowi 25% zespołu i jest autorem dużej
części kodu pisanego w sposób bałaganiarski, bez
dokumentowania i z powodu np. dużej presji czasu, albo
zmęczenia spowodowanego przepracowaniem. Co zrobić w
takim przypadku? Kodzili w czwórkę od roku, jeden
pracownik się rozchorował, brak postępu w jego części
kodu zacznie blokować resztę, nikt inny szybko się
nie połapie w jego kodzie?
Kolejny przypadek, przerabiałem to na własnej skórze
kilka razy. Opierałem błyskawiczny czas wykonania
jakiegoś zadania o bibliotekę. Biblioteka okazywała
się do bani. Napisanie samemu funkcjonalności jaką
oferowała biblioteka zajęłoby właśnie 20-30 razy
więcej czasu niż szacunki wykonania całego projektu.
Trzeba było się napracować, oddać pieniądze i
jeszcze przeprosić - dobrze że kar nie było :)
Co więcej... Rozbijamy projekt na funkcjonalne
części pierwsze. Duży projekt, dużo guziczków,
dużo scenariuszy, dużo pod-funkcjonalności, innymi
slowy idealne warunki do ekstrapolacji. Robimy
prototyp, przygotowujemy kod do wielokrotnego
użycia, zwykle czas jest niedoszacowany, ale
na początku jest większy nakład pracy na wykonanie
kodu do wielokrotnego użycia - jedno (lepiej
lub gorzej) kompesnuje drugie - więc znowu
idealne warunki do ekstrapolacji. Wykonujemy
10% projektu, 20%, może nawet 30%, wszystko
gładko idzie, ekstrapolujemy czas, dajemy
klientowi gwarancje, może zgadzamy się na
jakieś kary umowne, nagle pojawia się kilka
nieuwzględnionych problemów w prototypie:
np. właśnie choroba, problem z biblioteką,
albo algorytm o którym myśleliśmy że rozwiąże
dany problem jednak go nie rozwiązuje i trzeba w
ogóle zastanowić się nad możliwością rozwiązania
danego zadania na komputerze. Ilu z Was myślało,
że np. dobry program do gry w szachy da się napisać
przy użyciu algorytmu alpha-beta? Ja dla mnie to
było oczywiste, ale potem okazało się, że oprócz
alpha-bety trzeba jeszcze pierdylion heurystyk -
takie niedopatrzenie algorytmyczne może zwiększyć
nakład czasu pracy np. 1000 razy.
Można przejechać się do bólu, niemniej rozbijanie
na funkcjonalne części pierwsze plus wykonanie
prototypu plus ekstrapolacja to najlepsza metoda
jaką znam.
Pozdrawiam
Następne wpisy z tego wątku
- 10.05.17 18:05 niepełnosprawny intelektualnie 'POPIS/EU
- 11.05.17 18:18 M.M.
- 11.05.17 18:40 niepełnosprawny intelektualnie 'POPIS/EU
- 11.05.17 20:08 Mateusz Bogusz
- 11.05.17 20:50 M.M.
- 12.05.17 15:28 H.D.
- 12.05.17 17:24 niepełnosprawny intelektualnie 'POPIS/EU
- 14.05.17 07:34 m...@k...org
- 14.05.17 09:43 M.M.
- 14.05.17 10:55 Wojciech Muła
- 14.05.17 18:22 niepełnosprawny intelektualnie 'POPIS/EU
- 14.05.17 18:39 niepełnosprawny intelektualnie 'POPIS/EU
- 14.05.17 18:46 M.M.
- 16.05.17 12:01 niepełnosprawny intelektualnie 'POPIS/EU
- 16.05.17 12:50 H.D.
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-12-12 Warszawa => Administrator Bezpieczeństwa IT <=
- 2024-12-12 Ostrów Wielkopolski => Trener zespołu sprzedaży Call Center <=
- 2024-12-12 Kraków => Key Account Manager <=
- 2024-12-11 SEP 1 kV E
- 2024-12-11 DNS restrictions are on
- 2024-12-11 wielkie bu
- 2024-12-11 Białystok => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-11 Aku LiPo źródło dostaw - ktoś poleci ?
- 2024-12-11 Warszawa => Specjalista Bezpieczeństwa Informacji <=
- 2024-12-11 Wrocław => Application Security Engineer <=
- 2024-12-11 Warszawa => Analyst in the Trade Development department (experience wi
- 2024-12-11 Lublin => Programista Delphi <=
- 2024-12-11 Motodziennik #305 Nowy ELEKTRYK za 350 złotych miesięcznie? Kreatywne kredytowanie problemów
- 2024-12-11 Warszawa => Spedytor Międzynarodowy <=
- 2024-12-11 Katowice => Key Account Manager (ERP) <=