Přeskočit obsah

Vyplatí se to?

Tahle stránka je jiná než ostatní. Všechny předchozí popisují, jak by to fungovalo. Tahle odpovídá na otázku, jestli to má smysl stavět — a odpověď není příjemná.

Tvrdý verdikt

Pro malý tým nebo jednotlivce, který dělá několik různorodých webů ročně, se vlastní platforma v téhle podobě ekonomicky zpravidla nevyplatí.

Pokud každý klient dostane originální návrh, originální datový model a jiné integrace, postavili jste si dražší způsob zakázkového vývoje.

Nechávám to tu první a nezměkčené, protože přesně kvůli tomuhle jsem se ptal. Zbytek stránky vysvětluje, za jakých podmínek to neplatí.


Čísla

položka rozsah
první produkčně použitelná verze 1 500–4 000 h
zpevnění po prvních projektech 500–1 500 h
údržba ročně 300–800 h
práce navíc na prvním projektu +30 až +70 %
práce navíc na pozdějším projektu 40–150 h
úspora na dobře opakovaném projektu −15 až −35 %

Při sazbě 1 200–1 600 Kč/h je to 2,5 až 8 milionů korun, než je to zralé. Bez ceny vlastního času a bez obchodního rizika.

Prototyp je samozřejmě mnohem levnější. Ale:

Prototyp nezahrnuje roky kompatibility, podporu redaktorů a řešení neúspěšných publikací.


Kdy to smysl dává

Ne „když uděláš dost webů". Musí platit všechno tohle najednou:

  • 8–15 podobných realizací během tří až pěti let
  • 60–70 % komponent a 50–70 % datového modelu se přenese beze změny základního principu
  • projekty žijí aspoň čtyři roky
  • po spuštění se pravidelně mění obsah, jazyky, kampaně, integrace
  • jeden projekt má dnes 800–1 500 hodin práce
  • chyby při publikaci mají měřitelnou cenu
  • někdo platformu vlastní jako produkt — ne „udržuje, když zbude čas"

Ta poslední odrážka není administrativní detail. Je to nejčastější způsob, jak se to rozpadne.

Kdy to smysl nedává

  • dva až čtyři vzájemně odlišné weby ročně
  • běžný projekt má 200–600 hodin
  • klienti kupují hlavně originální vizuál a jednorázové spuštění
  • po spuštění se web skoro nemění
  • každý projekt má jiné externí systémy
  • platformu chceš financovat ze zakázek, ale klienti za její vývoj platit nechtějí

Velikost projektu rozhoduje víc, než jsem čekal

Tady jsem se spletl. Myslel jsem si, že rozhoduje životnost a četnost změn, a že velikost je vedlejší. Není:

Na web za 300–700 hodin je taková platforma obvykle ekonomický nesmysl. Režie pravidel pohltí úspory.

Zpětně je to zjevné. Režie na definici pravidel je skoro fixní — u malého projektu je poměrově vražedná, u velkého se rozpustí.

Konkrétně

vhodné jednoznačně špatné
produktový web výrobce, tisíce položek, 5–30 jazyků firemní prezentace o 10–30 stránkách
deset a víc značek nebo zemí se sdílenou strukturou jednorázová kampaň nebo microsite
portál s provázaným obsahem a dlouhou životností portfolio nebo web postavený na unikátním vizuálu
e-shop, kde obsah vzniká z ERP, PIM, redakce a AI zároveň malý e-shop s desítkami produktů a jedním správcem
franšíza nebo pobočková síť s desítkami webů web, který se po spuštění mění párkrát ročně
web, který má fungovat šest až deset let rozpočet v řádu stovek tisíc

Co se stane u druhého, pátého a desátého projektu

projekt stejná rodina různorodé projekty
druhý 30–50 % 15–40 %
pátý 50–70 % 15–40 %
desátý 60–80 % 15–40 %

Všimni si pravého sloupce: u různorodých projektů se přenositelnost nezlepšuje s pořadím vůbec. Pořád 15–40 %, ať je to druhý nebo dvacátý.

Druhý projekt nebývá levnější

Často odhalí, že řešení z prvního projektu bylo jen zobecněnou podobou prvního klienta.

Část práce se vrací zpátky do platformy. Kdo čeká úsporu už u druhé zakázky, bude zklamaný a nejspíš to vzdá dřív, než se to vrátí.

A test, jestli to selhalo:

