Proč je dobré dělat věci složité?

Před týdnem jsme si na tomto místě povídali o tom, jak přílišná kreativita, nespoutaná sebekázní, může být na překážku tvůrčímu procesu. Chválili jsme jednoduchost. Dnes pochválíme složitost a vytváření komplikovaných a drahých věcí. Rozpor? V černobílém a doslovném světě možná; ve skutečném nikoli.

Přiznám se bez mučení, že tato glosa navazuje na tu z minulého týdne zcela záměrně, a dokonce i k tomu, že její téma, které se tváří jako protiklad a náhlá změna názoru, jsem měl připravené už při psaní té první. S lehkou škodolibostí jsem čekal na to, až mi přijde někdo vysvětlit, že se mýlím, protože lidé složité věci ve skutečnosti chtějí a potřebují.

Jednoduchost je přeceňovaná!

Dělat věci složité je poměrně jednoduché, ale udělat věci jednoduché není vůbec snadné, ačkoli by se zdálo, že tomu je přesně naopak. Zjednodušení totiž může být dobré i špatné. Špatné je takové, kdy někdo od stolu vyškrtá vše, co se mu zdá složité a nadbytečné. Dobré zjednodušení pak spočívá v přístupu, který v diskusi zmínil jeden komentující: Jak to udělat, aby nástroj uměl co nejvíc věcí s co nejmenším počtem funkcí? Tedy v citlivém vyvážení a v pečlivém posouzení každého prvku, každé funkce: Co dělá? Musí to dělat? Neduplikujeme tu něco jiného? Je to nezbytné?

A pak přijdeme na trh s pečlivě vyladěným nástrojem a funkčně čistým designem, a on ho nikdo nekupuje! Lidi kupují něco jiného: kupují programy, s nimiž toho udělají možná míň, ale které jsou od pohledu složité, komplexní a mocné. (Na toto téma doporučuji článek od Dona Normana, který se na věc dívá z podobného úhlu jako následující text.)

Podvědomí a ryzí absurdno

Vysvětlení takového počínání je jednoduché, ale dostáváme se do oblastí soft skills, k oborům jako je psychologie a ekonomie – a není potřeba připomínat, jaké pověsti se tyto obory u velké části čtenářů Zdrojáku těší. Na místě je dodat: …bohužel!

Ochota koupit (či používat) nějaký program totiž není nijak, natož přímo, úměrná schopnostem a vlastnostem onoho programu. Představa, že si budoucí uživatel / zákazník udělá podrobnou rešerši, oproštěnou od jakýchkoli emocionálních vlivů, a rozhodne se čistě na základě naprosto racionální úvahy, založené na věcném porovnání nabídky s vlastní reálnou potřebou, je z říše pohádek. Do rozhodování o koupi totiž vstupuje mnoho dalších, vědomých i nevědomých, faktorů, které nemají s věcným srovnáním funkcí nic společného, přesto významně ovlivňují užitnou hodnotu pro zákazníka.

Pokud se vám nelíbí obchodnický tón, tak si doplňte vám sympatičtější výklad – místo „zákazníka“ dejte „uživatel“, místo „zboží“ třeba „software“, no a místo „koupit“ čtěte „rozhodnout se pro používání“. Princip zůstává téměř doslova stejný.

V první řadě platí, že člověk zboží koupí tehdy, když jeho hodnota je vyšší než cena, kterou za něj zaplatí. Což je prostá operace porovnání dvou hodnot, logická a pochopitelná. Bohužel porovnáváme dvě hodnoty, z nichž jedna je subjektivní a druhá neurčitelná, takže s navyklými mechanickými postupy nevystačíme.

Hodnota konkrétního zboží (programu, …) je naprosto subjektivní, pro každého člověka jiná. Samotný materiální zisk, který konkrétní zboží přinese („ušetříme XYZ peněz“, „získáme zakázky za ZXY peněz“, „udělám Xkrát víc práce za stejný čas“), je jen jednou její složkou. Co dál určuje hodnotu?

  • vkus („zelený hranatý mobil? No fuj!“)

  • móda („musí to mít dotykový displej“, „musí to mít kulaté rohy“) – módní zboží je vnímané jako modernější, výkonnější, lepší, …

  • vliv na sociální status (situace dobře známá u mobilních telefonů z 90. let – kdo měl vyskakovací Nokii, byl nadsamec, kdo měl plastového Alcatela, byl socka)

  • kulturní kontext (jen dva příklady: červené auto a červené boty mohou stát mnohem víc než totéž v jiné barvě)

  • sociální kontext (jinou hodnotu bude mít zlatý řetízek a tepláková souprava pro programátora na srazu programátorů, a jinou pro majitele autobazaru na srazu majitelů autobazarů)

  • atd.

