Niekoľko rokov dozadu som mal na starosti nasadzovanie novej verzie softvéru, ktorý sme vyvíjali na produkčný server. Tento softvér predstavoval databázu, sériu programov a ďalších artefaktov a jeho nasadzovanie vždy znamenalo niekoľko desiatok krokov počnúc zálohou a končiac testovaním. Už po prvom nasadení, a pocitu stresu, ktorý nemám rád, som sa rozhodol s týmto nepohodlím vysporiadať a to tak, že som si pre ďalšie (a všetky ostatné nasadenia) vytvoril niečo, čo som nazýval plán. V zmysle hesla „Plány sú nanič, ale plánovanie je nevyhnutné„ (Dwight D. Eisenhower) som sa rozhodol spísať si zoznam krokov, a tak si dopredu premyslieť, čo ma bude čakať. Pri samotnom nasadzovaní som už len s kľudom šachového veľmajstra škrtal jednotlivé body. Po rokoch sa mi do ruky dostala kniha The Checklist Manifesto od Atula Gawandea a ja som pochopil, že som vtedy pri tom nasadzovaní vlastne nevynašiel nič nové.
Atul je lekár, presnejšie chirurg, a vo svojom zamestnaní sa často strestáva s rutinou, ktorá pozostáva zo série krokov. Tie rutiny sa dejú najčastejšie pred, počas alebo po operácii a nepozostávajú z nijak komplikovaných krokov. Skôr sú naopak tak nudné a jednoduché, že sa často stáva, že sa na nich zabudne. A to môže mať niekedy (hlavne pre pacienta) neblahé následky. A tak sa Atul začal zamýšľať, ako zvládať takéto procesy, aby ich výsledok bol podľa možnosti najlepší, až došiel k magickému nástroju – checklistu (do slovenčiny by sa to dalo preložiť asi ako zoznam).
Účel toho zoznamu je celkom jednoduchý, a to pripomenúť vám všetky tie jednoduché ale potrebné kroky, ktoré nemáte problém vykonať, ale zároveň ich môžete ľahko zabudnúť. Atul sa nechal inšpirovať letectvom, kde ovládanie lietadla je v podstate fyzicky veľmi jednoduchá robota (stláčate tlačidlá, prepínače, sledujete ukazovateľe), ale zároveň to množstvo jednoduchých krokov vytvára dokopy neuveriteľne komplikovanú činnosť. Preto sa v letectve zoznamy veľmi úspešne presadili a okrem momentu pred štartom, kedy sa na základe zoznamu kontroluje stav lietadla, sa používajú dokonca pri problémoch. Áno, to aj pri problémoch typu „ľavý motor nám prestal pracovať.“ Vtedy sa vytiahne zoznam určený pre takýto prípad a krok po kroku sa urobia všetky úkony, ktoré by mali maximálne pomôcť. Opäť ide o jednoduché kroky, ktoré je ale ľahké v tom strese zabudnúť.
Okrem medicíny a letectva autor uvádza ako ďalšiu oblasť použitia stavebníctvo, hlavne pri budovaní objektov ako sú napríklad mrakodrapy, kde postavenie predstavuje ako celok nesmierne komplikovaný proces. Rôznezoznamy pre každé odvetie, ktoré sa na takejto stavbe podieľa, umožňuje držať tento komplikovaný proces pod kontrolov. Po stavebníctve je to oblasť investovania, kde niektorí investori pri skupovaní iných firiem (akvizíi) prechádzajú rokmi vybudovaný zoznam na kontrolu všetkých parametrov firmy (a správania sa ich súčasných vlastníkov) pred odkúpením. A takto by sa dalo pokračovať ďalej. Ale čo IT?
Kedysi dávno som čítal knihu o jednotkových testoch, z ktorej som si odniesol jednu nádhernú myšlienku a to, že testy treba písať v takej miere (tak veľa v pomere ku kódu), až vývoj začne byť nudný (cháp, prestane byť stresujúci). Inak povedané, každý jeden test znižuje stres, či zmena, ktorú v kóde robíte, nespôsobí nejaký nežiadúci efekt (kto niekedy dostal do ruky taký správny špagety-kód, vie o čom hovorím), pretože vám nakoniec vie potvrdiť, že kód funguje tak ako predtým (treba tiež samozrejme zvážiť, či chybný nie je test, ale to sa už dostávame príliš ďaleko). Zoznam, ktorý som si kedysi navrhol pri nasadzovaní a pre ktorý som vlastne v Atulovej knihe našiel meno, bol taký znižovač stresu v oblasti správy softvéru. Krok za krokom sa prehrýzate komplikovaným procesom s tým, že:
- na nič nezabudnete. Máte to čierne na bielom pred sebou a položky si jednu po druhej škrtáte
- už dopredu ste si premysleli všetky kroky aj ich poradie, preto sa vám nestane, že zrazu (väčšinou po nejakom nenávratnom kroku) zistíte, že ste mali niečo urobiť pred ním
- ak vás niečo/niekto vyruší, viete presne, kde ste skončili a môžete v pohode pokračovať
- vidíte celú činnosť od začiatku až do konca. Viete posúdiť, koľko vám to potrvá, čo všetko na to budete potrebovať.
- máte unifikovaný postup, takže každé opakovanie celého procesu bude dávať rovnaké výsledky
- situáciu máte omnoho viac pod kontrolou, takže tomu zodpovedá aj úroveň vášho stresu.
Takýto zoznam sa dá brať ako vyvažovanie určitých nedostatkov nášho rozumu. Ten totiž už fyzicky nie je určený, aby fungoval ako magnetofónová páska, ktorá vie prehrávať sekvenciu príkazov/slov/predmetov/čohokoľvek, ale naopak veľmi dobre chápe a pamätá si, ak objekty nejako spolu súvisia. Aj preto postupy, podľa ktorých si viete zapamätať nejaký zoznam, sú väčšinou postavené na vymýšľanie spojení medzi jednotlivými položkami. V praxi ale také memorovanie nemá zmysel, omnoho jednoduchšie je zobrať si kus papiera alebo otvoriť svoj obľúbený poznámkový program a začať si vytvárať zoznam.
Atulova kniha má veľmi jednoduchú myšlienku: pripravte si zoznam krokov pre komplikované procesy. Okrem toho už neobsahuje skoro žiadnu teóriu. Skôr len ukazuje, ako sa samotný autor na jednotlivých príkladoch, s ktorými sa stretol, postupne presviedčal o účinnosti zoznamu a ako sa ho sám pokúšal zavádzať do praxe. Kniha nie je príliš hrubá, a tak aj keď v skutočnosti obsahuje len jednu hlavnú myšlienku, nie je nudná a čítanie je celkom príjemné.