Pokud máte rozjetý nějaký svůj vlastní projekt, určitě ho chcete dokončit co nejdříve. Času je málo a proto je třeba s ním dobře zacházet. Začal jsem tedy analyzovat svůj čas strávený na projektu a objevil jsem asi největší trhlinu. Pokud právě dělám na nějaké konkrétní činnosti (ať už se jedná o implementaci nové featury, refaktoring, nebo opravování nějaké chyby) tak problémy nejsou. Vím co mám dělat a vím k čemu směřuju. Problém ale nastává v momentě, kdy tuto činnost dokončím. Většinou nastává dlouhá chvíle přemýšlení nad tím, co je třeba udělat a vybíráním nějaké činnosti, na kterou mám zrovna náladu. Odhadem mi tato činnost zabere až 40% času a mnohdy končí tím, že si dám „pauzu“ a přestanu se práci na projektu věnovat.
V momentě kdy jsem si uvědomil kolik času tímhle zabiju jsem s tím začal něco dělat. Potřeboval jsem nějaký systém vedení úloh. Automaticky jsem vyřadil seznam úkolů v Outlooku (a tím pádem i ve WM), protože tyhle úkoly tam u mně nemají co dělat. Zkoušel jsem několik aplikací pro vedení seznamu úkolů, ale většina z nich mě odradila svým user-unfriendly rozhraním. Dokonce jsem začal hledat řešení i mezi různými issue a bug trackery, jenže to bylo ještě horší. Tyhle systémy jsou hodně komplexní a pro jednoduchou zprávu úloh se prostě nehodí. Nehodlám strávit většinu času reportováním a udržováním takového systému.
Když už jsem to chtěl vzdát, dostal jsem od kolegy v práci super tip na skvělý ToDoList. Ještě ten den jsem tu aplikaci vyzkoušel a musím říct, že je to přesně to co jsem hledal. Aplikace je docela rozsáhlá a nabízí spoustu možností a nastavení. Na druhou stranu jde ale docela snadno vše nastavit podle potřeb jednotlivce.
Osobně jsem si pohled na úkoly osekal co nejvíce. U jednotlivých úloh mě tedy zajímají tyto údaje:
- Priorita – tady je to jasné. Úkoly s vyšší prioritou by měly být splněny co nejdříve. Většinou se jim snažím dávat přednost.
- Odhad (estimate) – odhadování času do ukončení úkolu je noční můra snad pro každého developera. Odhadnout přesně dobu, kterou úloha zabere je hodně složité a málokdy se ji podaří odhadnout dobře. Jedná se ale jen o odhad (který by se měl co nejvíce blížit skutečnosti), takže se počítá s tím, že to nebude úplně přesná hodnota. Proč ji ale používám i u soukromého projektu? Je to pro mě důležité v momentě, kdy vím že mám na programování třeba jen hodinu. Můžu tedy vybírat úlohy, které bych měl být schopen bez přerušení stihnout v daném čase.
- Procentuální stav – u této položky jsem docela váhal. K jejímu použití jsem se ale rozhodl hlavně z důvodu, že když měním procentuální stav úlohy, tak se dynamický mění i časový odhad. Díky tomu nemusím pořád přepisovat odhady a mám alespoň orientační přehled nad tím, co je v jakém stavu.
Toť vše. Více položek by mě zbytečně zdržovaly a nevidím v nich nějaký větší přínos pro mé potřeby. Samozřejmě ke každé úloze ještě patří název úlohy a nějaký komentář. Právě ty komentáře jsou hodně užitečné. Zobrazují se v závorce za názvem úlohy (toto chování jde vypnout) a pokud úlohu označíte, komentář se zobrazí ve zvláštním panelu. Komentáře potom upřesňují obsah dané úlohy a případně nějaké další potřebné informace.
Každá úloha může obsahovat několik dalších pod-úloh, díky čemuž si můžete větší úlohy rozdělit na několik menších a splnitelnějších.
A smysl toho všeho? Když dokončím nějakou činnost na projektu, nebo ten den s vývojem začínám, stačí otevřít seznam úloh. V přehledu úloh si vyberu tu, která mi vyhovuje po časové stránce a v případě několika časově shodných úloh volím podle priority. Odpadá mi tedy doba přemýšlení nad dalšími kroky (nebo se tato doba zkrátí na přijatelné minimum) a nemusím se pak vymlouvat nad tím, že nevím co dál dělat. Tento systém používám teprve krátce, nicméně se mi už osvědčil a můžu ho doporučit všem, kteří měli stejný problém s rozhodováním jako já 🙂
Zde přikládám screenshot takového ToDo listu:
Odkaz na domovskou stránku projektu: http://www.codeproject.com/KB/applications/todolist2.aspx
A co vy? Vedete si u svých projektů nějaký ToDo list?
nepoužívám a dost si za to nadávám 🙂 Asi vyzkouším, otázkou je, jestli jsem schopen to používat. Asi by to celý mělo smysl mít u nějakýho smartphone (což nemám) a nepoužívat to jenom na web projekty.
Marek: původně jsem si chtěl ten seznam úkolů vést na svém PDA. Zjistil jsem ale, že je to celkem nešikovné. Informace k úkolům se píšou celkem obtížně a na malé obrazovce nejsou ty úlohy moc přehledné.
Mnohem více se mi tedy oplatilo řešení v podobě desktop aplikace.
Používám na ToDo mobil, resp. aplikaci Pocket Informant 8. Umí to co zmiňuješ i něco navíc, ale to už nepoužívám (a je skvělé, že to tam nepřekáží). Kromě popisku, projektu a času dokončení používám ještě velmi rád kategorie (pracovní, moje, nepodstatné). Naopak nepoužívám prioritu (vyplývá z kategorie) a procentuální stav (nerad nechávám práci nedokončenou, takže bych stejně vše měl 0% nebo 100%).
Jelikož nápady mám asi desektrát častěji než volný čas, můj ToDo list jen roste. Jednou za čas to prořežu a vyházim to, co už se nezdá být tak důležité, co ztratilo smysl vykonáním něčeho jiného atp.
Takže oproti tomu, co slova „ToDo“ naznačují to používám jen jako inspirační seznam aktivit. Když nevím, co dělat, mrknu a něco najdu. Vždycky… kromě času, kdy mám KOPR.
Carnero: Pocket Informant jsem kdysi zkusil (myslím že ve verzi 7) a z nějakého důvodu jsem ji přestal používat. Bohužel si teď už nevzpomenu proč. Nicméně Mě teď tak napadá, že by mi PI mohl pro tyhle účely taky dobře posloužit. Díky za tip 🙂
dadajax: Já jej používám velmi rád. Je rychlý, umí vše potřeba a hlavně je snadné jej nastavit tak, aby funkce které nepotřebuji nepřekážely. Takže i když využívám jen některé jeho funkce, nemusím se proklikávat hromadou jiných.