Co znamená Technický dluh?

Technický dluh je metafora, která popisuje dlouhodobé následky vědomého či nevědomého rozhodnutí upřednostnit rychlost dodání na úkor kvality kódu. Stejně jako finanční dluh, i ten technický si bere "půjčku" v přítomnosti (rychlejší vývoj, ušetřený čas), kterou ale bude nutné v budoucnu "splatit" i s úroky (časem navíc stráveným opravami, údržbou a složitým přidáváním nových funkcí).

Tento dluh vzniká z různých důvodů: tlak na termíny, nedostatek zkušeností, měnící se požadavky v průběhu projektu nebo prostě jen nedostatečné testování. Není to nutně vždy špatná věc. Někdy je to strategické rozhodnutí –⁠ například když startup potřebuje co nejrychleji ověřit svůj produkt na trhu a je ochoten akceptovat, že kód bude muset později přepsat. Problém nastává, když se dluh hromadí nekontrolovaně.

"Úroky" z technického dluhu se projevují plíživě. Vývoj se postupně zpomaluje, protože každá nová funkce vyžaduje složité obcházení starých problémů. V kódu se objevuje stále více chyb, jejichž oprava je náročnější. Frustrace v týmu roste a klesá morálka. Správa technického dluhu je proto klíčová disciplína –⁠ je nutné ho evidovat, pravidelně "splácet" (tzv. refaktoringem) a vědomě rozhodovat, kdy je akceptovatelný a kdy už představuje neúnosné riziko pro budoucnost celého projektu.