Peter Hrnčiar
Napíšte mi
PH/Články17. 3. 20264 min čítania

Kedy je systém už príliš komplikovaný

Mám prirodzenú tendenciu systematizovať veci. Keď vidím opakujúci sa problém, chcem ho pomenovať, zaradiť, vytvoriť pravidlo a prepojiť s ostatnými časťami.

architektúrasystémykomplexita
Peter Hrnčiar, systémový architektPH

Je to užitočná vlastnosť. A zároveň jedna z najväčších pascí mojej práce.

Obsah

Pretože každý systém sa môže dostať do bodu, keď už nerieši komplexitu sveta. Začne ju vyrábať.

Každé pravidlo má cenu

Nové pravidlo môže odstrániť chybu. Ale vytvára aj nový náklad. Niekto ho musí:

Pochopiť.Zapamätať si.Aplikovať.Kontrolovať.Aktualizovať.Vedieť, kedy neplatí.

Ak pravidlo ušetrí viac problémov, než vytvorí režijných nákladov, je užitočné. Ak nie, systém sa iba nafukuje.

To znie jednoducho. V praxi je však veľmi ľahké túto hranicu prehliadnuť.

Komplexita vzniká po malých častiach

Takmer nikdy nepridáte vrstvu bez dôvodu. Každá nová vec rieši konkrétny problém. Práve preto sa systém komplikuje tak nenápadne.

LOKÁLNE RACIONÁLNE+4
STAVjeden nový stav kvôli výnimkeKONTROLAjedna nová kontrola kvôli chybeROLAjedna nová rola, pretože stará mala príliš široký rozsahTABUĽKAjedna nová tabuľka kvôli lepšej transparentnosti

Každé rozhodnutie je lokálne racionálne. Výsledný systém však môže byť globálne absurdný.

To je presne rovnaký problém ako pri marketingu alebo webovej architektúre. Kvalitné jednotlivosti ešte nevytvárajú kvalitný celok.

Niekedy treba odstrániť, nie pridať

Keď systém nefunguje, prvá reakcia býva často pridať mechanizmus, ktorý problém kontroluje. Ja sa dnes čoraz častejšie snažím pýtať aj opačne:

REDUKCIA5 OTÁZOK
Q-01Dá sa niečo odstrániť?
Q-02Môžeme zrušiť rozdiel medzi dvomi stavmi?
Q-03Potrebujeme tento artefakt?
Q-04Dá sa pravidlo nahradiť jednoduchším defaultom?
Q-05Vieme túto zodpovednosť dať jednému vlastníkovi namiesto ďalšieho handoffu?

Veľa architektonických zlepšení vzniká skôr redukciou než pridaním.

Dobrá komplexita a zlá komplexita

Nie všetka komplexita je zlá. Niektoré problémy sú objektívne zložité. Zdravotníctvo, právo, veľké organizácie, multi-tenant softvér alebo strategická práca sa nedajú vždy zredukovať na tri kroky.

Snaha o absolútnu jednoduchosť môže realitu deformovať rovnako ako prehnaná systémovosť. Pre mňa je rozdiel približne takýto:

DOBRÁZACHOVAŤReprezentuje skutočný rozdiel, ktorý potrebujeme zachovať.
ZLÁODSTRÁNIŤVzniká z našej implementácie, histórie alebo potreby kontrolovať všetko.

Cieľom preto nie je mať jednoduchý systém. Cieľom je nemať zložitejší systém, než si problém vyžaduje.

AI môže komplexitu skryť aj znásobiť

AI nám umožňuje pracovať s oveľa komplexnejšími systémami. Model môže prečítať množstvo kontextu, vybrať relevantné pravidlá a vykonať postup, ktorý by bol pre človeka nepraktický. To je obrovská výhoda.

Zároveň však môže spôsobiť, že prestaneme cítiť náklady architektúry.

Ak model zvládne 200 pravidiel, ešte neznamená, že ich potrebujeme.

Komplexita má náklady aj v:

ÚdržbaDebugovanieKonfliktyTestovanieVysvetliteľnosťBudúce zmeny

AI tieto náklady neodstraňuje. Niekedy ich len presunie.

Jednoduchosť nie je estetický cieľ

Nemám ambíciu robiť všetko minimalistické. Niekedy potrebujeme zložitý systém. Ale každá jeho časť by mala vedieť obhájiť svoju existenciu.

To je pravidlo, ktoré si dnes často pripomínam aj pri FUTUR MAX:

OTÁZKAPrináša táto vrstva viac hodnoty než komplexity?
ÁNONech zostane.
NIEMožno nepotrebujeme lepšiu dokumentáciu. Možno ju potrebujeme odstrániť.

O autorovi

Peter Hrnčiar, systémový architekt
O autoroviAuthor / PHPeter HrnčiarTvorca FUTUR MAX · systémový architekt · stratégia a branding

Profesijne pôsobí od roku 2004 a vo svojej práci prepája značku, marketing, odborné poznanie, systémové myslenie, ľudský úsudok a AI.

Hlavný projekt / FUTUR MAX ↗
Kam ďalej

Podobné myšlienky

Všetky články →