Prečo neuznávam best practices

IT sektorom sa spolu s niektorými ďalšími dlhodobo šíri jeden úkaz. Ten sa nazýva “best practices”, a takmer vždy si tým dotyčná osoba škodí a zbytočne si komplikuje prácu. V slepej viere, že robí niečo dobre. Pravda je ale takmer vždy presne opačná. A teraz si povieme, prečo.

Z času na čas sa stále stretnem s niekým, kto má nutkanie používať “best practices”. Asi ako keď vám niekto musí do 2 minút povedať, že má iPhone. Zatiaľ čo ten druhý prípad je relatívne neškodný, tak ten prvý veľakrát napácha veľa škôd. A pritom by sa tomu celému dalo vyhnúť, keby sa použil inteligentnejší prístup.

Správny preklad

Najväčší kameň úrazu s best practices je ten, že to ľudia nevedia správne preložiť do slovenčiny. A domýšľajú si rôzne úsmevné preklady, ako napr. “najlepšie praktiky” a pod. A samozrejme, keď je niečo zle preložené, tak z toho nič dobré nemôže vzísť. Respektíve – vzíde z toho akurát tak blud. A zanášanie bludov do práce nikdy nedopadlo dobre.

Výraz “best practices” má totižto v slovenčine presný preklad. Lenže nemôžete ho prekladať slovo po slove, pretože to, čo vám z toho vyjde, je blbosť, ktorej tak u nás nehovoríme. Tak ako napr. je populárny preklad frázy “it’s not a rocket science”, čo snáď každý jeden “vzdelaný” človek prekladá ako “to nie je raketová veda”. Lenže tak sa to u nás nehovorí. Správny preklad je “to nie je veľká veda”. A podobne je to aj so svätým grálom “best practices”.

Výraz “best practices” sa do slovenčiny správne prekladá ako “odporúčané postupy”. Pretože tak tomu na Slovensku hovoríme. Aspoň posledných 30 rokov. Pred rokom 1989 sa tomu hovorilo “normovaná práca”. Potiaľto jazykové okienko.

Čo je ale zlé na “best practices” ?

Samo o sebe nič. Odporúčať vám môže kadekto kadečo. Na odporúčaniach nikdy nie je nič zlé. Zlé je až to, keď to niekto zdvihne ako zástavu, a začne ňou mlátiť všetkých neveriacich, že to takto musí byť. Pretože to absolútne nepochopil.

Na jednej strane je pochopiteľné, že ľudia chcú robiť všetko najlepšie, ako len vedia. Keď sa však tento návyk spojí so slovíčkom “best” a zlým prekladom hore uvedenej frázy, tak sa z človeka stáva tragéd. Snaží sa robiť najlepšie niečo, čo nie je najlepšie, a nevie o tom. A keď si to ešte začne vynucovať u kolegov, tak tu máme dobrý zárodok fanatizmu.

Príklad z praxe

Minule som sa rozprával s jedným známym, ktorý u svojho klienta optimalizoval výkon SQL Servera. A rozčuľoval sa nad tým, že takmer každý jeden klient nemá implementované “best practices”. Že ako môžu takto fungovať, veď určite preto im to ide zle. To, že sa nezameral na poriadnu diagnostiku, bolo vedľajšie. Tak som sa mu pokúsil vysvetliť, že o čom to vlastne hovorí. A dal som mu jeden veľmi dobrý príklad z SQL Servera, kde snáď už 20 rokov koluje oficiálny “best practice”, že nad jednou tabuľkou nesmie byť viac ako 4 alebo 5 indexov. Lebo výkon vraj pôjde prudko dole. Čo je samozrejme chujovina ako voda v koši pre tých, čo poznajú SQL Server do hĺbky.

Keď som pred pár rokmi pátral, ako to celé vzniklo, tak som našiel blog jedného vtedajšieho zamestnanca Microsoftu, ktorý to celé vymyslel. Vraj dostal vtedy zadanie od svojho nadriadeného, že musí dať nejaké číslo pre počet indexov. Odmietal, pretože sám vedel, že je to blbosť, ale komunita a zákazníci vyžadovali presné číslo. Tak dal. A takto vznikol jeden z najviac používaných bludov, nazývaných elegantne ako “best practice”. Ktorý je jasný každému, kto vie, ako fungujú indexy. Keď som mu spomenul potom to, že u viacerých klientov som mal prípady, keď sme vytvorili aj 20 indexov nad tabuľkou, a rapídne to zvýšilo výkon SQL-ka, tak už nevnímal. Bolo to v rozpore s jeho vierou.

A ako používať “best practices” ?

Ako som vravel, nie sú zlé, keď viete, že sa to správne prekladá ako “odporúčané postupy”. A že to znamená to, že sú to iba odporúčania, o ktorých sa treba kvalifikovane rozhodnúť, či ich implementujete alebo nie. Keď všetko funguje dostatočne dobre, tak načo by ste to vôbec robili? Práce máte aj tak dosť.

Podstatné však je slovíčko “kvalifikovane”. Pretože za používaním frázy “best practices” sa takmer vždy skrýva to, že daná osoba nechce rozumieť tomu, čo robí. A hľadá rýchle riešenia problému. Tak si dá od nejakého experta povedať, čo je “best”, a slepo to implementuje. Čo takmer vždy dopadne tragicky.

Prečo to nepoužívať

Dôležitým dôvodom, prečo nepoužívať všade tieto postupy je však jedna veľmi dôležitá skutočnosť. Každý jeden informačný systém je totiž iný. Pretože každá jedna firma na svete je jedinečná. A informačné systémy a nástroje si musí prispôsobiť tak, aby čo najlepšie podporovali jej firemné procesy. To je v presnom protiklade s tým, že by všetci mali mať rovnako nastavené systémy. Alebo si myslíte, že v Microsofte sú tak blbí, keď nenastavili svoj vlastný softvér podľa takýchto odporúčaní? Kedy by mal fungovať úplne najlepšie? Nie, v Microsofte nie sú blbí. Vedia veľmi dobre čo robia. A preto aj pri všetkých týchto odporúčaniach nájdete vetičku o tom, že treba zobrať do úvahy celý systém, a po implementácii odporúčania odmerať, či sa problém vyriešil, alebo či sa niečo zlepšilo. Čo mnohí v zápale horlivosti veľmi ľahko prehliadajú.

Preto ani ja neuznávam “best practices”. Jednak to volám správnym slovenským prekladom “odporúčané postupy”, ktorý už sám o sebe povie každému jednému aspoň trochu ochotnému človeku, o čom je reč. Pretože vynucovanie si rovnakých postupov u každého sme si tu zažili už celkom dosť pred rokom 1989. A vieme ako to dopadlo. Preto ani vy neberte tieto postupy ako Sväté písmo, ale len ako odporúčania. Na ktoré si asi ešte budete musieť niečo doštudovať, aby ste vedeli zodpovedne zhodnotiť, či to potrebujete, alebo či to niečomu pomôže. Inak si len zbytočne komplikujete život. A vyrábate zbytočné problémy pre seba aj pre ostatných. A to predpokladám, že nechcete.

Preto berte “best practices” ako odporúčania. Pretože sú to iba odporúčania. Ktoré môžete, ale nemusíte implementovať. A najmä používajte správny slovenský preklad. Nielen tejto, ale aj iných anglických fráz. Pretože až potom zistíte, že svet technológií je celkom ľahko pochopiteľný. A najmä budete presne vedieť, čo robíte, a čo presne sa tým myslelo v tom anglickom texte. A to nie je nikdy na zahodenie 🙂