Pokud desátý projekt stále vyžaduje víc než 40 % nových komponent nebo zásahy do základních pravidel, produktizace selhala. Ve skutečnosti dál provozujete zakázkovou agenturu, jen s vysokou interní režií.


Jak se změní práce

Postup dnes a potom

DNES                          POTOM
grafik navrhne v Figmě        vybere se podporovaný typ projektu
vývojář udělá HTML/SCSS       popsat entity, vazby, vlastníky hodnot  ← nové
napojí to na DB přes SQL      grafik vybere tokeny a povolené varianty ← nové
naplní se obsah               namapovat potřeby na hotové komponenty  ← nové
hotovo                        doplnit jen to, co v katalogu chybí
                              nakonfigurovat zdroje dat a publikaci
                              naplnit nebo naimportovat obsah
                              systém ověří celý release               ← nové
                              publikuje se konkrétní verze            ← změna
                              další změny = nový release              ← nové

Zmizí: kreslení každé stránky jako originálu, šablona pro každou konkrétní stránku, datové zkratky podle okamžité potřeby, improvizované opravy publikovaného webu — a představa, že „naplní se obsah a je hotovo".

Přibude hlavně analýza před vývojem. U malých webů tahle analýza stojí víc, než kolik později ušetří.

Kdo to odnese nejvíc

Čekal jsem, že grafik. Je to backendista:

Přestává být hlavně člověkem, který „napojí databázi". Musí převádět obchodní realitu do dlouhodobě platných modelů, vlastnictví dat, publikačních pravidel a kompatibility.

Backendista zvyklý rychle dodat konkrétní funkci může mít s tímhle modelem větší problém než grafik.

Rozdíl, který jsem sléval dohromady: největší profesní změna je u backendisty. Největší kulturní odpor přijde od grafika a klienta — pokud jsou zvyklí považovat každou výjimku za projev kreativity.

role co se mění
grafik místo obrazovek navrhuje prostor povolených variant a hraniční stavy. Kdo dělá jedinečné kompozice, bude to vnímat jako omezení
frontendista z výrobce šablon se stává správce katalogu. Rychlá lokální úprava přestává být správným řešením
backendista nejvíc analýzy, komunikace a produktového rozhodování
redaktor míň volnosti, víc bezpečí. Profesionální redakci to pomůže, majiteli malého webu to bude vadit

A jedna věta, kterou stojí za to brát vážně:

Jestli malý tým nemá rád procesní disciplínu, platforma se časem rozpadne na drahou sbírku výjimek.


Jak to prodat klientovi

Platformu mu neprodávejte. Klient nekupuje architekturu.

Prodává se funkční první verze za dva týdny, předvídatelná cena dalších jazyků a webů, bezpečné publikování, rychlost následných kampaní a nižší závislost na konkrétním vývojáři.

Jenže první verze za dva týdny jde dodat jen tehdy, když už katalog pro jeho typ webu existuje. Když ne, jsou tři poctivé možnosti:

  1. klient zaplatí analýzu a pilot, ne hotový web
  2. investici zaplatíš sám a nabídneš standardizovaný produkt
  3. zakázku uděláš jednodušším postupem

Tvrdit klientovi, že současně vybudujete platformu a za dva týdny dodáte plnohodnotný individuální web, znamená buď dotovat projekt, nebo lhát o rozsahu.


Největší riziko

Není technické.

Největší riziko není vývojová složitost. Je to nedostatečné opakování.

Agentura si obvykle namlouvá, že projekty jsou si podobné, protože všechny mají články, produkty a bannery. Ekonomicky ale rozhoduje, zda lze znovu použít hotovou část bez změny jejích pravidel.

Jakmile se „znovupoužitelná" komponenta pro každého klienta upravuje, úspora mizí a roste cena podpory všech variant.


Tři věci, které v té odpovědi neobstály

Odhad hodin je nejspíš pro chudší platformu

1 500–4 000 hodin je odhad pro „vlastní platformu" obecně. Tahle má za sebou dvanáct kol návrhu a je nad průměrem: generace a atomická validace cache, neměnné revize s manifesty, autorita pole se čtyřmi reprezentacemi, mandáty agentů, migrace živých kořenů.

A účet Z říká, že jen invalidace potřebuje testovací aparát velikostí srovnatelný se samotným mechanismem.

Buď je odhad nízký, nebo počítá s výrazně jednodušší implementací. Obojí posouvá bilanci k horšímu.

