SAT FUSIONPRAXE SOFTWAROVÉ ARCHITEKTURY

Ambiciózní software pro ambiciózní firmy. ne. ničí systém není „ambiciózní“. je starý a sahat na něj je drahé.

SAT Fusion — praxe softwarové architektury, Česko

Najímají si mě, abych systémy zmenšoval.

Volají mi, když systém už existuje a už bolí: vydání se stala pomalými a drahými, do jádra se nikomu nechce sahat a ti, kdo ho stavěli, ho už nedokážou vysvětlit jako celek. Přečtu ho, najdu tu část, která opravdu nese byznys, zbytek odříznu, tuhle kritickou cestu navrhnu znovu a výsledek dostanu do produkce. Ne do prezentace.

Jeden architekt.
Od prvního rozhovoru
do produkce.

Izometrický řez konstrukcí: tři oddělené úrovně se sloupy, ztužením a kótami

S čím mě volají

Čtyři druhy práce

Opravit

kvůli tomuhle volají nejčastěji

Architektonické čtení systému, který už běží, a potom přestavba, zatímco běží dál. Architektura, živý systém, vývoj vlastníma rukama a integrace kolem — čtyři věci, které většina firem prodává zvlášť. Tady je to jedna práce a oceňuje se jako záchrana, což také je.

Ukázat případ

Postavit

Nový systém, který se od prvního týdne staví pro produkci, ne návrh o něm. Začíná rozhovorem o byznysu a končí tím, že běží pod skutečnou zátěží, v architektuře, kterou příští najatý člověk přečte.

Jak to jde

Propojit

Tam, kde se systém potkává s vnějším světem: hardware, platební infrastruktura, státní platformy pro výkaznictví, toky od dodavatelů. Chybný předpoklad na tomhle švu obvykle není bug. Je to incident s regulátorem, u kterého stojí vaše jméno.

Kde to bylo

Vést

Technická odpovědnost bez náboru. Ne zlomek člověka na zlomek času, ale plný přístup k jednomu — zavolají kvůli rozhodnutí, které je příliš velké na to, aby ho člověk dělal sám, a pustí, jakmile padne.

Probrat to

Dva případy, dvě měřítka času

Zákazníci se jmenují na vyžádání, ne na stránce
Maloobchod · prodejní automaty

Demo padalo celé týdny. Za čtrnáct dní stál první automat na ulici.

Maloobchod přes prodejní automaty pod státními pravidly sledovatelnosti drahých kovů: každá transakce musí být prokazatelná, ne jen zapsaná. Systému bylo osm měsíců, stavělo ho osm lidí a přepsat ho nešlo.

Nebolela kvalita práce: nikdo neuměl provést produkt od prvního kroku k poslednímu a říct, že je hotový. Síly šly do toho, co bude potřeba za rok, a první vydání se podceňovalo.

Jedna otázka na všechno: co nám brání jít zítra do produkce? Nejdřív jsme si zapsali, co systém už umí — nelze bezpečně odstranit to, co nikdo nezapsal. Pak šlo asi 80 % napsaného pryč a zbytek se dostavěl. To, co bylo jedním nedělitelným kusem, se rozpadlo na třináct částí, se kterými lze pracovat po jedné.

Nástup 17. června, první testovací běh 30. června, od 1. července běžel první automat a zboží k němu vozil živý kurýr dodavatele. To je doba do spuštění, ne doba práce: hlavní objem padl za následující dva měsíce, kdy už na tom systému běžel byznys.

  • 8 měsíců v běhu při nástupu
  • tým osmi lidí
  • ~80 % kódu pryč
  • 13 samostatných částí
  • 14 dní k prvnímu automatu v produkci
Podrobnosti v rozhovoru
Bankovnictví · regulatorní výkaznictví a interní systémy

Pět lidí neudrží v hlavě padesát různých světů.

Tým asi pěti lidí odpovídá zhruba za padesát aplikací, osm až deset rozdělaných najednou. Počítat se přitom neměly aplikace, ale přepínání mezi nimi: každý systém měl vlastní zvyky, vlastní způsob, jak se staví a vydává, vlastní tvar.

Ta pestrost vypadala jako technický problém a byla lidská. Podstatná část parku aplikací vznikla v letech 2005–2010 a každý systém dodnes nese zvyky roku, ve kterém se narodil. Ale nebolelo tohle. Bolelo, že každý vstup do cizího systému stál den na rozpomínání — a pět lidí přestává stíhat dávno předtím, než dojde padesát aplikací.

