Prečo za jednoduchú vec platíte v IT ako za raketu (overengineering po ľudsky)
Overengineering je zbytočná zložitosť, za ktorú platíte časom, peniazmi aj krehkosťou systému. Ako ju odhalíte dvomi otázkami skôr, než sa postaví.
Video k tomuto článku pripravujem. Keď bude hotové, objaví sa priamo tu.
Niekedy IT postaví obrovský zložitý systém na úlohu, ktorá sa dala vyriešiť za hodinu. A zaplatíte to vy. Peniazmi, dlhšími termínmi a systémom, ktorý sa neustále kazí a rozumie mu jeden jediný človek. Túto pascu sa dá spoznať včas, ešte kým sa dá zastaviť. A nepotrebujete na to ani trochu technických znalostí.
Najprv dôležité rozlíšenie
Existuje situácia, keď je zložitosť úplne oprávnená. Poviete si drobnú zmenu a ona je naozaj veľká. Pod povrchom otvorí desať otázok, s ktorými ste nerátali. O tom je samostatná téma, ktorú voláme Door Problem. Dnešok je jej presný opak.
Dnes hovoríme o zložitosti, ktorá oprávnená nie je. Ktorú si vyrábame sami a úplne zbytočne. Úloha je jednoduchá a dala by sa vybaviť za hodinu. Napriek tomu z nej vznikne monštrum. Staviame ho mesiace a potom ho roky opravujeme. Volá sa to overengineering, po našom prehnané inžinierstvo. Riešenie oveľa zložitejšie, než problém potrebuje.
Pretekárske auto na cestu po rožky
Predstavte si, že potrebujete každé ráno zájsť po rožky. Je to kúsok, pár ulíc. Na túto úlohu vám stačí obyčajné auto, bicykel alebo pešia prechádzka.
A teraz si predstavte, že vám niekto namiesto toho kúpi pretekársku formulu. Sedemsto koní a motor za pol milióna. Špeciálne palivo a pneumatiky. Mechanik, ktorý jej rozumie. Garáž s presne nastavenou teplotou. Aby ste s ňou vôbec vyšli z dvora, potrebujete pretekársku licenciu.
Formula je úžasný stroj. Na okruhu nemá konkurenciu. Ibaže vy nejdete na okruh, vy idete po rožky. A na rožky je to tá najhoršia možná voľba. Je drahá a krehká. Rozbije sa na prvom obrubníku. A väčšinu času len stojí v garáži, lebo si ju netrúfnete naštartovať. Presne toto sa deje vo firemnom IT častejšie, než by ste čakali.
Prečo tá formula vôbec vznikne
Nikto ráno nepovie, poďme minúť pol milióna na cestu po rožky. Deje sa to potichu a z celkom ľudských dôvodov.
Po prvé, technici radi riešia zaujímavé problémy. Je to ich remeslo a robia ho radi. Jednoduchá úloha je nudná. Zato postaviť veľký a elegantný systém je výzva. Formula je proste krajšia práca ako bicykel.
Po druhé, a to je najdrahšia pasca. Riešime problémy, ktoré ešte nemáme. Padne veta, ktorú poznáte z každej druhej porady. Čo keby sme raz mali milión zákazníkov? Čo keby to raz bolo v desiatich krajinách? A zrazu staviate systém pre milión zákazníkov, hoci ich máte dvesto. Platíte dnes za problém, ktorý možno nikdy nebudete mať. A keby ste ho aj mali, príde o tri roky a bude vyzerať úplne inak.
Po tretie, strach a krytie chrbta. Nikoho nikdy nevyhodili za to, že kúpil priveľký systém. Za primalý systém už áno. Takže ľudia radšej prestrelia a kúpia formulu pre istotu. A po štvrté, niekedy to tak jednoducho predáva dodávateľ. Väčší systém je vyššia faktúra.
Všimnite si, že ani jeden z tých dôvodov nie je zlý úmysel. Práve preto je overengineering taký zákerný. Nevyzerá ako chyba, vyzerá ako dôkladnosť.
Koľko vás tá formula naozaj stojí
Nie je to len tá cenovka na začiatku. Sú štyri ceny.
Prvá je čas. Formula sa stavia dlhšie ako bicykel. Kým jednoduché riešenie beží o týždeň, na zložité čakáte pol roka. A celý ten čas potrebná úloha jednoducho nie je hotová.
Druhá sú peniaze, a to dvakrát. Raz zaplatíte za postavenie a potom platíte za prevádzku donekonečna. Zložitý systém potrebuje servery, špecialistov a licencie. Presne ako formula potrebuje palivo, mechanika a garáž. Bicykel dáte do kôlne a nestará sa oň nikto.
Tretia cena je krehkosť. Čím viac dielov systém má, tým viac vecí sa môže pokaziť. Zložitý systém padá častejšie a opravuje sa ťažšie. A rozumie mu čoraz menej ľudí.
Štvrtá cena je závislosť a tú ľudia najviac podceňujú. Formulu vám postavil jeden šikovný človek a on jediný jej rozumie. Keď odíde, zostane vám v garáži drahý stroj. Nikto sa ho neodváži naštartovať. Predstavte si firmu so systémom tak zložitým, že ho po odchode autora radšej celý zahodí a postaví odznova. Zaplatí teda dvakrát za niečo, čo malo byť od začiatku jednoduché.
Ako formulu odhalíte dvomi otázkami
Nemusíte rozumieť technike. Stačia dve otázky. Položíte ich aj na porade, kde ste jediný netechnický človek.
Prvá otázka. Rieši toto problém, ktorý naozaj mám teraz? Alebo problém, ktorý by sme raz mohli mať? Keď počujete odpoveď v štýle čo keby sme raz, spozornite. Práve niekto navrhuje formulu na cestu po rožky.
Druhá otázka. Dá sa to spraviť jednoducho teraz a doplniť neskôr, ak to bude treba? Skoro vždy sa dá. Skoro vždy sa dá začať bicyklom a formulu kúpiť až vtedy, keď naozaj pôjdete na okruh. A keď začnete jednoducho, zložitejšie riešenie väčšinou ani nebudete potrebovať.
A jedno pravidlo navyše. Zložitosť má byť odpoveď na problém, nie na predstavu problému. Niekto vám vysvetľuje zložité riešenie a vy sa v tom stratíte. Nemusí to byť tým, že ste hlúpy. Dobré riešenie jednoduchého problému sa dá vysvetliť tak, že mu rozumiete. Ak sa to vysvetliť nedá, pýtajte sa ďalej.
Záver
Niekedy je zložitosť oprávnená. Malá vec pod povrchom naozaj otvorí desať otázok. A niekedy si zložitosť vyrábame sami, keď na cestu po rožky kupujeme formulu. Rozdiel odhalíte dvomi otázkami. Rieši to problém, ktorý mám teraz? A dá sa to spraviť jednoducho teraz a doplniť neskôr? Tá zbytočná zložitosť pritom nie je drahá len dnes. Je to skrytý náklad, ktorý vás sprevádza roky.
Potrebujete niekoho, kto sa na navrhované riešenie pozrie a na rovinu povie bicykel alebo formula? Som Jana a nájdete ma na kulichova.vip.
Až 2 hodiny úvodnej konzultácie online, zdarma
Pozrieme sa na vašu situáciu a poviem vám na rovinu, či a ako viem pomôcť. Bez záväzku.
Dohodnime si termín- Diel 01Čo je to API a prečo to počujete na každej porade
- Diel 02Skryté náklady IT, alebo prečo vás softvér stojí trikrát viac než na faktúre
- Diel 03Prečo aj malá zmena v softvéri trvá dva týždne (a nie je to výhovorka)
- Diel 04Cloud alebo vlastný server? Rozhodnite sa ako pri kúpe bytu
- Diel 05Buzzwordy z IT porád po ľudsky (cloud, agile, blockchain, legacy)