Kdybych musel sepsat pár pravidel, jak úspěšně a rychle řešit P1, bylo by to asi:
- Zapátrat v paměti. Zní to asi komicky, ale když se člověk poptá kolegů nebo zapátrá ve znalostní bázi, někdy objeví kostlivce ve skříni. Když má člověk den, rovnou i řešení.
- Reprodukovat chybu. To je absolutní základ a začátek všeho. Máte log soubor z produkčního systému, musíme chybu opakovat. Bez reprodukce není oprava. I když by programátor chybu odhalil (což je v rozporu s těmito pravidly), nemůže ji otestovat. Reprodukce dělá test case.
- Příprava workaroundu. Jedná se o chybu na produkci, proto není možné ztrácet čas zbytečnostmi. Nejlepší řešení je to nejjednodušší možné, které zajistí, aby se chyba už neopakovala. V některých vyjímečných případech může pomoci i to, že se chyba nebude opakovat tak často.
- Otestování. Pokud máte připravený test case zmíněný výše, mělo by to být snadné. Je třeba odhadnout, kolik má člověk asi času (termín, předpokládaný čas další chyby). Testovat se musí, ale v tomto případě přiměřeně. Předpokládám, že dodaný výsledek půjde ještě na akceptační test.
- Předání a podpora. Poslat hotfix do testování/produkce deset minut před odchodem domů asi nebude to pravé ořechové.
- Zahájení prací na opravě. To co bylo výše uděláno je workaround. Nyní je třeba minimálně naplánovat, jak bude probíhat odstranění chyby se vším všudy. S tím bývá někdy spojené i hledání nových verzí knihoven a kontrola changelog souborů či procházení open-source repozitářů (to je jistější). Někdy prostě chybu udělal někdo, koho vůbec neznáme. A třeba ji už opravil.
Tento zápisek vznikl převodem z mého starého blogu. Ne všechny texty byly takto převedeny, kompletní archiv již není k dispozici.