Dług techniczny
Z długiem technicznym mamy do czynienia, gdy jako zespół deweloperski, decydujemy się świadomie poświęcić jakość kodu w celu przyśpieszenia dewelopmentu. Kluczowe jest to wspomniane "świadome", a to dlatego, że jest to decyzja strategiczna. Dlatego też nie powinniśmy rozważać go w kontekście: dobry, czy zły. Jest to wyłącznie narzędzie, o konkretnym zastosowaniu i to od nas zależy, jak z niego skorzystamy, biorąc pod uwagę wszystkie jego plusy i minusy. Jak już przy minusach jesteśmy, to należy tu zaznaczyć, że odłożona na później poprawa jakości kodu, będzie wymagała dodatkowych nakładów pracy.
Podsumowując, możemy powiedzieć, że dług techniczny sam w sobie nie jest problemem. Problemem jest ignorowanie go, czy zaprzeczanie jego istnienia. W takim przypadku doprowadzamy do sytuacji, gdy przy każdej nowej funkcjonalności staramy się dostosować do poprzednio podjętych decyzji. Tym samym dług narasta, co w konsekwencji może doprowadzić, do całkowitego paraliżu systemu.
Dług finansowy jako analogia długu technicznego:
- dług finansowy — mieszkanie możemy mieć wcześniej niż uzbieramy na nie środki
- dług techniczny — działającą funkcjonalność możemy mieć wcześniej niż tę samą funkcjonalność w idealnym stanie
- w obu przypadkach płacimy odsetki, a tym samym cena całkowita jest wyższa niż cena samego produktu
- brak spłaty w obu przypadkach skutkuje utratą kontroli
Dług techniczny w praktyce
Z naszych doświadczeń wynika, że każdy projekt posiada dług techniczny, a różna jest wyłącznie jego wielkość i to jaki ma wpływ na utrzymanie i dalszy rozwój oprogramowania. Taka "poważność" długu, wynika głównie z dwóch czynników: świadomości jego istnienia oraz rozważności jego zaciągnięcia.
W wersji ilustrowanej wyglądałoby to tak:

Oba czynniki mają tym samym wpływ na spłacanie długu. Tak oto najłatwiej przyjdzie nam spłacić miejsca w systemie, które degradowały świadomie i rozważnie. W takich miejscach zespół deweloperski nie potrzebuje pomocy i wie jak sytuację naprawić.
Najciężej natomiast jest spłacać gdy nie jesteśmy świadomi istnienia długu, gdy nie jest tak oczywisty. Najczęściej mamy z tym do czynienia, gdy model nie odwzorowuje świata biznesu, lub robi to w bardzo naiwny sposób. W takich przypadkach sama refaktoryzacja mechaniczna, niestety nie pomoże. Potrzebujemy wtedy zrobić krok w tył do fazy modelowania. Objawem, że jesteśmy na dobrej drodze, może stać się pojawianie myśli typu: "Jak to? Możemy to zrobić inaczej?".
Podsumowanie
Warto zapamiętać:
dług techniczny niekoniecznie jest zły
jest zły, gdy nie jest spłacany
dług można stopniować dwoma cechami: jego poważnością i świadomością zaciągnięcia
Materiały: