DefinicjaDług techniczny to nagromadzone w oprogramowaniu skróty, przestarzałe rozwiązania i zaległości, które sprawiają, że każda kolejna zmiana trwa dłużej i częściej coś psuje. Tak jak dług finansowy, pozwala szybciej osiągnąć cel, ale nalicza „odsetki” w postaci dodatkowej pracy, dopóki nie zostanie spłacony. Metaforę wprowadził Ward Cunningham.
Skąd bierze się dług techniczny?
- Świadome skróty. „Zrobimy na szybko, bo za tydzień targi”. To rozsądne, o ile ktoś zapisze, co trzeba potem poprawić.
- Brak testów i przeglądu. Kod działa, ale nikt nie wie, co się zepsuje przy zmianie.
- Starzenie się. Biblioteki, wtyczki i systemy, których nikt nie aktualizował od lat.
- Zmiana wymagań. Produkt urósł w kierunku, którego pierwotny projekt nie przewidywał.
Po czym poznać dług w swojej stronie albo aplikacji?
- Drobna zmiana, np. nowe pole w formularzu, jest wyceniana na dni zamiast godzin.
- Po każdej poprawce psuje się coś w innym miejscu.
- Wykonawca boi się aktualizować system albo wtyczki, „bo wszystko się rozsypie”.
- Tylko jedna osoba wie, jak to działa, i nie ma dokumentacji.
Czy dług techniczny zawsze jest zły?
Nie. Przy sprawdzaniu pomysłu albo pierwszej wersji produktu skrót bywa dobrą decyzją biznesową: szybciej dowiesz się, czy ktoś tego chce. Problemem jest dług, o którym nikt nie wie i którego nikt nie planuje spłacić.
Dotyczy to też kodu pisanego z AI. Powstaje szybko, więc szybko może przybywać i dobrego kodu, i długu. O tym, w którą stronę pójdzie projekt, decydują te same rzeczy co zawsze: przegląd zmian, testy i ktoś, kto pilnuje architektury. AI dobrze sprawdza się również przy spłacie: porządkowaniu starego kodu, dopisywaniu testów i aktualizacjach.
Jak spłacać dług?
- Spisz go. Lista znanych skrótów i zaległości, z oceną, co najbardziej spowalnia pracę.
- Zabezpiecz testami. Zanim zaczniesz porządki, upewnij się, że widać, gdy coś się zepsuje. O rodzajach testów piszę w artykule Testy oprogramowania.
- Spłacaj przy okazji. Stała część czasu na porządki w miejscach, które i tak są zmieniane, zwykle działa lepiej niż wielkie przepisywanie od zera.
Przed przejęciem istniejącego projektu warto zlecić krótki przegląd kodu. Pokaże, ile długu jest w środku i czy taniej go spłacać, czy zacząć od nowa.
Najczęstsze pytania
Czy stara strona na WordPressie ma dług techniczny?
Często tak: nieaktualizowane wtyczki, motyw bez wsparcia, poprawki wklejane bezpośrednio w pliki. Objawia się to wolnym działaniem, błędami po aktualizacjach i lukami bezpieczeństwa.
Czy da się całkiem uniknąć długu technicznego?
Nie, i nie warto próbować. Każdy żywy produkt go ma. Chodzi o to, żeby był znany, opisany i regularnie zmniejszany, zamiast rosnąć po cichu.
Zobacz też
Źródła