Teknik Borç Nedir?
İngilizce: Technical Debt
Yayın: · Son güncelleme:
Teknik Borç Nedir? Kısaca
Teknik borç (technical debt), yazılımda hız kazanmak için seçilen kolay ya da geçici çözümlerin, ileride kodu değiştirmeyi zorlaştırarak ek iş ve maliyet doğurmasıdır. Tıpkı finansal borç gibi faizi vardır ve ödenmezse büyür.

Teknik borç nedir?
Teknik borç, bugün kestirme bir yol seçtiğinizde gelecekteki kendinize yazdığınız bir senettir. Bir özelliği yetiştirmek için kodu aceleyle yazar, testleri atlar ya da kopyala yapıştır yaparsınız. İş biter ama kod kırılgan kalır.
Benzetme bilinçlidir. Finansal borç gibi teknik borcun da faizi vardır: o kodla her çalıştığınızda ekstra zaman harcarsınız.
Borç büyüdüğünde ne görülür?
Bazı işaretler borcun büyüdüğünü gösterir. Küçük bir değişiklik beklenmedik yerleri bozuyorsa, yeni ekip üyeleri kodu haftalarca anlayamıyorsa ve "o dosyaya dokunmayalım" sözü sık duyuluyorsa borç yüksektir.
Bir senaryo düşünelim. Bir girişim ilk müşterisine yetişmek için fatura modülünü üç günde yazar, test eklemez ve aynı hesaplamayı beş ekrana kopyalar.
Altı ay sonra vergi kuralında küçük bir değişiklik gerekir. Beş yerin her birini bulup düzeltmek, test etmek ve gözden kaçan birinin müşteriye yanlış fatura kesmesini yönetmek günler alır. Baştan bir gün fazla harcansaydı bu iş birkaç saatte biterdi.
Geri ödeme planı nasıl kurulur?
Her teknik borç kötü değildir. Bir fikri hızla denemek için bilinçli olarak alınan borç mantıklı olabilir. Sorun, borcun unutulmasıdır.
Borcu görünür kılın: bilinen sorunları iş listesine yazın. Her sprintte zamanın bir kısmını refactoring ve test eklemeye ayırın. En çok değişen ve en çok sorun çıkaran modüllerden başlayın, çünkü faizin en yüksek olduğu yer orasıdır. Yöneticilere de durumu iş diliyle anlatın: "bu modüldeki borç yüzünden her yeni özellik iki kat sürüyor" cümlesi, teknik bir açıklamadan daha ikna edicidir.
Sıkça Sorulan Sorular
Teknik borç her zaman kötü müdür?
Hayır. Bir pazarı test etmek ya da kritik bir tarihe yetişmek için bilinçli alınan borç mantıklı olabilir. Önemli olan borcun kayıt altına alınması ve geri ödeme planının yapılmasıdır.
Teknik borç nasıl ölçülür?
Kesin bir ölçüsü yoktur. Kod analiz araçlarının raporları, hata sıklığı, değişikliklerin ne kadar sürdüğü ve geliştiricilerin geri bildirimleri birlikte değerlendirilerek fikir edinilir.