Neviditelný pes

ANALÝZA: Bounded Context, Strangler Pattern

10.7.2019

Technologická inspirace pro reformu státní správy

Bounded Context (česky: ohraničený či vymezený kontext), Strangler Pattern (zatím bez českého ekvivalentu, ale znamená to něco ve smyslu: požírač) a přidám ještě třetí, Big Ball of Mud (Velká hrouda bahna) jsou termíny z domény softwarového inženýrství; a i v této relativně mladé disciplíně se objevily teprve nedávno.

Všechny tři spolu souvisí. Chronologicky první vznikne Big Ball of Mud – její vznik je zdánlivě podmíněn nedostatkem prostředků a času, avšak ve skutečnosti je to především nedostatkem zkušeností, protože v konečném důsledku stojí mnohem více a její vytvoření trvá mnohem déle. Evoluce velké hroudy je zhruba tato: máme systém či systémy, které máme relativně pod kontrolou, avšak které nedělají úplně přesně to, co potřebujeme. A tak se, např. v rámci nějakého projektu, chybějící funkcionalita doplní, přičemž hlavními výběrovými kritérii je to, co se dá změřit, tj. náklady a časový harmonogram. Při zadávání se zpravidla na něco zapomene, takže se během implementace tlak na náklady a harmonogram ještě zvýší. V konečném důsledku to odnese ten faktor, který na první pohled změřit nejde – kvalita. Tj. výsledek toho sice umí o něco více, ale už je o něco méně pod kontrolou. Pokud se tento postup zopakuje dostatečněkrát, vznikne velká hrouda, mezi jejíž základní vlastnosti patří, že čas od času neočekávaně vypoví službu, přičemž poskytované služby, i tehdy, kdy funguje, jsou pomalé a jakákoliv snaha o přidání či ubrání funkcionality vede často k tomu, že přestanou fungovat i ty části, kterých by se změna zdánlivě neměla vůbec týkat. Empiricky je střední doba vytvoření velké hroudy tímto způsobem pět let.

Strangler Pattern je architektonický vzor, podle kterého je možné postupně přebírat („požírat“) funkcionality dodávané velkou hroudou, a to zejména v situaci, kdy se jedná o unikátní vlastnosti, které není možné najít v dostupných „balíkových“ řešeních, tj. není možné velkou hroudu nahradit najednou. Vícenáklady na tento typ řešení zahrnují jednak „fasádu“, kterou je třeba vložit mezi konzumenta a velkou hroudu a která bude rozhodovat o tom, zda bude požadavek pokračovat k velké hroudě, anebo už k novým komponentům; dále pak až zdvojené nároky na infrastrukturu, která musí „uvézt“ jak velkou hroudu, tak nové komponenty.

Bounded Context je pak další architektonický vzor pro tvorbu nových komponentů, jehož hlavním úkolem je hlavně zabránit vzniku nové velké hroudy, tj. aby při výpadku jednoho komponentu nebyly zasaženy žádné další. Rozpad hroudy na kontexty s sebou však také nese potřebu vzájemné interakce mezi nimi. Aby nedošlo k nahrazení složitosti jedné nepřehledné hroudy složitostí mnoha nepřehledných volání, je třeba zvolit vhodný způsob vzájemného volání (např. broker vs. mediator) a také správně určit velikost kontextů – příliš velké mohou stvořit nové hroudy, příliš malé zesložití interakce. Kritériem pro ohraničení kontextu je jazyk – má-li stejný termín jiný význam, pak už se nutně jedná o nový kontext. Nalezení optimální velikosti však není triviální problém a někdy se k němu musí doiterovat na několikátý pokus.

Tolik exkurze do domény softwarového inženýrství. Mnohý čtenář si právem může klást otázku, jak může výše uvedené souviset se státní správou, potažmo její reformou. Jiný čtenář ale možná bude souhlasit s názorem, že se státní správa podobá obří hroudě bahna, která na svůj vznik měla ne pět, ale několik desítek či možná dokonce stovek let, a že bude díky tomu její reforma, pokud ji zrovna nebude provádět diktátor či absolutní monarcha, ještě o to složitější.

Pozn. na okraj: Proč by vůbec měla existovat potřeba reformovat státní správu? Protože nám dříve nebo později nic jiného nezbude, a to zejména díky neutuchajícímu nárůstu počtu státních úředníků (viz např. tento článek). Je škoda, že probíhají-li demonstrace na odstoupení, není právě toto jeden z hlavních důvodů, resp. požadavků na změnu, protože udělá-li vláda během bohatých let dluh a závazky do budoucna, je to mnohem závažnější důvod k rezignaci, než cokoli jiného. Možná se v budoucnu bude na současnou vládu vzpomínat jako na vládu promrhaných příležitostí.

