Technický dluh brzdí vývoj ve chvíli, kdy každá nová funkce trvá déle než ta předchozí. Pro firmu to znamená roadmapu, která se posouvá, a vývojáře, kteří hasí místo toho, aby stavěli.
Změřit se dá bez drahého nástroje, z historie gitu a z chyb. Opravit je potřeba nejdřív dluh v kódu, který se mění nejčastěji, ne ten nejošklivější.
AI dnes píše všechen náš kód, za výsledek ručí senior. Filip předtím 7 let vyvíjel jeden SaaS produkt. Dluh v produktu, který žije roky, nevyřešíte jedním sprintem. Splácíte ho průběžně.
Jak poznáte, že vás brzdí technický dluh?
Dluh se neohlásí sám. Projeví se jako pomalost, kterou si každý vysvětlí jinak. Tlačítko, které mělo trvat den, trvá týden. Zaškrtněte, co o vašem týmu platí. Každý nezaškrtnutý bod je jeden signál dluhu.
Jak změřit technický dluh bez drahého nástroje?
Nepotřebujete platformu na analýzu kódu. Potřebujete odpověď na otázku, kde vás změny stojí nejvíc.
Co měřit
Kde to najdete
Co vám to řekne
Jak často se soubor mění
historie gitu
kde dluh bolí nejvíc
Kde vznikají chyby
tracker, hotfixy, incidenty
které části jsou křehké
Testy v často měněném kódu
report z CI
kde je každá změna riziko
Kdo modulu rozumí
git blame, review
kde máte jediného člověka
Čas od sloučení po nasazení
CI a záznamy nasazení
jestli vás brzdí kód, nebo proces
Odhad proti realitě
sprinty, tracker
kolik platíte za dluh u každého úkolu
Nejsilnější signál je kombinace prvních dvou řádků. Soubor, který se mění často a zároveň z něj chodí chyby, je dluh s úrokem. Seznam nejčastěji měněných souborů vám dá jeden příkaz:
Ke každému souboru z výsledku si poznamenejte chyby, které se ho týkaly. Prvních pár řádků je váš seznam.
Co opravit jako první?
Ne to, co je nejošklivější. To, co vás stojí nejvíc času právě teď. Pořadí, které používáme:
01
Dluh v cestě roadmapy
Splacení se projeví hned u nejbližší funkce a obhájíte ho před vedením.
02
Často měněný kód s chybami
Platíte za něj u každého úkolu.
03
Testy a CI, které umí selhat
Bez nich je každé další splácení riskantní.
04
Znalost jednoho člověka
Pokud odejde, dluh se změní ve výpadek.
Na konec patří estetika a přechod na novější framework „protože je novější“. Kód, na který měsíce nikdo nesáhne, může být ošklivý. Nestojí vás nic. Pokud se nepoužívá vůbec, nesplácíme ho, ale smažeme. Tak to děláme i ve vlastních repozitářích: nepoužitý kód a nástroje, které nikdo nevolá, jdou pryč.
Pokud je dluh v jedné části tak velký, že zvažujete přepsání, začněte stejně. Nejdřív testy na současné chování, teprve potom rozhodnutí. Jak nastavit testy a review, které špatnou změnu opravdu zastaví, rozepisujeme v článku Jak zavést AI do vývoje softwaru v týmu.
Jak dluh splácet bez zastavení roadmapy?
Ve stejném toku jako funkce. Ne v „refaktoringovém sprintu“, který se pořád posouvá, protože přišla urgentní funkce.
Pevný podíl kapacity. Domluvte ho s produktem předem a nesahejte na něj při první urgenci.
Splácejte tam, kde pracujete. Když děláte funkci v zadluženém modulu, uklidte ho ve stejném pull requestu.
Nejdřív test, potom změna. Test na současné chování zachytí, co byste jinak rozbili.
Žádný nový dluh bez záznamu. Pokud zkratku děláte vědomě, zapište ji jako úkol s důvodem.
Takhle to vypadá na jedné funkci z roadmapy:
AI tady mění ekonomiku. Testy na existující kód, přesuny a přejmenování byly drahé, proto se odkládaly. S AI jsou levné. Bez pravidel a review ale AI dluh stejně rychle přidává. Co jí proto dáváme do repozitáře, popisujeme v článku Pravidla pro AI kód v týmu.
První kroky na tento měsíc:
Vytáhněte z gitu seznam nejčastěji měněných souborů.
Ke každému si poznamenejte chyby za poslední měsíce.
Vyberte tři místa, která blokují nejbližší funkci z roadmapy.
Domluvte s produktem pevný podíl kapacity na dluh.
Ověřte, že CI umí zastavit špatné sloučení.
Kdy to nedoporučujeme
Dluh vás nebrzdí, jen se vám nelíbí. Pokud se ten kód nemění, nechte ho být. Kapacitu dejte do roadmapy.
Produkt se za pár měsíců vypíná nebo nahrazuje. Splácet dluh v kódu, který končí, se nevyplatí.
Chcete dluh splácet s někým, kdo to dělá denně?
Senior se zapojí do vašeho repozitáře a pull requestů od prvního dne. Splácí dluh v cestě roadmapy, vedle funkcí, ne místo nich. Takhle pracujeme jako externí vývojář pro produktový tým.
Napište nám, která část systému vás brzdí nejvíc. Ozveme se do dvou pracovních dnů a společně vybereme, co vyřešíme jako první.
Nejjednodušeji z historie gitu a z chyb. Soubory, které se mění nejčastěji a zároveň v nich vznikají chyby, jsou dluh, který vás opravdu stojí čas. K tomu sledujte, jak se prodlužují odhady u malých změn.
Co opravit jako první?
Dluh v kódu, který potřebujete pro nejbližší funkci z roadmapy. Potom často měněný kód s chybami. Kód, na který nikdo nesahá, nechte být, i když je ošklivý.
Jak vysvětlit technický dluh vedení?
Přes čas a riziko, ne přes kvalitu kódu. Ukažte, o kolik déle trvají změny v konkrétní části a kolik chyb z ní přichází. Nejlépe na funkci z roadmapy, na kterou vedení čeká.
Zvyšuje AI technický dluh?
Bez pravidel a review ano, protože píše rychle a bez kontextu. S pravidly v repozitáři, testy a review od někoho jiného ho pomáhá splácet. Testy a přesuny kódu jsou s AI levné.
Zeptejte se AI na tento článek
AI při odpovědi využije i naše další články a zkušenosti z reálných projektů.
Claude Code pricing podle veřejného ceníku Anthropicu (říjen 2026): Pro, Max, Team seaty, Enterprise a API tokeny. Co se hodí vývojářům, na čem běží agent na pozadí a CI reviewer, a pojistky, které agentovi nedovolí projet rozpočet.
Vercel jsme nenahradili, práci jsme rozdělili. Next.js weby zůstávají na Vercelu, nové aplikace běží na Cloudflare Workers a D1, popsané v TypeScriptu přes Alchemy. Ceny se zdroji, naše konfigurace a zablokovaný deploy od AI agenta.
Better Auth vs Clerk se rozhoduje podle toho, kde žijí vaši uživatelé a session. Z NextAuth jsme v nových aplikacích přešli na Better Auth a Clerk jsme si nevybrali. Naše reálná konfigurace, pluginy v produkci, ceník Clerku a kdy je Clerk lepší volba.