Všechno tohle při rozhodování hraje roli, a nikoli zanedbatelnou. Zákazník objektivně porovnává, zda je výhodnější program A za X peněz, který přinese zisk Y, nebo program B, který stojí XX peněz a vydělá YY – a přitom subjektivně k ziskům připočítává věci jako „budu si před těma kašpárkama z jinejch firem připadat dobrej, když mimoděk na rautu utrousím: já mám ve svý firmě účetnictví na ou’reklu“. Jakou cenu má takové prohlášení? Jak pro koho, že…

K ceně, tedy druhému faktoru rozhodujícím o koupi, lze říct totéž: Subjektivně vnímaná cena, kterou člověk opravdu zaplatí, souvisí s částkou na cenovce jen velmi volně. Nejen proto, že pro každého má stovka jinou hodnotu, ale i proto, že v této částce nejsou zahrnuté další náklady, které s věcí budeme mít, tzv. náklady na vlastnictví. Tam lze započítat jak přímé náklady, např. cenu spotřebního materiálu, ale i náklady na opravy, dostupnost servisu či čas nutný k zaškolení – a každý z nás tyto faktory vnímá jinak, a některé dokonce opomíjíme (protože je opominout chceme – koupíme to, co je bezprostředně levnější, i když vlastnictví bude pak mnohonásobně dražší). Lidové pořekadlo shrnuje tyto náklady v lakonickém označení určitého zboží slovy „zadarmo drahý!“

Koeficient ješitnosti

Pro mnoho lidí je důležité, že na jejich notebooku, mobilu, oblečení, autě… je nějaké konkrétní logo. Pro někoho není důležité samotné logo, ale podřídí se tlaku skupiny, aby „nevypadal jako socka a hňup, co tomu nerozumí“ – jak mnozí říkají „Já bych si koupil i jiný, ale to bych byl out“. No a další si zcela nepokrytě pořizují věci podle toho, jak chtějí, aby je jejich okolí vnímalo (typicky: koupí si nejlevnější MacBook, aby podtrhl snahu vypadat jako nezávislý kreativní jedinec, co jde proti proudu).

Procesem zvaným racionalizace si pak vnitřně zdůvodní, že vlastně přesně toto potřebují, a čím silněji racionalizovali, tím agresivněji své rozhodnutí obhajují. (Opět je vhodný okamžik připomenout čtenářům, že pokud jim připadá, že oni sami se tak nechovají, neznamená to ani že obecné tvrzení není pravdivé, ani že autor sám se chová tak, či smýšlí onak. Keyser Söze by dodal, že nejlepší racionalizací je přesvědčit sám sebe, že žádnou racionalizaci neděláme.)

Čímž se dostáváme k vysvětlení situace, zmíněné v úvodu. Lidé často koupí i objektivně horší program za víc peněz, pokud bude působit jako složitější. Faktor „složitosti“ tu totiž podvědomě působí na zkušenost většiny lidí, která jim říká, že „profesionální“, „odborné“ a „opravdové“ věci jsou složité k ovládání. Že řídicí pult jaderné elektrárny je hrozně složitý a obsluhují ho odborníci. Že kokpit dopravního Boeingu je plný čudlíků, páček, ukazatelů a kontrolek, a tudíž za něj může usednout jen dlouho školený profesionál. (Don Norman správně podotýká, že vnímaná složitost záleží na znalostech a zkušenostech – pilotovi připadá kokpit přehledný a sdělný.)

Zkušenost nelže. To jen lidské podvědomí rádo podléhá logickým klamům, jako že „potom je proto“ nebo svodu obrácené implikace. Lidé zkrátka vidí, že u složitých zařízení sedí opravdoví odborníci, a dedukují si z toho dva chybné závěry – totiž že odborník může sedět jen u složitého zařízení, a pak že každý, kdo sedí u složitého zařízení, je odborník. Racionálně víme, že to není pravda, ale podvědomí nepracuje vždy racionálně. A i kdyby naše podvědomí racionální bylo, tak nebude racionální u našeho okolí. (Co jste to za odborníka, když to vaše zařízení má jen jedno tlačítko a jeden ukazatel? Vždyť to by uměl každej!)

Pamatujte: Lidé se při rozhodování chovají na první pohled iracionálně. Ale iracionalita jejich chování je předvídatelná – pokud k tomu máte patřičné ekonomické, psychologické, sociologické atd. soft skills, chtělo by se škodolibě dodat.

Ať to aspoň vypadá…

Běžní zákazníci si nakonec koupí dražší výrobek, protože kdyby si koupili lacinější, byť dostačující, bude je okolí považovat za „socku“. Navíc je napadne zákonitě úvaha: „Proč to je tak levné? Museli to ošidit!“ Koupí si ten, který bude módní, protože jim připadá moderní. Koupí si ten, který vypadá složitě, protože si budou moci připadat jako odborníci, nebo tak budou připadat svému okolí. I když to nikdy nepřiznají – racionalizací si zdůvodní, že to vlastně potřebují.