George Orwell tvrdil, že na světě vždy byly jen tři druhy lidí: ti nahoře, ti uprostřed a ti dole a že jejich cíle jsou neslučitelné. V knize 1984 se jednalo o členy Vnitřní strany, Vnější strany a proléty. Dodnes mi v hlavě utkvěl citát: ptáci zpívají, proléti zpívají, strana nezpívá. V dnešní době se zdá, že realitě spíše odpovídá, že jsou ty skupiny čtyři: ti, kteří stanovují pravidla (ti nahoře), ti, kteří tato pravidla pomáhají udržovat (státní byrokracie), ti, kteří jsou státem podporováni (ať už zaslouženě, nebo proto, že jim to stát umožní), a nakonec ti, kteří to platí (daňoví poplatníci). Problémem je, že tento seznam není tzv. MECE (z angl. mutually exclusive collectively exhaustive, tj. vzájemně se vylučující, dohromady kompletní), protože ti, kdo patří do státní byrokracie, zároveň mohou patřit mezi daňové poplatníky nebo naopak mezi ty, kteří se na systému přiživují; stejně tak není zcela zřetelná hranice mezi třetí a čtvrtou skupinou, protože nikdo není čistý plátce či příjemce.

Ona ale ve skutečnosti, a i to je jeden z možných důvodů růstu počtu státních úředníků, není ostrá hranice ani mezi první a druhou skupinou – nezřídka se stává, že cílem vstupu do politiky je motivace k získání nějakého „teplého místečka“ ve státní správě a často také vysloužilí politici míří „za zásluhy“ na tato místa. Tam sice nemohou úplně otočit směr kormidla, ale v rámci svých pravomocí mohou „zaškodit“, a to mnohdy do té míry, že pozdrží či zcela pozastaví realizaci změn.

V každé organizaci, která je financována na principu rozpočtu (toto platí i pro korporace), platí, že se význam manažerské pozice často měří velikostí přiděleného rozpočtu. Jiným, v podstatě obdobným principem je pak počet podřízených. Už C. Northcote Parkinson ve své slavné knize z roku 1957 odhalil základní principy, které roztáčí smrtící spirálu růstu.

Jednou ze základních pravomocí každého manažera je vybrat si svůj tým. Ve státních organizacích je to trochu problém, protože část personálu patří spíše k „úřadu“ než k jeho současnému vedení – viz legendární postava sira Humphreyho ze serálu Yes Minister. I tak ale do jisté míry stále platí přísloví „koho chléb jíš, toho píseň zpívej“.

A tím se kruh uzavírá – podaří-li se nějaké straně udržet se dostatečně dlouho u moci, mohou státní úředníci, zejména pokud se úřady úspěšně rozrůstají, představovat nejstabilnější voličskou základnu, která jazýček v polarizované společnosti překlopí nakonec na správnou stranu. Pokud navíc strana ovládá politický marketing a ve vhodný čas osloví ty, kdo se na tom přiživují (avšak stále mají volební hlas), se správnými tématy, může se stát její pozice značně neotřesitelnou, protože pokud neudělá nějakou chybu a nepřestane být salonfähig pro vrstvu úředníků, resp. nedojdou peníze na chléb a hry pro chudé, neexistuje (prakticky) legální způsob, jak ji odstavit od moci. Kdo by se o to chtěl pokusit, musí buď tuto hru hrát ještě lépe (např. mít více peněz a/nebo lepší marketing), nebo přijít s nějakým nápadem, který poskytne dočasnou, avšak dostatečnou kompetitivní výhodu (např. Gerrymandering).

Na základě předchozího textu si dovolím vyslovit domněnku, že hlavní překážkou pro jakoukoliv reformu je to, že si ji většina nepřeje – ti nahoře si sami rybník nevypustí (i kdyby došlo ke změně, ti noví nahoře jen převezmou otěže řízení), úředníci chtějí svůj klid a voliče stačí zpacifikovat těsně před volbami. Jediný, kdo by si snad změnu i přál, daňový poplatník, nemá na politické scéně odpovídající zastoupení ani dostatečný počet pro přehlasování ostatních skupin.