Rozhodující číslo se dá zjistit levněji, než odpověď říká

Za největší neznámou označuje procento skutečně opakovatelné práce a dodává, že bez dat z pěti až deseti minulých projektů je návratnost jen hypotéza.

Ale existuje levná cesta: projít zpětně už hotové projekty a spočítat, kolik z toho, co se dělalo znovu, bylo strukturálně totéž. To je jediná věc, která jde udělat před rozhodnutím a která ho zásadně zpřesní.

Ústupová varianta není menší verze téhož

Závěr nabízí: použít existující systém a investovat jen do omezeného katalogu komponent.

Jenže celá tahle dokumentace stojí na vlastnostech, které existují jenom když platforma vlastní celý řetězec. Invalidace podle závislostí potřebuje kontrakty komponent. Release potřebuje připnutý renderer. Autorita nad polem potřebuje zápisovou cestu.

Katalog komponent nad cizím CMS nedá ani jednu z nich. Je to jiná věc, ne skromnější verze téže věci — a tohle v odpovědi nezaznělo.


Doplněk: co na to říká praxe

Po první verzi téhle stránky přišly dvě zkušenosti z terénu, které tu analýzu posunuly. Proběhlo k nim další kolo a jeho závěr je konkrétnější než ten předchozí.

Dvouletý cyklus

Firmy, které mají peníze, berou web jako spotřební zboží: po dvou letech kompletní redesign — a u jiné agentury. Přitom to bývá strukturálně přesně ten typ klienta, pro který má být platforma vhodná: výrobce, rozsáhlý katalog, hodně jazyků.

Ptal jsem se technicky: přežije to platforma, když je design systém verzovaný artefakt? To byla špatná otázka. Odpověď je jinde:

Nová agentura má přirozenou motivaci zavést svůj stack. Platforma redesign přežije jen tehdy, když patří do provozní architektury klienta, ne do dodávky webu.

A test na konkrétní firmu je jedna věta: používá strukturovaný katalog a překlady ještě někde jinde než na aktuálním webu? Pokud ne, dvouletý cyklus ji vylučuje. Pokud ano, neprodává se to jako webová platforma, ale jako produktová a publikační infrastruktura firmy.

E-shop není totéž co e-shopová platforma

Dlouhověký e-commerce podnik ano. Stavba vlastní e-shopové platformy ne.

Patnáct let starý e-shop dokazuje, že obchodní provoz je dlouhověký. Nedokazuje, že zákazník chce vlastní technickou platformu.

Aby vlastní platforma v tom segmentu vůbec soutěžila, musela by umět košík, checkout, platby a refundace, dopravy a výdejní místa, objednávky, storna a vratky, daně a fakturaci, B2B ceníky a schvalování, slevy a jejich kombinovatelnost, fulltext a merchandising, feedy, fraud a audit — šestnáct oblastí.

To není „obsahová platforma plus košík". Je to několikanásobně větší produkt s výrazně vyšším provozním rizikem.

Celá tahle dokumentace přitom popisuje jen tu obsahovou část. Odhad 1 500–4 000 hodin je odhad poloviny problému.

Nekupuje se to, co to umí

Formulace provozovatele e-shopu: „rozhoduje spousta jiných funkcí uvnitř než naše aktuálnost stavu dat." Odpověď to potvrdila bez okolků:

Konzistence dat se neprodává. Je to mechanismus, ne nákupní důvod.

Pokud klient nemá měřitelný problém s rychlostí změn, více kanály, regulací nebo drahými chybami, produkt nekoupí. A správně.

Prodat jde čas a cena chyb: nový trh za tři týdny místo čtyř měsíců · změna parametru bezpečně do dvanácti zemí a pěti kanálů · redesign nebude vyžadovat migraci katalogu · při chybě vrátíme celou změnovou sadu, ne jednotlivé stránky.

A balast? Nic ho nezastaví

Tohle je nejtvrdší odpověď z celé debaty. Zeptal jsem se, co zaručí, že se za deset let nenashromáždí znovu tolik výjimek, že systém zabijí:

Nic to nezaručí. Balast je převážně problém řízení změn a obchodních rozhodnutí, jen částečně technologie.

Pokud každý obchodně důležitý zákazník dostane svou výjimku a produktový vlastník nemůže říct ne, systém za deset let znovu shnije. Modulární architektura pouze zařídí, že bude hnít v přehlednějších adresářích.