Rada, která je na pohled přesným opakem té z minulého týdne, tedy zní: Dělejte věci, co vypadají „odůvodněně složitě“. Komplikovaná UI s mnoha nastaveními a spoustou funkcí. Na trhu budou vypadat „profesionálně“, a ty, jejichž autoři zjednodušovali, budou vedle těch vašich vypadat jako neschopné dětské hračky. Vaše věci tak budou svým majitelům dávat nezanedbatelnou přidanou hodnotu, totiž „pocit, že jsou odborníci, když pracují s takovým složitým verkem“.

Dělejte věci přiměřeně drahé. Levné zboží působí podezřele, navíc cena zboží pro majitele zvyšuje jeho hodnotu. Dražší zboží vnímají lidé často jako luxusní, což je pro některé opět nezanedbatelná hodnota. Vlastnictví věcí, vnímaných jako luxusní, totiž zvyšuje sociální (sebe)hodnocení. (Jsou jedinci, co se považují za „lepší lidi“, protože vlastní nejlevnější výrobek „luxusní značky“, nebo si pořídili nejlevnější dovolenou v „luxusní destinaci“.)

Další informace na toto téma najdete ve výborném blogu Pricing Idiota, který na první pohled vypadá, že je věnovaný tvorbě cen – ve skutečnosti se zabývá lidským chováním a ilustruje ho na cenotvorbě… Velmi zajímavé čtení, které souvisí s vývojařinou víc, než by se na první pohled zdálo.

Jak to tedy, u všech všudy…?

I programátorský potěr ví, že boolovská proměnná nemůže být zároveň truefalse. Jak tedy může autor tvrdit, že by věci měly být rozumně jednoduché, a zároveň nabádat k vytváření drahých a složitých? V zásadě si to můžete vyložit dvěma způsoby:

  1. Autor neví co plácá, ale plácá, jen aby udělal dojem, a dělá přitom mindtwisty s kopnutím do vlastních zad. Nejcennější jsou tu odkazy na Pricing Idiota a Dona Normana.

  2. Autor nedává doslovný návod, jen naznačuje a provokuje k zamýšlení i mimo obor, třeba těmi odkazy na Pricing Idiota a Dona Normana

Záleží jen na vás, který způsob je pro vás přijatelnější a který má pro vás větší hodnotu.

Hledání jednoznačného pravidla

Co si tedy z těchto dvou protichůdných článků odnést? Navíc když vůbec nebyly na první pohled o programování. Dvě protikladné glosy, dva protikladné závěry, co tedy máme použít? Použijte hlavu! Svět je složitý, nejednoznačný, nepředvídatelný a neexistují v něm jediné objektivní pravdy. Žádné pravidlo ani rada není univerzální, a pochopit jeho obsah znamená mít jen půlku sdělení. Druhá půlka spočívá v jeho správné aplikaci v pravý čas na správném místě správným způsobem.

Ale to už z žádné knihy nevyčtete, v debuggeru nenajdete a IDE vám v tom nenapoví. Musíte se spolehnout na svou zkušenost a rozhled.

PS pro čtenáře, co i přes to všechno hledají nějaké jasně formulované pravidlo, kterého by se měli držet: Všechno by mělo být uděláno tak jednoduše, jak jen to jde. Ne však jednodušeji. – Albert Einstein

Začal programovat v roce 1984 s programovatelnou kalkulačkou. Pokračoval k BASICu, assembleru Z80, Forthu, Pascalu, Céčku, dalším assemblerům, před časem v PHP a teď by rád neprogramoval a radši se věnoval starým počítačům.

Věděli jste, že nám můžete zasílat zprávičky? (Jen pro přihlášené.)

Komentáře: 27

Přehled komentářů

Michal Líbí
blizzboz Re: Líbí
em důležité je, aby to bylo barevné
Naith Re: důležité je, aby to bylo barevné
backup Re: důležité je, aby to bylo barevné
Petr Staníček Hlavní je cílovka
caracho Re: Hlavní je cílovka
backup Re: Hlavní je cílovka
em co reknete na toto
Weeze Re: co reknete na toto
Oldis Re: co reknete na toto
em Re: co reknete na toto
uf Proč jsem si vybral IDE ?
iki Re: Proč jsem si vybral IDE ?
Oldis Re: Proč jsem si vybral IDE ?
mikiqex Co je drahé, to je dobré
František Kučera Re: Co je drahé, to je dobré
František Kučera Re: Co je drahé, to je dobré
mikiqex Re: Co je drahé, to je dobré
iki volba mezi 'má smysl' a 'generuje zisk'
sarki Nice MM
Petr Super čtení
Weeze Keyser Söze
TFG Re: Keyser Söze
Pavel Dvořák Stanovování ceny produktu
Jakub Vrána phpMyAdmin a Adminer
Metod Jo, to bejvaly časy
Zdroj: https://www.zdrojak.cz/?p=3363