A přesto ke změně dojde. Bude to tehdy, až se současný model sám od sebe ekonomicky zhroutí, což je primárně otázkou demografického vývoje. Poznávacím znamením bude masívní přechod, či spíše propad daňových poplatníků do skupiny na státu závislých a vzhledem k tomu, že stát (díky enormní míře přerozdělování) převzal roli péče o ty, kteří se už nemohou nebo nechtějí o sebe postarat sami, dá se očekávat, že největší dopady budou právě na tuto skupinu.

A až k tomu dojde, budou se možná hodit postupy, jež jsou paralelami pro řešení týchž problémů v doméně softwarového inženýrství. Podobně jako u jiné velké hroudy by mělo dojít na dělení na mnohem menší vymezené kontexty. Např. ministerstvo financí má v agendě kromě jiného tyto body: daně a cla, veřejné rozpočty, majetek státu, mezinárodní vztahy a finanční trhy. Dá se očekávat, že cílové kontexty budou nakonec mnohem menší – kromě vymezení daného problematikou (jazykem) by bylo vhodné přihlédnout i k tomu, zda se jedná o kontext „úřednický“, jehož zajištění bude nutné bez ohledu na politickou reprezentaci, či o kontext „politický“, jehož účelem by naopak mělo být dosažení nějaké změny, ideálně, k jejíž realizaci dostala politická reprezentace mandát ve volbách.

Příkladem může být státní rozpočet, výsostně politické téma. Háček je v tom, že výdajová stránka rozpočtu obsahuje tzv. mandatorní výdaje (představující dle různých zdrojů i více než 70 % z celku). A tak by se z mandatorních výdajů jejich vydělením z celkové agendy státního rozpočtu mohla stát „úřednická“ agenda, o kterou by se mohl starat vedoucí oddělení odpovědný přímo parlamentu, či spíše nějakému jím volenému orgánu, jako je dnes RRTV, nikoliv podřízený politickému ministrovi, protože zajištění chodu této agendy není (nemělo by být) na politické reprezentaci nijak závislé. Tento vedoucí by se vybíral v běžném výběrovém řízení, nezávislém na volbách, v rámci kterého by se mohl vybrat i ten kandidát, který by na základě svých znalostí přišel s návrhem zefektivnění chodu oddělení, ke kterému by dostal (časově vymezený) mandát, který buď naplní, nebo ne. Kritériem výběru by však vždy byla odbornost, popř. kvalita předkládaného konceptu změn v chodu agendy a byla by vyžadována nestrannost, jako je tomu např. u předsedy britské Dolní komory.

Kromě zefektivnění chodu uvnitř agend se samozřejmě dříve nebo později objeví i otázka, zda je daná agenda potřeba, zda je potřeba v takové míře, popř. zda by nebylo lepší si stejnou službu nakoupit místo provozovat ji vlastními silami. Dojde-li situace daleko, může se dokonce stát, že se naopak bude uvažovat, které z agend si z dostupných prostředků bude moci stát dovolit.

Pokud by se podařilo dosáhnout toho, že budou jednotlivé agendy skutečně nezávislé jedna na druhé, činnost jedné každé z nich bude definovat separátní zákon, bude možné také mimo jiné dosáhnout toho, aby úředníci, kteří se o agendu starají, nemuseli sedět vedle svých kolegů (starajících se o jiné nezávislé agendy) v historické budově v centru Prahy, ale klidně mohou být umístěni v Králíkách, Mostě nebo Šitbořicích.

Aby to celé mohlo fungovat, podobně jako v IT, je však kromě samotných vymezených kontextů jednotlivých agend také potřeba zajistit jejich vzájemnou interakci. Koncepčně už je vzájemné propojení systémů veřejné správy (CMS-KIVS) vyřešené od roku 2006, přesto dodnes v mnoha situacích obíhá občan, nikoliv dokument. Jedním z důvodů může být i to, že obíhání elektronických dat přes jednotnou platformu může mimo jiné poskytovat i náhled na to, ke kolika úkonům byl daný orgán vyzván a jak dlouho mu trvala odpověď, zatímco obíhá-li občan, žádná takováto analýza možná není.

Tak jako se při každém porcování velké hromady bahna v IT objeví problémy, které je třeba překonat a které nebylo možné předvídat na začátku, totéž, v mnohem větší míře, se dá očekávat, i pokud by se podobný přístup použil při reformě státní správy. Bude-li snahou dosáhnout cílového stavu, podobně jako to vyžaduje technika Improvement Kata vytvořená lidmi z koncernu Toyota, může to fungovat. Zatím však, obávám se, není dost špatně, aby měly tyto pokusy šanci přemoci rezistenci současného režimu.



zpět na článek