Časové odhady úloh vo FogBugz

Vedieť kedy bude určitá časť softvéru hotová je na nezaplatenie. Vývojári majú svoje odhady, manažment svoje predstavy a keď sa to skĺby dokopy, tak väčšinou všetko bude čoskoro a nakoniec je to ledva hotové po trojnásobne dlhšom čase, ako sa plánovalo. Ak team používa dobrý systém na správu chýb a požiadaviek, tak by mal mať prehlad o celkom presnom dátume dokončenia časti softvéru.

FogBugz používa pri výpočte odhadov svoj vlastný systém nazvaný Evidence-Based Scheduling (EBS). Odhady robí na základe toho, ako správne používatelia FogBugz plnili svoje úlohy a vie identifikovať ľudí, ktorý majú veľmi zlé odhady, alebo ktorým sa darí robiť niektoré úlohy rýchlejšie. Aby EBS fungovalo presne, musí sa naučiť poznať používateľov a k tomu slúži história odhadov.

Úlohy vo FogBugz majú časový odhad, koľko asi budú trvať. Tento odhad robí zadávateľ úlohy, alebo človek zodpovedný za vykonanie úlohy. EBS ďalej sledu čas, ktorý bol vykázaný k jednotlivým úlohám až kým nedôjde k zatvoreniu úlohy – čiže k celkovému dokončeniu prác na nej. Vďaka týmto parametrom – odhadovaný čas (Original Estimate) a odpracovaný čas (Actual Elapsed Time) – EBS vypočíta „rýchlosť“ (Velocity) úlohy. Úloha odhadnutá na 2 hodiny s reálnym trvaním 4 hodiny má rýchlosť 0,5 – trvala dvakrát dlhšie, ako sa predpokladalo.

Evidence-Based Scheduling z týchto základných parametrov potom robí aj predikciu, koľko môže trvať projekt. Nečakajte však že dostanete jedno číslo (a toto číslo bude splňovať predstavy manažmentu, kedy má byť produkt hotový 🙂 ). EBS predikcia je vo forme časovej osi, na ktorej je vidieť aká je pravdepodobnosť, že produkt bude hotový k danému dátumu. EBS v skutočnosti simuláciou Monte Carlo odhaduje, ako môže projekt dopadnúť. Zahrnie do výsledku teda optimistické aj pesimistické varianty.

Ako sú počítané odhady používateľov, ktorí sú noví v systéme, alebo nerobia odhady?
FogBugz pre používateľov, ktorí nemajú dostatok úloh v histórii odhadov, automaticky vytvorí náhodnú históriu v ktorej predpokladá to najhoršie – že dotyčnej osobe bude všetko trvať dlhšie, ako bolo predpokladané.

Dostal som 1 dňovú úlohu, ale za menej ako 3 dni sa nedá stihnúť. Znamená to, že FogBugz si bude myslieť, že mi práca trvá dlho? Nie.
FogBugz si zaznamenáva zmeny v odhadovanom čase trvania úlohy, ale pokiaľ nie je k úlohe vykázaný čas, tak je možné odhad ľubovoľne meniť. Až keď niekto vykáže odpracovaný čas na úlohe, FogBugz si napevno zapamätá aktuálne nastavený odhadovaný čas a ten použije pri odhadoch. FogBugz si teda vie poradiť so situáciou, keď niekto vytvára úlohy a dáva im hrubé odhady a osoba ktorá bude na úlohe pracovať, môže bez problémov nastaviť reálnejší odhah. Nesmie však zabudnúť, že odpracovaný čas treba vykázať až potom.

Keeping on schedule graph

Limitácie odhadovacieho systému vo FogBugz 8

FogBugz má pri počítaní odhadov bohužiaľ problém s úlohami, ktoré boli zatvorené a po znovu otvorení priradené na inú osobu. FogBugz bude odpracovaný čas stále rátať pre osobu, ktorá prvá vykázala odpracovaný čas na úlohe a novopriradenej osobe čas nezapočíta. Vo Working Hours výkaze síce bude každej osobe vypočítaný správny odpracovaný čas, ale v EBS odhade budú časy nesprávne priradené.

Ak máte v databáze podobné úlohy, ktoré kazia odhady, v histórii odhadov používateľa (Estimate History) vymažte nesprávne odhady pomocou ikonky smetného koša v stĺpci Discard.