Cayman Islander | Diary of a Freelance Programmer traveling the world

Cayman Islander's blog - Diary of Freelance Programmer

Klasicky, nestíhám...

Už jsem si za ty roky praxe zvyknul, že není možné odhadnout, jak dlouho bude nějaký vývoj trvat. I při sebevětší zkušenosti jsou prostě věci, se kterými není možné počítat. Každý vývojář se někdy setká s tím, že se nějaká nově vyvíjená funkce do počítačového programu, zpočátku vypadající jako triviální taškařice na 2-3 hodiny, změní v nekončící proces testování, oprav a hledání, proč to proboha nefunguje.

Původně plánovaný čas (2-3 hodiny) se tak prodlouží na třeba celodenní úmorné řešení s průběžným zapínáním debug funkcí, hledáním nápadů na řešení na internetu, popř. diskuzí s jinými specialisty v okolí nebo v diskuzních skupinách.

V případě, že vývojář nakonec nalezne příčinu problému díky zdrojům na internetu nebo pomoci někoho, kdo se s podobným problémem již setkal, tak je vyhráno. Horší je, když žádná pomoc není k nalezení a i nejvyhlášenější borci kroutí hlavou, že "hmm, s tím jsem se ještě nesetkal".

Následuje fáze rozhodování, co s tím. Omezit řešení, najít nějakou jinou cestu, snížit kvalitu nějakou pseudo-berličkou a pak to někdy v další verzi opravit? Kolik času ještě investovat? Čas a stanovený "termín dokončení" je asi základní rozhodovací faktor, možná ještě ve spojení s výslednou "kvalitou řešení".

(Pominu teď to, že "termín dokončení" byl stanoven právě jen odhadem, kdy se nedalo předpokládat, že něco bude trvat mnohem déle, jak by trvalo v ideálním případě.)

Nesnáším kompromisní řešení!

Já to řeším obvykle zvýšeným výkonem a maximalizací všech sil, abych to vyřešil a zachoval funkčnost i požadovanou kvalitu. Takže, když mám něco dodělat do pondělí a svůj interní "deadline" jsem stanovil na pátek, tak v případě, že v pátek něco nestíhám, mám sobotu a neděli a k tomu teoreticky i 3 "dlouhé" noci na dokončení.

Takže klasicky, program na víkend jsem měl jasný v pátek, kdy jsem zjistil, že díky nejasnému zadání nebylo možné předpokládat, že nastanou ještě 2 další varianty, které je nutno vyřešit, jinak nová funkčnost nebude mít smysl.

Co s tím? Dodat s klidnou myslí nesmyslné nebo žádné řešení s tím, že to nebylo v zadání a vyjednat nový termín dokončení? To je sice možné, ale to je alibistické a dělá se jen ve firmách, ve kterých nejde o řešení ani o zákazníka a už vůbec ne o konečné uživatele, ale jen o vlastní příjem.

Abych tedy dokončil, co jsem slíbil do pondělí, kdy mě čeká prezentace, tak jsem se od počítače přes víkend moc nedostal. Ale výsledek zase stojí za to! Vše funguje jak má, kvalita standardně překonává požadované zadání. Dokonce jsem měl čas pohrát si s profesionálním designem a navrhnout změny na interním web portálu.

Skvělé, dokonalé, mám radost!

Že jsem se moc nevyspal a tzv. "neužil" si víkendu s rodinkou? Jasně, nedá se to takhle dělat stále, ale jelikož nejsem workoholik, tak to jsou věci, které se dají nahradit a tento týden se toho také budu držet.

Není nic lepšího, jak si dělat se svým časem co chci, být zodpovědný za svůj život i za sliby, co člověk dává sobě i jiným!

0 comments :

Okomentovat