Prawdziwy Koszt Długu Technicznego
Każda linijka kodu idąca na skróty to pożyczka zaciągnięta na przyszłość. Oto jak policzyć jej oprocentowanie.
Interesariusze często myślą o kodzie jak o aktywach, jak o budynku. Gdy jest zbudowany, jest gotowy. Ale kod jest bardziej jak ogród. Jeśli przestaniesz go plewić, chwasty przejmą kontrolę i w końcu nie znajdziesz nawet warzyw.
Analogia Finansowa
Ward Cunningham ukuł metaforę „Długu Technicznego”, aby wyjaśnić refaktoryzację interesariuszom finansowym. To działa tak:
- Kapitał: Szybki i brudny kod, który dostarczyłeś, aby zdążyć na czas.
- Odsetki: Dodatkowy czas, który spędzasz na pracy z tym kodem za każdym razem, gdy dodajesz nową funkcję.
Jeśli nie spłacisz kapitału (refaktoryzacja), w końcu spędzisz 100% czasu na spłacaniu odsetek (naprawianie błędów spowodowanych złym kodem) i będziesz mieć zerową zdolność do nowych funkcji (bankructwo).
Koszt Opóźnienia (Procent Składany)
Słupek: Idealna Prędkość | Linia: Rzeczywistość z Długiem
Niebezpieczeństwo Procentu Składanego
Dług techniczny narasta. Gdy masz jeden hakerski moduł, piszesz hakerskie obejście w innym module, aby z nim rozmawiać. Teraz masz dwa obejścia. Potem dołącza nowy programista, widzi te obejścia i myśli „tak tu pracujemy”.
W ciągu roku twoja „prędkość” spada z 10 funkcji/miesiąc do 1 funkcji/miesiąc.
Błąd myślowy „To działa”
Tylko dlatego, że kod „działa” (przechodzi QA), nie oznacza, że ma wartość. Jeśli jest nieutrzymywalny, ma wartość ujemną.
Nasza Strategia Spłaty
W BADA Solutions stosujemy ścisłą zasadę 80/20 z naszymi klientami korporacyjnymi:
- 80% Nowych Funkcji: Dostarczanie wartości biznesowej.
- 20% Refaktoryzacji: Spłacanie długu w obszarach, których dotykamy.
To jest „Zasada Skauta”: Zostaw obozowisko czystsze niż je zastałeś. Jeśli dotykamy modułu, aby dodać przycisk, zmieniamy też mylące nazwy zmiennych i dodajemy brakujący test jednostkowy.
