Każdy startup ma dług techniczny i przeważnie była to słuszna decyzja. Pytanie nie brzmi, jak go wyeliminować — tylko które części naliczają odsetki, na które już cię nie stać.
Opóźnienia
Ryzyko operacyjne
Rejestr długu
Dług techniczny ma złą sławę, na którą nie do końca zasługuje. Pójście na skróty, żeby szybciej zwalidować pomysł, zwykle jest słuszne — alternatywą jest staranne budowanie w stronę czegoś, czego nikt nie chciał. Porażką nie jest zaciągnięcie długu; porażką jest nigdy nie sprawdzić oprocentowania.
Cztery rodzaje, a liczą się tylko dwa
| Rodzaj | Przykład | Werdykt |
|---|---|---|
| Świadomy i krótkotrwały | Zahardkodowana logika do testu popytu, potem usunięta | Słusznie — tak działa to narzędzie |
| Świadomy i trwały | Skrót zrobiony z premedytacją, nigdy nie poprawiony | Groźne — odsetki rosną po cichu |
| Przypadkowy | Nikt wtedy nie znał lepszego sposobu | Normalne — naprawić, gdy zacznie kosztować |
| Kosmetyczny | Nazewnictwo, formatowanie, preferencje strukturalne | Zignorować całkowicie |
Jak poznać, że zrobiło się go za dużo
Nie ma progu absolutnego; dług ma sens tylko względem tego, co próbujesz zrobić. Ale te sygnały niezawodnie wskazują, że odsetki stały się nie do udźwignięcia:
- Szacunki dla podobnych rozmiarowo funkcji stale rosną — najczystszy sygnał ilościowy
- Zespół rutynowo mówi «tego nie da się przy obecnym układzie» o zwyczajnych prośbach
- Błędy raz po raz kumulują się w tych samych modułach
- Wdrożenie nowego inżyniera trwa miesiące zamiast tygodni
- Ludzie unikają dotykania pewnych plików i wszyscy wiedzą których
- Wdrożenia są łączone w paczki i planowane, bo są ryzykowne
Co spłacać i kiedy
Dług warto spłacać, gdy blokuje coś konkretnego, a nie z zasady. Trzy reguły, które działają:
- Spłacaj dług leżący na drodze przed tobą. Jeśli najbliższe dwa kwartały prowadzą przez jakiś moduł, wysprzątaj go, zanim tam zbudujesz. Dług w kodzie, którego nie ruszysz, nic nie kosztuje.
- Dług dotykający pieniędzy, danych albo autoryzacji spłacaj natychmiast, niezależnie od roadmapy — awarie tam są nieodwracalne, a nie tylko irytujące.
- Refaktoryzuj oportunistycznie. Poprawiaj to, co i tak zmieniasz, zamiast planować osobne projekty porządkowe, które pod presją są ścinane jako pierwsze.
Budżet, który działa
Żaden uniwersalny procent utrzymania nie stabilizuje automatycznie długu. Planuj zasoby według ryzyk i roadmapy, następnie je weryfikuj. Przepisanie systemu jest opcją do oceny, nie obowiązkowym wynikiem audytu.
Celem nie jest zerowy dług techniczny. Celem jest dług, który wybrałeś, o którym wiesz i który mógłbyś spłacić, gdyby roadmapa tego wymagała.
Co mówić inwestorom
Założyciele często próbują ukryć dług podczas due diligence. To się mści: badanie i tak go znajduje, a odkrycie kosztuje w negocjacjach więcej, niż kosztowałoby ujawnienie. Silniejszą pozycją jest spisany rejestr — jaki dług istnieje, co blokuje, ile kosztuje naprawa. Zespół, który potrafi to wyartykułować, czyta się jako kompetentny; zespół twierdzący, że ma czysty kod, czyta się jako naiwny albo wymijający.
Priorytetyzuj dług techniczny na podstawie dowodów
Przegląd kodu bada implementację, architektury — granice i działanie. Zacznij od decyzji biznesowej: czy system obsłuży kolejny release lub nowych klientów? Oceń skutek, obserwowaną częstotliwość i wysiłek. Aktywne problemy bezpieczeństwa lub integralności danych traktuj oddzielnie jako pilne.
| Podejmij mierzalną decyzję | Ustal dowody przed rozpoczęciem |
|---|---|
| Opóźnienia | Powiąż zmianę z modułami, kolejką review i brakami testów. Porównaj podobne zmiany przed poprawą i po niej. |
| Ryzyko operacyjne | Sprawdź incydenty, ślady i wyniki odtwarzania. Brak dostępu oznacza brak weryfikacji, nie zaliczenie. |
| Rejestr długu | Zapisz dowody, dotkniętą ścieżkę, właściciela, zakres pracochłonności i test potwierdzający poprawkę. |
Żaden uniwersalny procent utrzymania nie stabilizuje automatycznie długu. Planuj zasoby według ryzyk i roadmapy, następnie je weryfikuj. Przepisanie systemu jest opcją do oceny, nie obowiązkowym wynikiem audytu.
Najczęstsze pytania
Ile długu technicznego jest normalne w startupie?
Sporo, i zwykle jest to słuszne — szybkość na wczesnym etapie jest warta więcej niż wczesny szlif. Problemem nie jest ilość, tylko to, czy dług jest znany, świadomy i ograniczony do obszarów, które nie blokują roadmapy ani nie dotykają pieniędzy i danych.
Jaki procent czasu inżynierskiego powinien iść na dług techniczny?
Żaden uniwersalny procent utrzymania nie stabilizuje automatycznie długu. Planuj zasoby według ryzyk i roadmapy, następnie je weryfikuj. Przepisanie systemu jest opcją do oceny, nie obowiązkowym wynikiem audytu.
Czy powinniśmy wstrzymać funkcje, żeby naprawić dług techniczny?
Prawie nigdy. Dedykowane projekty porządkowe trudno uzasadnić, trudno skończyć i pierwsze lecą pod nóż. Wyjątkiem jest dług, który aktywnie traci pieniądze albo dane — ten zatrzymuje wszystko do czasu naprawy.
Nie wiesz, który dług naprawdę ma znaczenie?
Triażujemy go względem twojej roadmapy — co cię blokuje, co kosztuje pieniądze, co zostawić w spokoju.
Warto doczytać
Jak naprawić zepsute MVP (bez pisania od nowa)
Niemal każdy założyciel z zepsutym MVP pyta, czy je przepisać. Niemal zawsze odpowiedź brzmi nie — a powodem jest arytmetyka, nie sentyment.
Audyt architektury systemu: kiedy jest potrzebny i co znajduje
Audyt architektury to nie opinia o twoim stacku. To mapa miejsc, w których system pęka pod planem, który faktycznie masz.