Tím padá největší nevyslovený slib celého návrhu. Deklarované závislosti, typované vazby a capability zabrání technickému nepořádku. Nezabrání tomu, aby se výjimky nakupily — protože ty nevznikají z technických důvodů.

Obrana existuje, ale je provozní, ne technická: každá výjimka má vlastníka, důvod, cenu a datum revize; „dočasné" řešení má datum odstranění; klient platí i budoucí náklad výjimky; někdo má právo požadavek odmítnout.


Menší varianta, která přežije obojí

Verdikt kola 13:

Nestavět platformu — postavit řídicí vrstvu

Obecnou webovou ani e-shopovou platformu ne. Úzkou, přenositelnou vrstvu pro správu produktových a obsahových dat nad existujícím CMS, PIM a e-commerce enginem ano.

Osm součástí:

co to je
1 registr datových kontraktů — entity, pole, validace, jazyky, vztahy
2 matice vlastnictví hodnot — ERP, PIM, redakce, dodavatel, AI
3 změnové sady s náhledem, schválením a návratem
4 graf závislostí — co změna ovlivní, které weby, jazyky, kanály
5 validační brána před publikací
6 lokalizační workflow včetně zastaralých překladů
7 vyměnitelné adaptéry — model není svázaný s jedním frontendem
8 audit a provozní přehled

Pod tím běží existující systémy. Vlastní hodnota je v pravidlech mezi nimi, ne v jejich náhradě.

Ale je poctivé říct, co se tím ztratí

Není to menší verze téhle dokumentace. Je to jiná podmnožina.

rozhodnutí přežije?
autorita nad polem ✅ je to bod 2
revize, changesety, release ✅ bod 3
migrace živých kořenů
graf závislostí ⚠️ jako přehled dopadu, ne jako invalidace cache
invalidace podle deklarovaných závislostí ❌ potřebuje kontrakty komponent a render path
omezené dotazy s capability ❌ dotazuje se cizí systém
release připínající vizuál ❌ renderer není tvůj

Ze šesti architektonických rozhodnutí přežijí zhruba tři. Scénáře 1, 3 a 5 z téhle dokumentace ano. Scénáře 2 a 4 — noční import a redesign měnící loňskou stránku — ne.

Tři důkazy, bez kterých do toho nejít

Pokud chybí druhý bod, je to zakázkové řešení. Pokud chybí první, je to interní nástroj. Pokud chybí třetí, je to technologická záliba, ne produkt.

  1. konkrétní klient za tu vrstvu zaplatí
  2. dva další dostupní klienti mají tentýž problém — ne seznam firem, ale dvě tři, se kterými to jde ověřit
  3. přínos jde vyjádřit penězi nebo dobou uvedení změny na trh

Jak začít

Konkrétní e-shop jako placený design partner — ne zakázka, ne obecný produkt.

Do společného jádra dejte jen schopnosti, které dokážete pojmenovat bez názvu klienta. (…) Za produktovou schopnost považujte něco až po druhém nezávislém použití. (…) První klient musí zaplatit hodnotu, kterou dostane on. Neměl by financovat celý váš budoucí produkt skrytě v ceně zakázky.


Co si z toho odnést

Návrh je technicky v pořádku. Po dvanácti kolech v něm není žádná známá díra ve správnosti a u každého rozhodnutí je dohledatelné, co stálo.

Obchodně to ale není nástroj agentury a není to ani celá platforma. Je to řídicí vrstva nad systémy, které už existují — a ta je dost úzká, aby ji malý tým zvládl, a dost oddělená, aby přežila redesign i výměnu e-shopového enginu.

Takže než cokoli dalšího:

  1. Projít zpětně poslední projekty a zjistit, kolik z nich bylo opravdu strukturálně stejné. Bez toho čísla je všechno ostatní hádání.
  2. Ověřit ty tři důkazy — zvlášť druhý, protože bez něj je to zakázka, ne produkt.
  3. Teprve potom se ptát, co postavit — a nejspíš to bude těch osm součástí, ne tahle dokumentace celá.

A varianta, kterou je poctivé nechat na stole: nestavět nic. Přečíst si tohle jako dobře prozkoumaný návrh a použít z něj jednotlivé myšlenky tam, kde se hodí — autoritu nad polem, release místo publikování stránky, graf dopadu změny. Každá z nich dává smysl i samostatně a žádná nevyžaduje vlastní platformu.