Standardizuje se bolest, ne technologie: jeden způsob, jak systém postavit, jeden, jak ho vydat, jeden, jak ho nastavit. Co nebolelo dost, zůstalo být — část parku aplikací spolu dodnes mluví po staru a nechat to je levnější než srovnávat do řady.

Podle čeho je vidět, že bolest zmizela: když prostředí změnilo své nároky, samotné aplikace se skoro nepohnuly. Změnila se jedna tenká vrstva — a změnila se stejně u všech, kterých se to týkalo. První změnu udělal nejdražší člověk v týmu, ostatní zopakovali ti nejlevnější. Práce, která by dřív znamenala přestavět padesát aplikací, stála skoro nic. Zbytek plyne odtamtud: víc než 60 % parku aplikací přepsáno, přestěhováno nebo postaveno nově, a s incidenty je klid.

Podrobnosti v rozhovoru

Tři tahy, v tomhle pořadí

Jak práce probíhá
  1. 01

    Číst

    Zapsat, co systém dělá dnes — dřív, než kdokoli začne mít názory na to, jak by měl. Nelze bezpečně odstranit to, co nikdo nezapsal.

  2. 02

    Řezat

    Odstranit to, co nenese zátěž. Většina systémů táhne víc váhy, než byznys potřebuje; tohle je sochařství, ne přirůstání, a je to většina práce.

  3. 03

    Přestavět

    Navrhnout kritickou cestu znovu a postavit ji, dokud systém zůstává živý. Výsledkem je vydání do produkce, ne prezentace o něm.

Dvacet let cizích těžkých míst

Co už prošlo rukama
20+ letv komerčním vývoji
od 2 měsíců do 4 letdélku určuje zákazník: sám rozhodne, kdy si vlastnictví systému vezme zpátky. Pak zůstávám na dosah telefonu.

Níže osm oborů a výčet není úplný. V pěti jsem ručil za výsledek celý; ve třech za architekturu nebo za kód uvnitř cizího řešení.

„Technický vlastník“ je ten, kdo mluví s byznysem jazykem byznysu a s vývojáři a kódem jazykem IT.

Bankovnictví

Regulatorní výkaznictví pro amerického regulátora, antifraud, směrování finančních dokumentů, firemní portál.

Technický vlastník
Pojišťovnictví

Systémy pro mezinárodní skupinu.

Vývoj
Ropa a plyn

Elektronický oběh dokladů pro účtárnu.

Technický vlastník
Zelené hypotéky

Státní program dotující sazbu pro energeticky úsporné bydlení: jedna ze vstupních cest a osm a víc systémů, které je za ní potřeba držet pohromadě.

Vývoj
Maloobchod

Rozmístění regálů a planogramy, analytika pro kategorové manažery.

Technický vlastník
Prodejní automaty

Maloobchod pod státními pravidly sledovatelnosti drahých kovů.

Technický vlastník
Laboratoře

Jeden laboratorní informační systém a jeho integrace s přístroji přes ZigBee.

Architektura a vývoj
Mobilní hry

Vlastní projekty, mimo práci pro klienty.

Technický vlastník
Portrétfotka ještě není
Bez předání, bez záskoku

Všechno nese jeden člověk

Kdo čte váš systém, je tentýž, kdo píše opravu, a tentýž, kdo ji potom vysvětluje vašemu týmu. Nic se nepředává dál tomu, kdo měl zrovna tenhle týden volno.

Že to nese jeden člověk neznamená, že na něm všechno visí. Zkouška je jednoduchá: když odejde dobrý inženýr, systém běží dál. Když odejde špatný, spadne hned.

Není to butiková manýra. Právě proto architektura z případu výše i měsíce po předání pořád sedí s kódem.

Pavel Tsiber

Začněte tady

Řekněte mi, co bolí — a co to stojí.

Na první rozhovor stačí dvě věci: co bolí a jedno číslo, které se dá změřit — hodiny, peníze, podíl výpadků, nedodržená SLA. Podle něj bude oběma později vidět, jestli bolí míň. Ne tiket a ne zadání.

[email protected]

Složitost je běžná.
Jasnost ne.
Pojďme to spravit.